Объединение множества дисков, подключенных по ISCSI в один RAID массив. Эксперимент часть 0.


Опубликовано 20.06.2019 20:40 | Автор: Admin

В данной статье рассматривается:
В данной статье мы объединим множество небольших дисков подключенных по ISCSI в один массив RAID5. Это 0 часть эксперимента по созданию отказоустойчивого кластера (файлового и HA в VMware)



Пока эксперимент не носит практического характера и не известно, что за зверюга выйдет в итоге и как она будет работать. Но попробовать интересно. Начнем.

Что мы имеем: кучу серверов с установленным гипервизором esxi, где мы будем размещать наши виртуальные машины для эксперимента. Все сервера соединены между собой гигабитным соединением. Сервера имеют по 4 сетевых карты. В качестве iSCSI Target будет использоваться NAS4Free (использовал 10 и 11 версию).

Каждая часть системы будет располагаться на разных серверах т.е. на одном сервере не будет две виртуальной машины и все взаимодействие будут проходить через гигабитный коммутатор.

При развёртывании виртуальных машин многое будет опущено без описания как это было сделано т.к. у вас может быть иная виртуализация, иные версии VMware vSphere, иные настройки сети и подключения и т.д.

В эксперименте будут рассматриваться два варианта подключения.

Вариант 1

По данному варианту нам необходимо развернуть 4 виртуальные машины с NAS4Free. И одну машину с Windows Server 2016. При использованием VMware vSphere это не займет много времени.

Рассмотрим детальную установку и настройку.

Качаем NAS4Free версии 11. Я использовал 10 и 11 версию по внешнему виду меню есть отличия. По работе глюкавое ....

Установка и первоначальная настройка NAS4Free версии 11

Создаем новую виртуальную машину, выбираем тип ОС FreeBSD, памяти выделяем 2 гига, процессор 1, жесткий диск 8г. Выделяем отдельную физическую сетевую карту для виртуальной машины. Подключаем скаченный ISO, начинается загрузка как LiveCD.

Установка настройка nas4free

Жмем 9, выбираем все по умолчанию, начинается установка на диск.

Установка настройка nas4free

Жмем Enter, потом Exit. Далее Жмем 7, ждем перезагрузки.

Теперь настраиваем сеть. Мы не будем использовать DHCP и настроем статические IP.

Жмем 2

Установка настройка nas4free

Жмем NO

Установка настройка nas4free

Вводим IP. Я буду использовать 192.168.44.102.

Установка настройка nas4free

Маску оставляем 24

Установка настройка nas4free

Вводим шлюз если вы в разных сетях к примеру 192.168.44.1 (соответственно необходимо настроить маршрутизацию)

Установка настройка nas4free

Вводим или оставляем пустым адрес DNS сервера и следующим шагом IPv6 нажимаем NO.

Установка настройка nas4free

Идет настройка сети. Потом Жмем Enter.

Жмем 10 и выбираем YES – разрешили доступ к WEB интерфейсу.

Подключаемся веб-браузером на установленный IP 192.168.44.102

  • Логин: admin
  • Пароль: nas4free

Установка настройка nas4free

Интерфейс на английском хорошо, но на русском лучше

Заходим в System > General – находим пункт Language и выставляем Русский – Жмем Save.

Установка настройка nas4free
Подключение диска и создание iSCSI Target

В среде управления виртуальной машиной подключаем/добавляем еще один диск. Я в тестовом варианте использовал 15г диски.

Примерно так

Установка настройка nas4free

В меню NAS4Free переходим Диски > Управление и Жмем +

Установка настройка nas4free Установка настройка nas4free

Выбираем наш добавленный диск и Жмем Добавить

Обязательно потом необходимо нажать Применить изменения

Теперь нам необходимо настроить iSCSI Target чтоб мы могли подключить этот диск к внешней системе. Настраиваем без заморочек используя все по минимуму.

В меню выбираем Службы > iSCSI

Сначала настроим инициатор

Переходим на вкладку инициатор и Жмем +

