September 23rd, 2012

404

Размышления о home NAS

Альтернативой "JBOD с кучей дисков" может быть несколько full tower с некоторым количеством дисков внутри.

Для построения приличного массива (т.е. RAID 60 поверх большого числа дисков) можно попробовать схему, в которой все jbod'ы экспортируют диски по ISCSI (blockio, или даже fileio в writethrough) на общую голову, которая, в свою очередь, уже делает поверх ISCSI дисков RAID60, LVM, и отдаёт NFS наружу.

В чём интересность такого подхода?
1) Отсутствие экспандеров и SAS. У меня остались крайне неприятные воспоминания о том, как себя ведут LSI'и с экспандрами под высокой нагрузкой с одной стороны, и высокий оверхед по деньгам с другой (SAS HBA - недешёвая вещь, экспандер - тоже).
2) Более дешёвые корпуса. Понятно, что три корпуса на 8 дисков каждый, будут стоить дешевле, чем RACK JBOD на 24 диска.
3) Распределение нагрузки/охлаждения между большим числом корпусов/БП. Продувать 36 дисков - это вам не хухры-мухры, обдувать 8 дисков - куда легче. Не говоря уже про пусковые токи у 36 дисков (supermicro юзает для этого 2х700Вт БП).
4) Линейное масштабирование - начать можно с одного системника и наращивать его постепенно.

Отдельно, конечно, стоит вопрос с материнскими платами и прочими вещами. Но отдавать по ISCSI - особые ресурсы не нужны, то есть можно ставить какой-то умеренный десктопный lowend.

Очевидными минусами будут:
1) Отказ от симпатичного hotswap'а и замена его на осточертевшее тыкание руками в sata-кабелей в самую пыльную клоаку компьютера (а ещё есть увлекательный процесс извлечения диска...)
2) Сложность поддержания конфигурации. Имеем xN конфигов iscsi target'а, настройку инициатора, mdadm'а (тут нам сильно поможет autodiscovery у mdadm, который соберёт нам рейд из любых дисков, подцепленных по ISCSI или напрямую).

Отдельный вопрос с головой. В принципе, на гигабите (120Мб/с - потолок) обычный квад должен справиться и с raid60, и с iscsi initiator, и с NFS в async. (про сценарий двойного отказа дисков пока не думаем, придётся потерпеть).


Давайте попробуем сравнить решения. Я пока оставляю в стороне HDD, т.к. в обоих конфигурациях оно будет одинаковым. Условимся на конфиге в 36 дисков, т.е. либо jbod на 36 дисков, либо 4 системника на 9 дисков.

1) Корпус на 8-10 дисков, FullTower. Разглядывать лениво, но, пусть, 8круб (вроде, что-то видно и по 5к)
2) Камень - 1круб (опять же, лениво разглядывать, да и не принципиально)
3) Плата с 6 SATA - 1.5руб
4) Ещё парочка плат с SATA-HBA - 1.2круб
5) Минимальный объём памяти для загрузки - 300р

Итого - 10круб на компьютер без дисков (ИМХО даже слегка завышено).
Таковых нужно будет 4 шт - 40круб. В принципе, в "голову" ставится что-то поприличнее в смысле камня/памяти, т.е. +10круб.

Получается конфиг на 50круб без дисков.

Заметим, за те же деньги можно купить jbod lowend с хрен знает какими БП и вентиляторами, в которые ещё нужно будет SAS HBA ($200), мамку, камень, память (т.е. ещё +15к минимум).

Ещё один фактор - "толстая голова" у меня уже есть - это текущий десктоп. 8Гб, квад, гигабит на борту. Т.е. всех вложений получится - 30к (это не считая свитча, стойки, полок).