I. Удаление диска из массива
Перед заменой диска желательно убрать диск из массива. Для начала проверим как размечен диск в массиве:
Код: Виділити все
# cat /proc/mdstat
Personalities : [raid1] [raid0] [raid6] [raid5] [raid4]
md2 : active raid1 sda4[0] sdb4[1]
1456504640 blocks super 1.2 [2/2] [UU]
md1 : active raid1 sda3[0] sdb3[1]
7996352 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sda2[0] sdb2[1]
499392 blocks super 1.2 [2/2] [UU]
unused devices: <none>
Код: Виділити все
# mdadm /dev/md0 --remove /dev/sdb2
# mdadm /dev/md1 --remove /dev/sdb3
# mdadm /dev/md2 --remove /dev/sdb4
Код: Виділити все
# mdadm /dev/md0 -f /dev/sdb2
# mdadm /dev/md1 -f /dev/sdb3
# mdadm /dev/md2 -f /dev/sdb4
II. Добавление диска в массив после замены
1. Определение таблицы разделов(GPT или MBR) и перенос её на новый диск
После замены поврежденного диска нужно добавить новый диск в массив. Для этого надо определить какая у нас таблица разделов: GPT или MBR. Для этого будем использовать gdisk Установим gdisk:
Код: Виділити все
# apt-get install gdisk -y
Код: Виділити все
# gdisk -l /dev/sda
Код: Виділити все
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
Код: Виділити все
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Копирование разметки для GPT:
Код: Виділити все
# sgdisk -R /dev/sdb /dev/sda
Даем диску новый случайный UIDD:
Код: Виділити все
# sgdisk -G /dev/sdb
Код: Виділити все
# sfdisk -d /dev/sda | sfdisk /dev/sdb
Код: Виділити все
# sfdisk -R /dev/sdb
Когда мы создали разделы на /dev/sdb, то можно добавлять диск в массив.
Код: Виділити все
# mdadm /dev/md0 -a /dev/sdb2
# mdadm /dev/md1 -a /dev/sdb3
# mdadm /dev/md2 -a /dev/sdb4
После добавления диска в массив нужно установить на него загрузчик. Если сервер загружен в нормальном режиме, то это делается одной командой:
Код: Виділити все
# grub-install /dev/sdb
Монтируем корневую файловую систему в /mnt:
Код: Виділити все
# mount /dev/md2 /mnt
Код: Виділити все
# mount /dev/md0 /mnt/boot
Код: Виділити все
# mount --bind /dev /mnt/dev
# mount --bind /proc /mnt/proc
# mount --bind /sys /mnt/sys
Код: Виділити все
# chroot /mnt
Код: Виділити все
# grub-install /dev/sdb
#cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf.orig
#mdadm --examine --scan >> /etc/mdadm/mdadm.conf
Теперь можно попробовать загрузится в нормальный режим.
P.S. Если при установке загрузчика возникнет ошибка Could not find device for /boot/boot: not found or not a block device.
Ошибка при восстановлении загрузчика после замены диска в RAID1
Если при установке grub вы получаете ошибку следующего содержания:
Код: Виділити все
root #grub-install --root-directory=/boot /dev/sda
Could not find device for /boot/boot: not found or not a block device
Код: Виділити все
root #grep -v rootfs /proc/mounts > /etc/mtab