wiki:technical:ds:change_hdd_softraid1
no way to compare when less than two revisions
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия | |||
— | wiki:technical:ds:change_hdd_softraid1 [2017/04/07 22:51] (текущий) – внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Как заменить HDD в программном RAID1 ====== | ||
+ | |||
+ | ===== Получение информации о состоянии массивов ===== | ||
+ | В командной строке выполняем: | ||
+ | < | ||
+ | # cat / | ||
+ | Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] | ||
+ | md3 : active raid1 sda4[0] sdb4[1](F) | ||
+ | 1822442815 blocks super 1.2 [2/1] [U_] | ||
+ | |||
+ | md2 : active raid1 sda3[0] sdb3[1](F) | ||
+ | 1073740664 blocks super 1.2 [2/1] [U_] | ||
+ | |||
+ | md1 : active raid1 sda2[0] sdb2[1](F) | ||
+ | 524276 blocks super 1.2 [2/1] [U_] | ||
+ | |||
+ | md0 : active raid1 sda1[0] sdb1[1](F) | ||
+ | 33553336 blocks super 1.2 [2/1] [U_] | ||
+ | |||
+ | unused devices: | ||
+ | </ | ||
+ | О том, что массивы в порядке, | ||
+ | |||
+ | ===== Удаление неисправного диска из RAID1 ===== | ||
+ | Перед установкой нового HDD необходимо удалить из массива поврежденный диск. Для этого выполняем следующую последовательность команд: | ||
+ | < | ||
+ | # mdadm /dev/md0 -r /dev/sdb1 | ||
+ | # mdadm /dev/md1 -r /dev/sdb2 | ||
+ | # mdadm /dev/md2 -r /dev/sdb3 | ||
+ | # mdadm /dev/md3 -r /dev/sdb4 | ||
+ | </ | ||
+ | Бывают ситуации, | ||
+ | < | ||
+ | # cat / | ||
+ | Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] | ||
+ | md3 : active raid1 sda4[0] sdb4[1](F) | ||
+ | 1822442815 blocks super 1.2 [2/1] [UU] | ||
+ | |||
+ | md2 : active raid1 sda3[0] sdb3[1](F) | ||
+ | 1073740664 blocks super 1.2 [2/1] [UU] | ||
+ | |||
+ | md1 : active raid1 sda2[0] sdb2[1](F) | ||
+ | 524276 blocks super 1.2 [2/1] [U_] | ||
+ | |||
+ | md0 : active raid1 sda1[0] sdb1[1](F) | ||
+ | 33553336 blocks super 1.2 [2/1] [U_] | ||
+ | |||
+ | unused devices: | ||
+ | </ | ||
+ | В таком случае не удастся удалить рабочий раздел из массива. Необходимо сначала пометить его как сбойный: | ||
+ | < | ||
+ | # mdadm /dev/md2 -f /dev/sdb3 | ||
+ | # mdadm /dev/md3 -f /dev/sdb4 | ||
+ | |||
+ | # cat / | ||
+ | Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] | ||
+ | md3 : active raid1 sda4[0] sdb4[1](F) | ||
+ | 1822442815 blocks super 1.2 [2/1] [U_] | ||
+ | |||
+ | md2 : active raid1 sda3[0] sdb3[1](F) | ||
+ | 1073740664 blocks super 1.2 [2/1] [U_] | ||
+ | |||
+ | md1 : active raid1 sda2[0] sdb2[1](F) | ||
+ | 524276 blocks super 1.2 [2/1] [U_] | ||
+ | |||
+ | md0 : active raid1 sda1[0] sdb1[1](F) | ||
+ | 33553336 blocks super 1.2 [2/1] [U_] | ||
+ | |||
+ | unused devices: | ||
+ | </ | ||
+ | а затем удалить: | ||
+ | < | ||
+ | # mdadm /dev/md0 -r /dev/sdb1 | ||
+ | # mdadm /dev/md1 -r /dev/sdb2 | ||
+ | # mdadm /dev/md2 -r /dev/sdb3 | ||
+ | # mdadm /dev/md3 -r /dev/sdb4 | ||
+ | </ | ||
+ | После этого можем производить замену HDD. | ||
+ | |||
+ | ===== Добавление нового диска в RAID1 ===== | ||
+ | Оба диска в массиве должны иметь абсолютно одинаковое разбиение. В зависимости от используемого типа таблицы разделов (MBR или GPT) необходимо использовать соответствующие утилиты для копирования таблицы разделов. | ||
+ | |||
+ | ==== Определение типа таблицы разделов ==== | ||
+ | Узнать тип таблицы разделов можно с помощью утилиты gdisk. Например, | ||
+ | < | ||
+ | # gdisk -l /dev/sda | ||
+ | Partition table scan: | ||
+ | MBR: protective | ||
+ | BSD: not present | ||
+ | APM: not present | ||
+ | GPT: present | ||
+ | </ | ||
+ | И в случае с MBR мы получим: | ||
+ | < | ||
+ | # gdisk -l /dev/sda | ||
+ | MBR: MBR only | ||
+ | BSD: not present | ||
+ | APM: not present | ||
+ | GPT: not present | ||
+ | </ | ||
+ | |||
+ | ==== Копирование таблицы разделов на новый диск ==== | ||
+ | Для жесткого диска с MBR используем утилиту sfdisk: | ||
+ | < | ||
+ | # sfdisk -d /dev/sda | sfdisk --force /dev/sdb | ||
+ | </ | ||
+ | где: | ||
+ | * ''/ | ||
+ | * ''/ | ||
+ | Для жесткого диска с GPT используем утилиту sgdisk: | ||
+ | < | ||
+ | # sgdisk -R /dev/sdb /dev/sda | ||
+ | # sgdisk -G /dev/sdb | ||
+ | </ | ||
+ | где: | ||
+ | * ''/ | ||
+ | * ''/ | ||
+ | * '' | ||
+ | |||
+ | ==== Добавление размеченного диска в массивы ==== | ||
+ | Выполняем последовательность команд: | ||
+ | < | ||
+ | # mdadm /dev/md0 -a /dev/sdb1 | ||
+ | # mdadm /dev/md1 -a /dev/sdb2 | ||
+ | # mdadm /dev/md2 -a /dev/sdb3 | ||
+ | # mdadm /dev/md3 -a /dev/sdb4 | ||
+ | </ | ||
+ | После этого начнется процесс синхронизации. Время синхронизации зависит от объема жесткого диска: | ||
+ | < | ||
+ | # cat / | ||
+ | Personalities : [raid1] | ||
+ | md3 : active raid1 sdb4[1] sda4[0] | ||
+ | | ||
+ | | ||
+ | |||
+ | md2 : active raid1 sdb3[1] sda3[0] | ||
+ | | ||
+ | |||
+ | md1 : active raid1 sdb2[1] sda2[0] | ||
+ | | ||
+ | |||
+ | md0 : active raid1 sdb1[1] sda1[0] | ||
+ | | ||
+ | |||
+ | unused devices: | ||
+ | </ | ||
+ | |||
+ | ===== Установка загрузчика GRUB ===== | ||
+ | Если в системе используется загрузчик GRUB2 и если сервер не загружен с LiveCD (режимы rescue, recovery), достаточно выполнить следующие команды (при этом нет необходимости дожидаться окончания процесса синхронизации): | ||
+ | < | ||
+ | # grub-install /dev/sdb | ||
+ | # update-grub | ||
+ | </ | ||
+ | |||
+ | Если сервер загружен с LiveCD (режимы rescue, recovery) установка загрузчика выглядит следующим образом: | ||
+ | - Монтируем корневую файловую систему в / | ||
+ | # mount /dev/md2 / | ||
+ | - Монтируем / | ||
+ | # mount /dev/md0 / | ||
+ | - Монтируем /dev, /proc и / | ||
+ | # mount --bind /dev /mnt/dev | ||
+ | # mount --bind /proc /mnt/proc | ||
+ | # mount --bind /sys / | ||
+ | - Делаем chroot в примонтированную систему:< | ||
+ | # chroot / | ||
+ | - Устанавливаем grub на sdb:< | ||
+ | # grub-install /dev/sdb | ||
+ | # update-grub</ | ||
+ | Теперь можно загрузится в нормальный режим. | ||
wiki/technical/ds/change_hdd_softraid1.txt · Последнее изменение: 2017/04/07 22:51 — 127.0.0.1