Общее сетевое хранилище на базе OpenFiler. Часть 1.

Статья была написана 7 апреля 2011 г. Перенесена из старого блога.

Нынешняя виртуализация со всеми ее возможностями и удобствами такими как Live migration, High availability, балансировка нагрузки и прочие, к сожалению(или к счастью) в принципе не возможны без наличия общего сетевого хранилища. Поэтому, рано или поздно, но практически все организации уже использующие виртуализацию или только начинающие виртуализировать свою инфраструктуру, если еще не имеют своей СХД или каких не будь NAS, то задумываются о внедрении таковых.
Без условно, такой подход — это практически всегда более надежно, быстро и функционально. Есть лишь маленький нюанс….Стоимость готовых решений для организации сетевого хранилища приемлемой производительности, от какого не будь QNAP или D-link(я не говорю уже о EMC и NetApp) слишком высока для малого или даже среднего предприятия…
Если же в вашей организации не большее количество ВМ(5-10, хотя возможно и больше, я просто не пробовал), то можно обойтись самосборным, бюджетным сетевым хранилищем с удовлетворительной производительностью и приемлемой отказоустойчивостью.
Об организации подобной системы для нужд виртуализации и не только я расскажу в данной статье.

Железо

Что касается железа, то здесь все просто. Производительность подобного рода решений на прямую зависит от количества дисков в массиве а так же от скорости этих дисков. Хотя как показывает практика, скорость дисков, легко компенсируется их количеством. Так же не малую роль играет контроллер дисков, объем его кеша и выбираемый уровень RAID.
Остальные же компоненты(CPU, память и прочее) не играют особой роли и единственным пожалуй требованием к этому оборудованию будет отказоустойчивость. Тойсть это не должны быть железки от «no name» производителя, отказывающиеся работать в самый не подходящий момент:).
Отдельно хотелось бы отметить, эффективность использования нескольких(минимум 2-х) сетевых контроллеров с пропускной способностью не меньше 1Gb/s.
Так как доступ к дискам наших ВМ будет осуществляться по сети(будь то имиджи на NFS или блочные iscsi) пропускной способности одного интерфейса может быть не достаточно. В любом случае, разделенный доступ по нескольким сетевым интерфейсам будет значительно эффективнее и надежнее.

Софт

В качестве ОС и в роли самого «сердца» нашего сетевого хранилища, выступит основанный на CentOS, 64-битный NAS/SAN — OpenFiler 2.3!
OpenFiler — Это свободный дистрибутив Linux, предназначенный для организации SAN/NAS, файлового или FTP-сервера в рамках не больших или средних организаций.
Дистрибутив очень удобен. Он позволяет даже не просвещенному в тайны Linux пользователю, в считанные часы настроить через удобный web-интерфейс полноценную файловый или iscsi сторадж для любых нужд. Дистрибутив очень компактен(~300mb), но при этом включает в себя все необходимое. В состав OpenFiler’a входят: iSCSI target server(open-iscsi) и iSCSI initiator, NFSv3-server, Samba, FTP-server, LDAP-server и клиент(можно настроить авторизацию в AD) а так же Rsynс server и прочии мелочи.
Вобщем есть все и даже больше:)

Аналоги

Среди аналогов OpenFiler’a, можно выделить не менее функциональный, свободный дистрибутив FreeNAS основанный на FreeBSD. Собственно из за основы, этот дистр. мне и не понравился. К сожалению, я совсем не знаком с FreeBSD, может по этому и не очень люблю эту ОС и не где не применяю.
Из коммерческих продуктов, можно выделить достаточно качественный и удобный софтовый ISCSI SAN — StarWind Enterprise работающий к сожалению только на платформе Windows и стоящий не малых средств.

Установка OpenFiler 2.3

Установка OpenFiler’a проста до безобразия. Если вы хоть раз устанавливали какой нибудь из дистрибутивов Linux, то вопросов у вас не возникнет. Если же это ваш первый Linux, то разобраться будет не сложно.

После загрузки с CD, первым вопросом будет проверка целостности вашего носителя, которую можно пропустить. Далее запустится приветствующий мастер установки(немного модифицированный инсталятор CentOS). Мастер предложит выбрать раскладку клавиатуры(я оставляю все по умолчанию — English). Затем необходимо выбрать вариант разбивки дисков. Я всегда разбиваю вручную примерно вот так(начиная с начала диска): «swap» — не более 2-х гигов, «/boot» — 200mb(ext3), «/» — 2gb(reiserFS). Остальное я отмечаю как Phusical volume и в дальнейшем отдаю под LVM. После разбивки диска будет предложено настроить сеть и имя машины. Затем региональные настройки и пароль для root’a(здесь будьте внимательны). И еще одно далее и начнется установка не требующая вмешательства пользователя. Через минут 20, постановщик известит об успешной установке и попросит перезагрузить систему.
После перезагрузки системы, на экране появится стандартное консольное приглашение на вход чуть выше которого будет указан адрес по которому можно попасть в административную WEB-консоль которой и необходимо пользоваться. В моем случае, OpenFiler получил ip по DHCP и в результате адресс был такого вида: https://192.168.0.92:446. По умолчанию, учетные данные для входа в WEB-консоль такие: LOGIN:«openfiler» PASS:«password«.

Знакомство с интерфейсом

После удачного входа в WEB-консоль, открывается страничка Status которая наглядно иллюстрирует текущее состояние нашего новоиспеченного сетевого хранилища. Здесь можно получить информацию о доступных ресурсах, состоянии сетевых интерфейсов, используемых в данный момент iSCSI-целех и прочую полезную информацию.
Перейдя в раздел System по одноименной ссылке в главном меню WEB-консоли, можно отредактировать настройки сетевых интерфейсов, настроить отказоустойчивый кластер, изменить настройки времени, оповещений, выполнить бекап всех настроек или запустить SSH сессию в специальном окне консоли.
В разделе Services можно управлять запуском основных служб а так же изменить некоторые их настройки. По умолчанию, почти все службы находятся в состоянии Disable, что правильно. Службы NFSv3 server и iSCSI target server можно смело запустить, т. в ближайшем времени они нам понадобятся.
Раздел Accounts предоставляет интерфейс для изменения текущего пароля пользователя «openfiler», а так же позволяет настроить собственный LDAP-каталог или авторизоваться в стороннем LDAP-каталоге или AD, что даст возможность удобно интегрировать OpenFiler в существующий домен и рулить доступом на уровне доменных учеток. Это особенно важно, когда OpenFiler используется в роли классического файлового сервера. В нашем же случае в этом нет необходимости.

Разделы Volumes и Shares предназначены непосредственно для управления блочными устройствами, iSCSI-целями и общедоступными каталогами. Детальному описанию этих разделов будет посвящены последующие статьи.