всем привет! собираюсь развернуть файлопомойку на linux+samba, подскажите может есть какие-то способы оптимизировать линух именно под задачу файлообмена? клиентов около 500, храниться будут в основном мелкие файлы. В частности есть несколько вопросов:
1) какую фс использовать, какие параметры можно или нужно использовать при форматировании, чтобы достичь хорошей производительности?
2) вопрос оптимизации ядра, может есть какие то функции в ядре, которые надо включать отдельно?
3) подстройки sysctl. вероятно есть варианты по изменению различных буферов?
4) может еще есть какие-то варианты оптимизации ОС и самой самбы?
5) есть ли какие-то утилиты для тестирования шар на самбе? типа там последовательное/произвольное чтение/запись в каталоги.P.S. критика "почему linux?" приветствуется)) (желательно с ссылками на бенчмарки)
Заранее благодарю всех кто сможет откликнуться.
>[оверквотинг удален]
>2) вопрос оптимизации ядра, может есть какие то функции в ядре, которые
>надо включать отдельно?
>3) подстройки sysctl. вероятно есть варианты по изменению различных буферов?
>4) может еще есть какие-то варианты оптимизации ОС и самой самбы?
>5) есть ли какие-то утилиты для тестирования шар на самбе? типа там
>последовательное/произвольное чтение/запись в каталоги.
>
>P.S. критика "почему linux?" приветствуется)) (желательно с ссылками на бенчмарки)
>
>Заранее благодарю всех кто сможет откликнуться.гуглить по пунктам
тема изежженная
готовое решение FreeNAS, правда на FreeBSD.
http://ru.wikipedia.org/wiki/FreeNAS
http://www.freenas.org/
>готовое решение FreeNAS, правда на FreeBSD.
>http://ru.wikipedia.org/wiki/FreeNAS
>http://www.freenas.org/а как там дела обстоят с подключением дисковых полок? в частности от IBM
>готовое решение FreeNAS, правда на FreeBSD.
>http://ru.wikipedia.org/wiki/FreeNAS
>http://www.freenas.org/Ынтерпрайзнуто (инсталлятор на анаконде и пр.) под Linux: http://www.openfiler.com/
>готовое решение FreeNAS, правда на FreeBSD.
>http://ru.wikipedia.org/wiki/FreeNAS
>http://www.freenas.org/Помоему человек неспрашивал какой дистр взять. ОН СПРОСИЛ КАК ТЮНИТЬ ЛИНЬ! (крик в голос)
Я бы на твоем месте посмотрел бы на систему под реальной нагрузкой, ну а потом стал бы думать/смотреть графики из cacti кокого нибудь, по кешам всевозможным ну и в том же духе
Вообщем статистика рулит, причем статистика всего куда рука дотянется
>Я бы на твоем месте посмотрел бы на систему под реальной нагрузкой,
>ну а потом стал бы думать/смотреть графики из cacti кокого нибудь,
>по кешам всевозможным ну и в том же духе
>Вообщем статистика рулит, причем статистика всего куда рука дотянетсясудя по графикам реальная нагрузка там невелика (мониторится через zabbix) используется win2000 тормозов нет. но предвидится замена серва на связку серв+полка поэтому рассматриваю вариант с linux\unix.
>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 самый быстрый, довольно дорогой, более-менее надежный (иногда живет при вылете двух дисков)
А, да, и бэкапы must have. Если Вы думаете, что они не нужны, спросите у Ваших юзеров, что они сделают с Вами, если массив таки развалиться :(raid можно делать и софтовый(mdraid), но если больше 5-6 шпинделей, железный с батарейкой must have. НЕ используйте железный массив без батарейки (особенно с включенным write-back cache), никогда не используйте хост-рейды, встроенные в дешевые материнки (вообще непонятное поделение, от винмодемов даже больше пользы было в свое время)
спасибо, бекап есть, без него никак))
>
>Если семейство ext[34], рекомендую статью:
>
>* http://wiki.centos.org/HowTos/Disk_Optimizationext4 вобще можно уже использовать?
>Стоит иметь ввиду, что все это, особенно магипуляции кэшем на запись, опасны.
почему?
>Так же, есть немного маргинальный вариант (боюсь, сейчас начнеться холивар, но я
>эту ФС видела в production всего один раз) с raiser3, который
>оптимизирован под маленькие файлыя как раз таки смотрел в сторону reiserfs.
что еще думаете про lvm2 ? стоит или нет?
хочу использовать для динамического выделения разделов
>что еще думаете про lvm2 ? стоит или нет?
>хочу использовать для динамического выделения разделовстоит.
к слову о 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 77usext4 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