Распределение временных файлов по дискам
ash2k -
ash2kk на gmail.com
Вт Май 4 15:48:44 MSD 2010
Здравствуйте!
Использую Nginx upload module для загрузки файлов и хотелось бы
записывать временные файлы не на один винт, а на несколько (без
рейдов). Как это можно сделать?
В голову пришла идея сделать "хешированную" директорию, как это
описано в директиве upload_store [1], и через nullfs (у меня FreeBSD)
примонтировать винты в эти директории, но выглядит это как костыль.
Вспомнил, что где-то уже видел описание "хешированных" директорий, и
нашел директивы proxy_temp_path [2] и fastcgi_temp_path [3]. Появилась
идея: было бы удобно если бы можно было описывать такие директории
блоками, схожими с upstream'ами:
store store1 {
/mnt/hd1 [ уровень1 [ уровень2 [ уровень3 ] ] ];
/mnt/hd2 [ уровень1 [ уровень2 [ уровень3 ] ] ];
}
Затем такие store-блоки можно было бы использовать в директивах
upload_store, proxy_temp_path, fastcgi_temp_path, ...
upload_store store1;
Как Вам идея?
[1]: http://www.grid.net.ru/nginx/upload.en.html#upload_store
[2]: http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_temp_path
[3]: http://sysoev.ru/nginx/docs/http/ngx_http_fastcgi_module.html#fastcgi_temp_path
Подробная информация о списке рассылки nginx-ru