Установка настройка nas4free

В полях Инициаторы и Авторизованные сети пишем ALL и Жмем Добавить. Не забываем нажать Применить изменения.

Переходим во вкладку Порталы, Жмем +

Установка настройка nas4free

Тут мы указываем IP на котором будут откликаться сервис. Т.к. у нас одна сетевая карта, то просто жмем Добавить и Применить изменения

Переходим на вкладку Цели

Жмем на + в Экстент

Установка настройка nas4free
  • Название экстента – любое
  • Тип – устройство
  • Устройство - выбираем наше устройство

Жмем Добавить, а потом применить

Кстати система нам предлагает использовать различные Типы, но будем использовать именно устройство и отдельный диск. Я пробовал пробрасывать Тип как файл нужного размера и все как бы хорошо с файлами малого размера, а вот 100Г уже работать не будет, даже отформатировать не выйдет. Почему и как глубоко лезть не стал.

Добавляем Цель

Жмем на + Цель.

Установка настройка nas4free

Оставляем все по умолчанию. Жмем Добавить, а потом Применить

Переходим на вкладку Параметры

В заголовке iSCSI ставим крыжик Включить и меняем базовое имя на iqn.2000.jp.ne.peach.istgt

Жмем Сохранить и перегрузить.

Установка настройка nas4free

Убеждаемся, что служба запустилась Состояние > Службы

Установка настройка nas4free

Если в Состояние не стоит галка, то что-то вы настроили не верно и служба не стартанула.

Настройка одного из 4 дисков закончена.

Дальше все тоже самое надо повторить 2 раза. При использовании виртуализации просто делаем клоны на разные сервера. В клонах необходимо сменить IP адрес и в параметрах iSCSI базовое имя. IP даем 103 и 104. Базовое имя 3000 и 4000. В общем-то тут на вкус и цвет …. В итоге у нас должно получиться три машины на трех разных серверах.

Первый диск и он же RAID5 необходимо настроить чуточку иначе.

  • Необходимо добавить еще один процессор. Я добавлял 1 процессор на каждый диск.
  • Делаем клон уже настроенной системы, меняем IP на 192.168.44.101. Базовое имя на iqn.1000.jp.ne.peach.istgt.
  • Подключаемся к веб на 192.168.44.101
  • В Службы > iSCSI > Цель удаляем Цель нажав на Х и применив изменения.
  • Переходим в Диски > Управление > iSCSI-инициатор Жмем +
  • Заполняем поля для второго диска:
  • Имя - disk2
    Имя инициатора – оставляем по умолчанию
    Имя цели - iqn.2000.jp.ne.peach.istgt:disk22
    Адрес цели - 192.168.44.102:3260

Установка настройка nas4free

Жмем Добавить и Применить

Если все удачно то в консоле будет следующее сообщение

Установка настройка nas4free

Переходим в Диски > Управление > Управление HDD Жмем + и добавляем наше устройство

Установка настройка nas4free

Так же подключаем все диски. Если у вас появляются ошибки при применении то просто игнорим.

Установка настройка nas4free

Результат добавления дисков

Установка настройка nas4free

Добавление второй сетевой карты

В среде виртуализации прокидываем новую сетевую карту. Добавляем именно отдельную сетевую карту, вынесенную в отдельный свитч в среде виртуализации. Ее мы будем использовать для связи с Windows Server 2016.

После как добавили сетевую карту, перегружаемся.

Подключаемся к вебке и идем Сеть > Управление интерфейсами Жмем + и сохранить.

Установка настройка nas4free

Идем Сеть > Optional 1 (OPT1)

  • Тип – static
  • IP-адрес - 192.168.55.101 маска 24

Установка настройка nas4free

Жмем Сохранить и перегружаемся

Теперь нам надо произвести форматирование наших дисков в Программный RAID

Заходим в вебку меню Диски > Управление > Форматирование HDD

Выбираем Файловая система > Программный RAID ставим галочки на всех дисках и Жмем далее

Установка настройка nas4free

