URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 86840
[ Назад ]

Исходное сообщение
"оптимизация линуха под файлохранилище"

Отправлено daevy , 08-Окт-09 12:46 
всем привет! собираюсь развернуть файлопомойку на linux+samba, подскажите может есть какие-то способы оптимизировать линух именно под задачу файлообмена? клиентов около 500, храниться будут в основном мелкие файлы. В частности есть несколько вопросов:
1) какую фс использовать, какие параметры можно или нужно использовать при форматировании, чтобы достичь хорошей производительности?
2) вопрос оптимизации ядра, может есть какие то функции в ядре, которые надо включать отдельно?
3) подстройки sysctl. вероятно есть варианты по изменению различных буферов?
4) может еще есть какие-то варианты оптимизации ОС и самой самбы?
5) есть ли какие-то утилиты для тестирования шар на самбе? типа там последовательное/произвольное чтение/запись в каталоги.

P.S. критика "почему linux?" приветствуется)) (желательно с ссылками на бенчмарки)

Заранее благодарю всех кто сможет откликнуться.


Содержание

Сообщения в этом обсуждении
"оптимизация линуха под файлохранилище"
Отправлено Pahanivo , 08-Окт-09 13:30 
>[оверквотинг удален]
>2) вопрос оптимизации ядра, может есть какие то функции в ядре, которые
>надо включать отдельно?
>3) подстройки sysctl. вероятно есть варианты по изменению различных буферов?
>4) может еще есть какие-то варианты оптимизации ОС и самой самбы?
>5) есть ли какие-то утилиты для тестирования шар на самбе? типа там
>последовательное/произвольное чтение/запись в каталоги.
>
>P.S. критика "почему linux?" приветствуется)) (желательно с ссылками на бенчмарки)
>
>Заранее благодарю всех кто сможет откликнуться.

гуглить по пунктам
тема изежженная


"оптимизация линуха под файлохранилище"
Отправлено DeDA , 08-Окт-09 17:11 
готовое решение FreeNAS, правда на FreeBSD.
http://ru.wikipedia.org/wiki/FreeNAS
http://www.freenas.org/

"оптимизация линуха под файлохранилище"
Отправлено daevy , 09-Окт-09 09:26 
>готовое решение FreeNAS, правда на FreeBSD.
>http://ru.wikipedia.org/wiki/FreeNAS
>http://www.freenas.org/

а как там дела обстоят с подключением дисковых полок? в частности от IBM


"оптимизация линуха под файлохранилище"
Отправлено sHaggY_caT , 10-Окт-09 10:37 
>готовое решение FreeNAS, правда на FreeBSD.
>http://ru.wikipedia.org/wiki/FreeNAS
>http://www.freenas.org/

Ынтерпрайзнуто (инсталлятор на анаконде и пр.) под Linux: http://www.openfiler.com/


"оптимизация линуха под файлохранилище"
Отправлено Elenium , 11-Окт-09 06:07 
>готовое решение FreeNAS, правда на FreeBSD.
>http://ru.wikipedia.org/wiki/FreeNAS
>http://www.freenas.org/

Помоему человек неспрашивал какой дистр взять. ОН СПРОСИЛ КАК ТЮНИТЬ ЛИНЬ! (крик в голос)


"оптимизация линуха под файлохранилище"
Отправлено Elenium , 11-Окт-09 06:15 
Я бы на твоем месте посмотрел бы на систему под реальной нагрузкой, ну а потом стал бы думать/смотреть графики из cacti кокого нибудь, по кешам всевозможным ну и в том же духе
Вообщем статистика рулит, причем статистика всего куда рука дотянется

"оптимизация линуха под файлохранилище"
Отправлено daevy , 12-Окт-09 08:34 
>Я бы на твоем месте посмотрел бы на систему под реальной нагрузкой,
>ну а потом стал бы думать/смотреть графики из cacti кокого нибудь,
>по кешам всевозможным ну и в том же духе
>Вообщем статистика рулит, причем статистика всего куда рука дотянется

судя по графикам реальная нагрузка там невелика (мониторится через zabbix) используется win2000 тормозов нет. но предвидится замена серва на связку серв+полка поэтому рассматриваю вариант с linux\unix.


"оптимизация линуха под файлохранилище"
Отправлено sHaggY_caT , 11-Окт-09 11:39 

>1) какую фс использовать, какие параметры можно или нужно использовать при форматировании,
>чтобы достичь хорошей производительности?

Если семейство ext[34], рекомендую статью:

* http://wiki.centos.org/HowTos/Disk_Optimization

Стоит иметь ввиду, что все это, особенно магипуляции кэшем на запись, опасны.

Так же, есть немного маргинальный вариант (боюсь, сейчас начнеться холивар, но я эту ФС видела в production всего один раз) с raiser3, который оптимизирован под маленькие файлы

>2) вопрос оптимизации ядра, может есть какие то функции в ядре, которые
>надо включать отдельно?

