Привет! Как обычно давно не писал, а писать то особо и не о чем было ;( Все жисть, работа...все такое...
Вообчем хватит приамбулы, итак:
Амбула:
Заметил я, что мне стало не хватать скорости дисковой подсистемы в моем сервере (у меня ESX5.1 на 9240i железке с 4 двух теровыми earx). Тормозит копирование файлов, как по сети, так и внутри виртуалок. Думал я (сначало) купить более дорогую плату рейда, но цена страшно кусалась (по моим запросам). Хотел купить внешнюю хранилку, но там свои проблемы (да и моща тоже денег стоит не маленьких). Поэтому было (мною) решено делать все самому.
Корпус я решил выбрать маленький, но красивый, желательно с хотплаг винтами, кеширование запросов на ssd + чтобы не сильно гудело и не очень уж грелось.
Вот что у меня получилось:
- Корпус: CFI-A7879.
- Материнка: ASUS P8H77-I, не нашел ничего формата mini-itx с 6ю разъемами SATA, где хотя бы 2 - sata3
- Процессор: Intel Core i5-2390T, наверное (конечно) лишку процессорной мощности, зато TDP=35 Вт
- Кулер процессора: Scythe Kozuti, тонкий и тихий
- Память: 2 * DIMM DDR3 8192MB, т.к. у меня 4 винты, то ZFS потребует 8 гигов ОЗУ на свою работу (про ZFS далее)
- Кэш: 2.5" SATA-3 128Gb OCZ Vertex 4. Опять же, хочу кеш на SSD :)
- HDD под систему: 2.5" HITACHI 320Гб, на кэшевый диск жалко ставить систему, а винты для хранения (я думаю) должны быть не связаны с системой.
- HDD: Уже купленные WD2000EARX, увы винты щас дороги, так что меня не будут (к тому же они тихие)
Где-то конечно избыток, где-то недостаток, буду шлифовать в процессе.
Операционка:
Выбор мой останавливался на нескольких вариантах:
- Windows и в ней как ПО старвинд
- FreeBSD в разных вариантах
- Что-то сoлярное
- Специальный дистрибутив для сторажей (FreeNas, nas4free)
- Линуха
Первый вариант не катит по любому, не люблю я windows. 2 и 3 вариант сильно специфичен, отметается (ну не знаю я настолько сильно солярис или фрю, чтобы медиатомб собрать).Специальные дистрибутивы конечно хороши, но вдруг мне захочется странного? Решил остановиться на последнем варианте, опять же - я же линуксоид (ну пускай только в мечтах, но все таки).
Дистрибутив я выбрал свою любимый - гента ;) Про установки ос и zfs рассказывать не буду, эта процедура 100 раз описана в тырнете, так что проблем никаких с установкой небыло.
Тестирование:
Прочитав массу статей и перебрав интернет я понял, что супер результатов мне не получить. Самая большая проблема будет в винтах. Но ставить что-то более быстрое не хочу ибо они уже есть, а покупать сейчас hdd (без необходимости) не рентабельно.
Тестировал конечно по статье http://habrahabr.ru/post/154235/.
При тесте выявил следующие возможности ускоряюшие доступ:
- Включаем MTU9000 на сетевухе - процессор (при большом вале) грузится ощутимо меньше
- zpool с опцией ashift=12 добавляет еще больше скорости
- zfs logbias latency еще пару мегабайт в секунду
- zfs atime off - выключим не нужное время доступа
- zfs sync disabled - самая замечательная опция, скорость подскачила в 1.5 раза, нагрузка на процессор упала раза в 3. Я конечно понимаю, что отключение ZIL (ZFS Intent Log) не очень хорошая идея, но дома в самый раз.
Выводы:
В конечном итоге мне удалось добиться (по шаре nfs) следующих длительных результатов:
- read 2129 iops, 7505 usec = 7ms
- write 628 iops, 23400 usec = 23ms
- Скорость копирования или записи (одним потоком) = 120 мегабайт (причем, что чтения, что запись). Скорее всего это ограничение гигабитного ethernet.
Я думаю это вполне не плохие результаты :)
Почему ZFS ??
Отвечу: давно я хотел этого зверька пощупать, сравнить с нативным lvm. И так, отличия:
- Все-таки ZFS это файловая система, поэтому и монтируется все от одного корня, где-то это удобно, где-то нет
- Используется все место на пуле для любого тома, что конечно удобно (учитывая возможность ограничить размер тома)
- Как и том, легко можно сделать устройство, на котором держать ЛЮБУЮ файловую систему
- Про снапшоты вообче молчу, вещь. Особенно в таком использовании:
- Создаем том для виртуальных машин (ну например по nfs там у нас хранятся vmdk)
- Создаем снап на какое-то число
- Имеет полную копию ВСЕХ виртуальных машин на это число!!!!
- Встроенное кэширование и настройка параметров лету, тут вообще нет слов (на надо ничего дополнительно делать)
- Нативное использование SSD дисков для кэша
- RADZ1 (аналог raid5) создается мгновенно и не требует длительной синхронизации
- Компилится под любые последние ядра!
Перечислял я все плюсы, теперь минусы:
- Самый страшный, если упадет - как восстанавливать? Поэтому бекапы, бекапы, бекапы...
- Большое использование памяти (на 1Т дискового пространства = 1Г памяти)
- Возможно что-то еще? Всегда есть страх столкнуться с неведомым..
No Leanote account? Sign up now.