Ubuntu 22.04.3 LTS под управлением mdadm 16 x 8 ТБ Raid 6. Можно ли обновить отдельные диски и сразу использовать пространство без использования LVM?
Еще немного предыстории... У меня есть 4 массива реального времени (всегда работающие, которые я могу использовать) - 2 больших важных массива (40 ТБ [используется 20 ТБ] и 112 ТБ [используется 105 ТБ] резервируются на массив Raid6 16 x 8 ТБ (112 ТБ). свободное общее хранилище - и, как вы можете видеть, у меня больше резервных копий, чем у меня есть места). Итак, мне нужно больше места...
Моим более приятным решением было купить еще один JBOD SuperMicro с 24 отсеками, но, поскольку после covid цены выросли вдвое, сейчас более дешевый метод ... - это обновить мои диски. НО я не могу позволить себе одновременно использовать 16 дисков Exos по 16 ТБ… это довольно дорого для домашнего сервера. :)
Итак, что побудило меня попытаться найти способ все это обновить?
Вчера я купил 3 Exos по 16 ТБ. Я выполнил следующие команды на резервном массиве...
#UPGRADE AN ARRAY *******************************************************
#FIRST ADD SPARES
mdadm /dev/md4 --add /dev/sdan (a 16TB drive)
mdadm /dev/md4 --add /dev/sdao (a 16TB drive)
#SECOND REPLACE DISKS (2 at a time) replace 2 8TB drives with 16TB drives.
mdadm /dev/md4 --replace /dev/sdah /dev/sdai --with /dev/sdan /dev/sdao
Вопрос №1: Я не использую LVM. Просто обычный mdadm RAID6 с файловой системой ext4 сверху. Итак, мои предположения... Я не смогу использовать дополнительное пространство, пока ВСЕ диски емкостью 8 ТБ не будут обновлены до 16 ТБ... Вопрос № 1: Правильно ли это?
Я думал... альтернативой было бы... как только я получу диски емкостью 9 x 16 ТБ, я смогу создать новый массив и скопировать все из этого массива 16 x 8 ТБ непосредственно в массив 9 x 16 ТБ, поскольку они имеют одинаковые размеры, а ТОГДА Я мог бы просто увеличить массив, как я это делал раньше... Когда у меня будет массив из 9 дисков... его легко добавить...
mdadm --grow --raid-devices=10 --backup-file=/root/md4_grow.bak /dev/md4
а потом...
Итак, я просто не знаю ограничений mdadm. Я знаю, что в моем Synology NAS я могу выполнить гибридное обновление и сразу же получить полный доступ к любому диску... но я предпочитаю mdadm, даже если у меня нет гибридного управления файловой системой. Думаю, я мог бы добавить LVM поверх RAID6... но я никогда раньше этим не пользовался... не уверен, смогу ли я преобразовать текущий массив, который у меня сейчас есть, в LVM или мне придется все стереть. Это резервный массив... так что технически я могу его уничтожить... НО тогда становится страшно... У меня больше нет резервной копии. Что, если мои основные массивы выйдут из строя во время восстановления нового массива? Тогда я бы потерял кучу данных.
Я знаю, что рейд не является резервной копией, но этот массив резервных копий большую часть времени отключен. Он включается только для резервного копирования, а потом снова выключается.
Что касается очень важных данных... Я скопировал их на несколько дисков Exos емкостью 10 ТБ, не находящихся в рейде, и положил в коробку «на всякий случай», если что-то произойдет. К сожалению, мне приходится выбирать, что копировать таким образом, потому что у меня слишком много данных для правильного резервного копирования... поэтому мой массив резервных копий - единственное, что близко к размеру, необходимому для резервного копирования массивов в реальном времени...
Гипотетический вопрос № 2: Допустим, я, наконец, заменю все свои диски IronWolf 16 x 8 ТБ на диски Exos 16 x 16 ТБ... мне просто запустить
и mdadm увидит... «Эй, ты используешь только 8 ТБ из 16 ТБ!!!! Давайте это исправим!!!» и продолжает расширяться, чтобы заполнить ВСЕ пространство? Или мне нужно выполнить другие команды после обновления всех дисков?
Я читал, что рост может иметь размер, но... Я никогда не использовал это... Я использовал рост только для ДОБАВЛЕНИЯ еще одного диска в массив... переходя от --raid-devices=9 к --raid -devices=10 например... а затем запускается
resize2fs /dev/md4
чтобы получить новое найденное пространство...
Мысли более опытных пользователей, чем я?
(спасибо, Джеральд, за форматирование кода, прошло много лет с тех пор, как я задавал вопрос и забыл об этом).