Проходим мастер Далее Далее

Создание Программного RAID

У нас есть возможность создать RAID GEOM и Vinum. Будем создавать GEOM. Я создавал RAID обоих типов и проводил некое тестирование результатов: производительности, поведения при отключения дисков, при восстановление соединения, подсовывал чистые диски. Vinum – имеет очень низкую производительность раза в 4 хуже GEOM, а так же более глючное и непонятное поведение. При этом GEOM является родным для FreeBSD на чем базируется NAS4Free.

Оба типа RAID некорректно обрабатывают отвал диска, сама система вроде как работает, но вебка виснет, сам RAID становится недоступным. Лечится перезагрузкой. Vinum при подключение нового диска в замен отключённого никак не реагирует, GEOM – автоматом начинает ребилд. Работа с Vinum требует только ручного управления, очень геморройный …

Создадим RAID 5 на основе GEOM

Заходим в Диски > Программный RAID > GEOM Жмем +

  • Имя RAID - любое имя.
  • Ставим крыжик Создать и инициализировать RAID т.е. мы создаем новый с потерей информации о старом RAID если таковой был. Если мы хотим восстановить RAID из дисков которые были уже в RAID, то крыжик не ставиться и соответственно не надо их форматировать.
  • Выбираем все диски.
  • Жмем на кнопку RAID-5 и Применяем изменения.

RAID-5 GEOM nas4free

Началась процедура создания RAID. О ходе выполнения мы можем видеть нажав на (!)

RAID-5 nas4free

Создание идет очень долго ….

RAID-5 nas4free RAID-5 nas4free

Теперь созданный нами массив так же надо раздать по iSCSI. Все делается так же как в предыдущих пунктах.

  • Создаем Инициатор
  • Создаем Портал (192.168.55.101:3260)
  • В Целях создаем Экстент – выбрав уже наш созданный массив.
  • Создаем Цель
  • Запускам службу iSCSI поставив соответствующий крыжик.
  • Проверяем что служба запустилась.

Подключение полученного массива RAID5 к Windows Server 2016

Данные диск можно подключить куда угодно. Но у нас это 0 этап эксперимента, где нам в будущем потребует Windows Server 2016.

Создаем новую виртуальную машину на отдельном сервере. У нас не должно получится чтоб на одном физическом сервере оказалось какая-либо из предыдущих машин.

Выделяем две сетевые карты, одна для связи с пользователями, другая для связи с нашим iscsi диском.

Устанавливаем ОС Windows Server 2016 ( у меня datacenter).

Установили. Заходим в систему под администраторам.

Устанавливаем IP для сетевых карт для карты для связи с диском 192.168.55.10 и нужный IP для связи с пользователями.

В меню быстрого доступа жмем Панель управления.

Подключение диска в Windows по iSCSI

Далее переходим Система и безопасность > Администрирование. Жамкаем Инициатор iSCSI

Подключение диска в Windows по iSCSI

Так же можем найти этот пункт используя поиск, жмем лупу и пишем iSCSI

Подключение диска в Windows по iSCSI

Выскочит сообщение о необходимость запуска службы, жмем ДА.

Во вкладке Конечные объекты в поле Объект вводим IP 192.168.55.101 (ип нашего iSCSI) и жамкаем Быстрое подключение

Подключение диска в Windows по iSCSI

В списке появиться наш iSCSI Target. Жмем Готово

Переходим в Управление дисками – правой кнопкой на меню Пуск > Управление дисками

Далее работаем как с обычным диском. Инициализируем диск, создаем том, форматируем.

Подключение диска в Windows по iSCSI Подключение диска в Windows по iSCSI

Итог:

При записи на диск общая скорость на сетевой карте держится в районе 500МБит при отдачи на iSCSI диск. При этом Windows при копировании использует кеш, что первоначально приводит к скоростям записи близкую к 1G. Отдача на каждый из дисков массива держится в районе 160Мбит. Заставить работать быстрее у меня не получилось. Выделение отдельных сетевых и прочих манипуляций никак не повлияло на производительность. Тестировалась на копировании больших файлов с разных источников.

