Неочевидное поведение утилиты разметки Intel® RAID BIOS Console 2 Configuration Utility при создании пятого рэйда.
Пришли 4 SAS диска по 4TB, их надо подключить к IntelRAID RS2BL080 и создать массив RAID 5.
Задача весьма тривиальна и не предвещает неожиданностей. Однако, сделав это и загрузившись в систему, которая стоит на отдельном накопителе, увидел сторадж всего 8ТБ, вместо 12 ожидаемых (здесь и далее для простоты округляю количество террабайт до целого значения, например, на диске в 2ТБ утилита разметки показывает 1,818).
Как известно, объем пятого рэйда считается по формуле: S*(N-1), где N - количество дисков в массиве, S — объём диска. 4*(4-1)=12. Все верно, а получилось 8. При этом, утилита говорит, что все диски видны, прошли проверку, не косячные и одного размера. Странно. Удалив массив и переразбив еще раз ситуация не изменилась. WTF?!?
Предположения были следующими:
- Брак одного из дисков
- Контроллер не работает с массивами более 8ТБ
- Вместо RAID 5 создается RAID 6 или RAID 10 (совпадает по объему)
В третий раз было принято решение объединить диски в массив RAID 0 или RAID 1, дабы проверить эти предположения. Заметил, что при создании массива из двух дисков, дефолтным уровнем подствляется RAID 0, но изменяя его на RAID 1 размер массива не изменился, хотя, руководствуясь здравым смыслом, должен бы был. Предположив, что при первой попытке разметки случилось тоже самое - решил проверить. И не зря.
RAID 6, подставенный утилитой разметки:
Выбираю RAID 5, размер массива не меняется. Надо ввести вручную. Тут же есть подсказка - объем массива в зависимости от его уровня:
Ввел, далее продолжать как обычно:
Итак, в утилите управления дисками, на этапе создания массива, ставится какое-то предопределенное значение уровня RAID (видимо зависит от количества накопителей), при смене которого не пересчитывается его объем. Это необходимо сделать вручную. В качестве вывода можно сказать, что надо быть внимательмым, проверять как ведет себя приложение и результат его работы.