Кэширование, в зависимости от объема ОЗУ через sysctl. Я только однажды упиралась в дисковую подсистему на тяжелой системе (XFS, CentOS, сервер под бэкапы, ~24TB, сидел по i/o из-за большой фрагментации ФС, решилось встроенными в XFS средствами для онлайн-дефрагментации), ядерный тюнинг не требовался. Советую погуглить, в том числе по этому ресурсу.

>3) подстройки sysctl. вероятно есть варианты по изменению различных буферов?

См. выше. Я бы поигралась со свапом и дисковыми кэшами на чтение.

>4) может еще есть какие-то варианты оптимизации ОС и самой самбы?
>5) есть ли какие-то утилиты для тестирования шар на самбе? типа там
>последовательное/произвольное чтение/запись в каталоги.

Не использовала Samba на HighLoad системах, возможно, Вам подскажет кто-то еще. А так, обычно используется bonnie++ и iometr для тестов)

Советую Вам обратить большее внимание не на ядерные параметры, а на raid-массив (шпиндели, их количество, очень влияют и на надежность массива, и на его скорость, гораздо больше чем любой тюнинг фс или ядра)

Общие правила:

1. raid1 Самый дорогой(с точки зрения потери гигабайт) быстрый по скорости (очень быстрый на чтение, но медленный, медленнее одиночного диска, на запись), самый надежный (переживает вылет половины дисков из массива, обычно делают из двух дисков)

2. raid5 Самый дешевый, средний по скорости работы (быстрое чтение, тормозная запись), самый ненадежный (при вылете любого диска превращается в тормозной аналог raid0 и русскую рулетку, может развалиться в любой момент, даже во время ребилда массива)

3. raid6 средней дешевости (два диска массива используются для контроля четности, для очень больших массивов это незаметно, а большая надежность удобнее raid5), тормозной в основной жизни, и просто безумный тормоз при вылете одного (молчу о двух) дисках, но самый надежный из всех массивов

4. raid10 самый быстрый, довольно дорогой, более-менее надежный (иногда живет при вылете двух дисков)


"оптимизация линуха под файлохранилище"
Отправлено sHaggY_caT , 11-Окт-09 11:44 
А, да, и бэкапы must have. Если Вы думаете, что они не нужны, спросите у Ваших юзеров, что они сделают  с Вами, если массив таки развалиться :(

raid можно делать и софтовый(mdraid), но если больше 5-6 шпинделей, железный с батарейкой must have. НЕ используйте железный массив без батарейки (особенно с включенным  write-back cache), никогда не используйте хост-рейды, встроенные в дешевые материнки (вообще непонятное поделение, от винмодемов даже больше пользы было в свое время)


"оптимизация линуха под файлохранилище"
Отправлено daevy , 12-Окт-09 08:13 
спасибо, бекап есть, без него никак))

"оптимизация линуха под файлохранилище"
Отправлено daevy , 12-Окт-09 08:12 
>
>Если семейство ext[34], рекомендую статью:
>
>* http://wiki.centos.org/HowTos/Disk_Optimization

ext4 вобще можно уже использовать?

>Стоит иметь ввиду, что все это, особенно магипуляции кэшем на запись, опасны.

почему?

>Так же, есть немного маргинальный вариант (боюсь, сейчас начнеться холивар, но я
>эту ФС видела в production всего один раз) с raiser3, который
>оптимизирован под маленькие файлы

я как раз таки смотрел в сторону reiserfs.


"оптимизация линуха под файлохранилище"
Отправлено daevy , 12-Окт-09 08:17 
что еще думаете про lvm2 ? стоит или нет?
хочу использовать для динамического выделения разделов

"оптимизация линуха под файлохранилище"
Отправлено сабакка , 12-Окт-09 12:22 
>что еще думаете про lvm2 ? стоит или нет?
>хочу использовать для динамического выделения разделов

стоит.


"оптимизация линуха под файлохранилище"
Отправлено daevy , 12-Окт-09 12:05 
к слову о reiser3 и ext4. выводы bonnie++ и имхо reiser3 обыгрывает ext4. ext4 разве что  меньше грузит проц.

reiserfs default
Version 1.93c       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
fserver2         2G   250  99 58177  15 28837   6  1272  98 69050   7 207.6   6
Latency             34166us    1588ms    1994ms   49888us   44680us     614ms
Version 1.93c       ------Sequential Create------ --------Random Create--------
fserver2            -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 26460  63 +++++ +++ +++++ +++ 29010  72 +++++ +++ +++++ +++
Latency             14334us      80us     101us   22009us       7us      77us

ext4 default
Version 1.93c       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
fserver2         2G   402  98 42252   5 19799   3  1225  97 43650   3 205.4   5
Latency             19751us    1902ms    1070ms   71166us     139ms   14167ms
Version 1.93c       ------Sequential Create------ --------Random Create--------
fserver2            -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 27728  46 +++++ +++ +++++ +++ 27384  45 +++++ +++ 28888  33
Latency               291us     170us     185us     294us       7us      70us