Если мы оборвем связь с одним из дисков из массива RAID, то iSCSI диск отвалиться от Windows, а агрегатор NAS4Free будет писать ошибку об отсутствие доступа к отключённому диску и как бы все. При этом веб интерфейс при переходе в управление дисками виснет наглухо. Чтоб iSCSI диск RAID вновь начал работать необходимо перегрузить агрегатор NAS4Free. При восстановлении связи с отключенным диском от агрегатор NAS4Free начинается автоматическое восстановление массива. При добавление чистого диска в массив в замен отключенного необходимо в ручном режиме добавить его в массив.

В общем данное решение с такими глюками нам не подойдет. Более рабочий оказался вариант 2.

Вариант 2

Отличие от варианта 1 мы RAID 5 будем делать силами Windows Server 2016 и исключим агрегатор NAS4Free. Подробно расписывать не буду т.к. новых действий нам делать не придется, все как в предыдущем варианте.

Удаляем виртуальную машину агрегатор NAS4Free.
В Windows Server добавляем новый жесткий диск (пробрасываем через систему виртуализации) в моем случае 15г.
На трех оставшихся iSCSI Target меняем IP на 192.168.55.*
Сеть > Настройки LAN
и
Службы > iSCSI > Группа порталов – меняем IP тоже на новый.
Перегружаемся.

В Windows Server через iSCSI подключаем наши три диска.

Подключение диска в Windows по iSCSI Подключение диска в Windows по iSCSI

Идем в управления дисками

Инициализируем диски в GPT

Подключение диска в Windows по iSCSI

Жмем правой кнопкой на любом из новых дисков и выбираем пункт Создать том RAID-5.

Открывается мастер создания массива. Жмем Далее, переносим из доступных дисков в поле Выбраны, жмем Далее Далее.

Подключение диска в Windows по iSCSI

Отвечаем ДА на преобразование дисков в динамические.

Начался этап создание массива RAID-5

Подключение диска в Windows по iSCSI

Итог:

Скорость работы с подключенными дисками в районе 200Мбит. Общая производительность чуток выше предыдущего варианта. При отключении одно из дисков массива в течении секунд 30 Windows восстанавливает возможности работы с диском, потом переходит в работу без одного диска, т.е. корректно обрабатывает отвал одного из дисков и работа с массивом не прерывается на долго время. При возврате диска в массив автоматического возврата диска не происходит, необходимо вручную инициализировать ребилд массива.

Конечно при эксперименте я не лез в дебри и тесты проводил поверхностно. Использовал функционал из коробки с параметрами по умолчанию.

Так же iSCSI диски можно подключить посредством VMware ... , но этот вариант я не рассматривал.

В общем-то данное решение можно использовать для организации файловой помойки при недостатке места на сервере задействовав дисковое пространство с разных источников, в том числе и с рабочих станций.

Следующий этап создание Windows Server 2016 Failover Clustering. Получиться или нет покажет время.


Метки
Windows NAS4Free iSCSI RAID FreeBSD

Комментариев: 3

 128 |

 Александр
 20.01.2020 17:26

Интересная статья. Скажите а пробывали вы другие варианты для iSCSI target? Например Esos (https://www.esos-project.com/), Openfiler (https://www.openfiler.com/), iSCSI target на Ubuntu/Debian server? Просто интересно есть ли разница по скорости при использовании различных систем для targer. P.s. У себя, к сожалению, провести такое тестирование не имею возможности, т.к. нет свободных мощностей для тестирования.

 Admin
 25.01.2020 18:54

К сожалению не пробовал. Да и в этом эксперименте чую что-то не ладное вышло. На все надо уйму времени, а пока с этим туго.

 Александр
 27.01.2020 14:22

Понял, спасибо. А эксперимент все равно интересный получился, т.к. на таком варианте действительно можно сделать сетевое хранилище которое не боится отключения накопителей, например для профилактики.


Добавить комментарий:
Отправить