Настройка программного RAID1 на работающей системе openSuSe 11.2 (11.*, 12.*) Часть 2.

Как было сказано в первой части, мы ожидаем удачного завершения загрузки с “поврежденным” массивом.
В случае удачной загрузки мы должны увидеть вывод команды df, подобный следующему:

vm-rh:~ # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/md0              1,4G  1,1G  233M  83% /
udev                  389M  204K  389M   1% /dev
/dev/md5              470M   11M  436M   3% /home
/dev/md2               98M  5,6M   88M   6% /opt
/dev/md3               99M  5,6M   89M   6% /tmp
/dev/md4              198M   90M   98M  48% /var
vm-rh:~ #

И соответственно вывод /proc/mdstat:

vm-rh:~ # cat /proc/mdstat
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [linear] [multipath]
md5 : active raid1 sdb8[1]
      496576 blocks [2/1] [_U]

md4 : active raid1 sdb7[1]
      208832 blocks [2/1] [_U]

md3 : active raid1 sdb6[1]
      104384 blocks [2/1] [_U]

md2 : active raid1 sdb5[1]
      103360 blocks [2/1] [_U]

md1 : active (auto-read-only) raid1 sdb2[1]
      262080 blocks [2/1] [_U]

md0 : active raid1 sdb1[1]
      1440704 blocks [2/1] [_U]

unused devices: 
vm-rh:~ #

Выполняем подготовку /dev/sda для массива. Сначала меняем типы разделов на fd:

vm-rh:~ # fdisk /dev/sda
Command (m for help): t
Partition number (1-8): 1
Hex code (type L to list codes): fd
Changed system type of partition 1 to fd (Linux raid autodetect)

Command (m for help): t
Partition number (1-8): 2
Hex code (type L to list codes): fd
Changed system type of partition 2 to fd (Linux raid autodetect)

Command (m for help): t
Partition number (1-8): 5
Hex code (type L to list codes): fd
Changed system type of partition 5 to fd (Linux raid autodetect)

Command (m for help): t
Partition number (1-8): 6
Hex code (type L to list codes): fd
Changed system type of partition 6 to fd (Linux raid autodetect)

Command (m for help): t
Partition number (1-8): 7
Hex code (type L to list codes): fd
Changed system type of partition 7 to fd (Linux raid autodetect)

Command (m for help): t
Partition number (1-8): 8
Hex code (type L to list codes): fd
Changed system type of partition 8 to fd (Linux raid autodetect)

Command (m for help): q
vm-rh:~ #

Теперь можно добавлять разделы в “аварийный” массив:

vm-rh:~ # mdadm --add /dev/md0 /dev/sda1
mdadm: added /dev/sda1
vm-rh:~ # mdadm --add /dev/md1 /dev/sda2
mdadm: added /dev/sda2
vm-rh:~ # mdadm --add /dev/md2 /dev/sda5
mdadm: added /dev/sda5
vm-rh:~ # mdadm --add /dev/md3 /dev/sda6
mdadm: added /dev/sda6
vm-rh:~ # mdadm --add /dev/md4 /dev/sda7
mdadm: added /dev/sda7
vm-rh:~ # mdadm --add /dev/md5 /dev/sda8
mdadm: added /dev/sda8
vm-rh:~ #  

Мы можем проверить состояние массива и процесс синхронизации:

vm-rh:~ # cat /proc/mdstat
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [linear] [multipath]
md5 : active raid1 sda8[0] sdb8[1]
      496576 blocks [2/2] [UU]

md4 : active raid1 sda7[0] sdb7[1]
      208832 blocks [2/2] [UU]

md3 : active raid1 sda6[0] sdb6[1]
      104384 blocks [2/2] [UU]

md2 : active raid1 sda5[0] sdb5[1]
      103360 blocks [2/2] [UU]

md1 : active raid1 sda2[0] sdb2[1]
      262080 blocks [2/2] [UU]

md0 : active raid1 sda1[0] sdb1[1]
      1440704 blocks [2/2] [UU]

unused devices: 
vm-rh:~ # 

Теперь настал момент обновить /etc/mdadm/mdadm.conf:

 
vm-rh:~ # gzip /etc/mdadm.conf
vm-rh:~ # mdadm --examine --scan >> /etc/mdadm/mdadm.conf

Осталось выполнить пару действий. Поправить конфигурацию загрузчика в /boot/grub/menu.lst.
Выделяем блок с индексом 1, копируем и вставляем ниже. В заголовке блока меняем MD на MD1.
в новом скопированном блоке соответственно MD на MD0 и меняем значение root на (hd0,0).
Теперь у нас есть возможность грузиться с любого из дисков в случае отказа одного из них.

Еще раз делаем финальный initrd:

vm-rh:~ # mkinitrd -f md

Kernel image:   /boot/vmlinuz-2.6.31.14-0.8-default
Initrd image:   /boot/initrd-2.6.31.14-0.8-default
Root device:    /dev/md0 (mounted on / as ext3)
Kernel Modules: hwmon thermal_sys thermal libata ahci ... 
Features:       block usb md resume.userspace resume.kernel
Bootsplash:     openSUSE (1024x768)
29752 blocks
vm-rh:~ # 

Перезагружаем. Система готова к эксплуатации.

Scroll to top