Как я могу обновить мой программный набор дисков RAID1?

У меня есть два диска по 600 ГБ в программной конфигурации RAID1 на физическом сервере Debian.

Я хочу иметь возможность повысить емкость сервера путем клонирования дисков в соответствующую пару дисков по 2 ТБ. Затем я могу стереть диски емкостью 600 ГБ и использовать их в качестве хранилища или чего-то еще.

Какой лучший способ пойти по этому поводу?

slave:~# mount
/dev/md0 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)

3 ответа

Решение

Вы должны быть в состоянии заменить первый диск, добавить раздел в массив и позволить raid повторно синхронизироваться. Затем замените второй диск, дайте ему возможность выполнить повторную синхронизацию, а затем разверните raid и файловую систему, чтобы занять все пространство. Когда вы разбиваете свои новые диски, сделайте так, чтобы они занимали все пространство, которое вы хотите для нового макета.

man mdadm, resize2fs

удалить устройство из массива

mdadm /dev/md0 --remove /dev/olddevice

добавить устройство в массив

mdadm /dev/md0 --add /dev/newdevice

увеличить массив, чтобы занять все пространство, разрешенное разделами

mdadm /dev/md0 --grow --size=max

Расширьте файловую систему, чтобы занять начальное пространство массива

resize2fs /dev/md0

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

На всякий случай, если кто-то погуглит, вот мой опыт перехода с дисков 2x150 ГБ на 2x1 ТБ в mdadm RAID1 + LVM поверх него.

Предположим, у нас есть 2 диска - small1, small2 в зеркале mdadm (md0), а новые - big1 и big2. Поверх них LVM с группой томов VG1 и логическим томом LV1.

убедитесь, что все в порядке с текущим MD:

cat /proc/mdadm

Скажите mdadm об отказе одного диска и об удалении его из массива md:

mdadm /dev/md0 --set-faulty /dev/small1 && mdadm /dev/md0 --remove /dev/small1

Замените диск small1 на большой (горячая замена или выключение системы).

Создайте новый раздел на большом жестком диске типа FD (автоматическое определение Linux RAID). Сделайте размер таким, каким вы хотите, чтобы ваш новый RAID был. Я предпочитаю cfdisk, но это может варьироваться:

cfdisk /dev/big1

Добавьте новый диск (или, если быть точным, только что созданный раздел, например /dev/sda1):

mdadm /dev/md0 --add /dev/big1

Подождите, пока массив синхронизируется:

watch cat /proc/mdstat

Повторите это с другой парой дисков. В конце вы получите два больших диска в массиве.

Увеличьте массив до максимального размера, разрешенного компонентными устройствами, дождитесь синхронизации:

mdadm /dev/md0 --grow --size=max
watch cat /proc/mdstat

Теперь пришло время изменить размер LVM. Обратите внимание на параметр --test, он будет имитировать действие, но не будет изменять метаданные (полезно узнать, есть ли какая-либо неверная конфигурация, прежде чем изменять размер).

Изменение размера физического объема:

pvresize --verbose --test /dev/md0

Изменение размера логического тома:

lvresize --verbose -L <SIZE> --test /dev/VG1/LV1

И, наконец, изменение размера ext3 FS:

resize2fs /dev/VG1/LV1

С двумя жесткими дисками емкостью 1 Тб у меня ушло около 20 часов (я удалил один диск из массива, прежде чем связываться с LVM и FS, поэтому было 3 синхронизации + увеличение массива).

Все было сделано на рабочем сервере, без прерывания работы служб.

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

Предполагая, что один из заменяемых дисков является загрузочным, вам не нужно беспокоиться о наличии GRUB на обоих дисках, прежде чем начинать извлекать диски? (Я предполагаю, что материал, который GRUB ищет в /boot, отражается на обоих дисках.)

Я почти уверен, что смотрел на не совсем GRUB, когда я не понял это правильно...

Другие вопросы по тегам