Re: Распределение временных файлов по дискам

ash2k - ash2kk на gmail.com
Вт Май 4 17:09:05 MSD 2010


4 мая 2010 г. 17:54 пользователь Sergey Shepelev <temotor at gmail.com> написал:
> 2010/5/4 ash2k - <ash2kk at gmail.com>:
>> Здравствуйте!
>> Использую 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;
>>
>> Как Вам идея?
>
> ... или поднять софтварный рейд. Как вам такая идея?

У меня на всех этих винтах хранятся файлы для других задач (6-14
винтов). Так что страйп делать не вариант. Или есть какой-то способ, о
котором я не знаю? Может как-то через geom можно? Вот только geom это
уровень блочных устройств на сколько я знаю, а мне бы хотелось поверх
существующих файловых систем.

>>
>> [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