UNRAID #2 — Схема работы массива.
Добрались до самой нужной части — дисковые пулы. Так как, схема хранения и защиты дисков в Unraid отличается от стандартных подходов, то прежде чем использовать СХД, предлагаю ознакомиться с некоторыми особенностями.
По-умолчанию используется файловая система XFS для всех дисков, но, если вы используете кеширование SSD (cache pool), то будет использована файловая система BTRFS. Еще есть возможность использовать ReiserFS и их шифрованные (encrypted) версии.
Мониторинг дисков классический — S.M.A.R.T. (селф-тесты обычные и extended), мониторинг температуры.


Диски четности (parity disks). В схеме их работы кроется самое важное отличие от других систем хранения.
Unraid поддерживает до 30 дисков в массиве с двумя парити (parity) дисками (28 данных и 2 контроля четности) и до 24 устройств хранения в пуле SSD кеша. При этом, использовать SSD в качестве дисков хранения информации или дисков четности — не рекомендуется, эта функция сейчас в статусе тестирования.
Как же происходит хранение сумм четности? Ведь под эту задачу нужно выделять диск по объему равный или больше чем самый большой диск в массиве.
Пример:
Если у вас диски по 1ТБ, 2ТБ, 6ТБ, то диск четности вам надо брать 6ТБ.
Если у вас защита с двойной четностью, то второй диск четности не обязательно должен быть также 6ТБ, он может быть меньше чем первый диск четности, но не меньше, чем самый емкий диск с данными.
Пример:
Если у вас диски по 1ТБ, 2ТБ, 3ТБ, то диски четности могут быть 3ТБ + 6ТБ.
Как вычисляется четноcть на этих дисках? Чтобы вычислить значение каждого бита на диске четности, нам нужно знать только общую сумму для каждого столбца. Если сумма столбца является четным числом, бит четности должен быть равен 0. Если сумма столбца является нечетным числом, бит четности должен быть равен 1. Ниже, схема из википедии по Unraid.

Если вы хотите проапгрейдить парити диски до более крупных, чтобы можно было использовать диски большего размера в массиве, нужно провести следующие манипуляции:
1. Остановить массив (array).
2. Выключить СХД.
3. Установить новые диски большего размера.
4. Включить СХД.
5. Назначить больший диск в слот контроля четности.
6. Запустить массив.
Как это происходит визуально? Вот мы напихали дисков в СХД и включили ее. Как видно на оповещении, парити диски не назначены, как и диски с данными, выберем их из выпадающих списков.


Если мы планируем, что количество дисков у нас будет не 20+ дисков, то «портянку» с пустыми слотами (slots) можно уменьшить до нужного значения.

Запустим первичную инициализацию масиива, данные с дисков, естественно, будут удалены.


Проверку четности можно пропустить установив галочку (Parity is already valid), если вы уверены, что это надо сделать.

Обязательно надо будет отметить опцию «Yes, I want to do this»


Наблюдаем за прогрессом форматирования и проверки четности.



Проверка прошла успешно, диски готовы к работе.

Если интересно глянуть логи определенного диска, то можно нажать на значок слева от его модели. Логи откроются в новом окне.


Небольшое дополнение, загрузочная флешка, по-умолчанию, будет в статусе shared, т.е. видна в сетевом окружении. Предлагаю убрать ее из видимого доступа.


Переходим в настройку видимости расшаренных папок и переводим значение «Export» в статус «No».

Также, есть возможность сделать резервное копирование флешки.

Учитывая особенность реализации хранения данных на данной СХД, чтение и запись идет только на диск с данными + на диск четности, из-за этого, скорость ограничивается скоростями этих дисков. Для обхода этих ограничений используется SSD cache. О нюансах его работы в следующей статье.