Vidensdatabase

2. Миграция на RAID-1 в работающей системе Centos 7

 

Подготовительный вариант описан тут: http://www.sytes.ru/index.php?rp=/knowledgebase/196/1----RAID-1----Centos7.html

После того, как у нас получилось перейти в окружение chroot - можно сказать. что половина дела сделана. 

/dev/md0: UUID="8f07acb0-38c5-4a12-a636-3457b0a242d0" TYPE="ext4"
/dev/md1: UUID="22851961-18a0-43b7-a864-b22ee65301da" TYPE="ext4"
/dev/md2: UUID="8ab36f74-017f-478e-baf1-750838234db1" TYPE="swap"
 
1.Получаем UUID для наших md-массивов и заменяем ими присутствующие в /etc/fstab UUID-ы:
 blkid | grep md >> /etc/fstab
UUID=22851961-18a0-43b7-a864-b22ee65301da /                      ext4    defaults        1 1
UUID=8f07acb0-38c5-4a12-a636-3457b0a242d0 /boot                   ext4    defaults        1 2
UUID=8ab36f74-017f-478e-baf1-750838234db1 swap                    swap    defaults        0 0
12.Создаем конфиг для mdadm :
# mdadm --detail --scan > /etc/mdadm.conf
сat /etc/mdadm.conf
ARRAY /dev/md0 metadata=1.2 name=centos71.kamaok.org.ua:0 UUID=becf3635:e3608836:0a44f349:c3857549
ARRAY /dev/md1 metadata=1.2 name=centos71.kamaok.org.ua:1 UUID=8d673c0f:e7f66134:e457e6e4:b3b5ea57
ARRAY /dev/md2 metadata=1.2 name=centos71.kamaok.org.ua:2 UUID=de74ce22:e214af73:a81827bd:55283ead
 
13. Делаем новый initramfs, с нужными модулями
# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.old
	
# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.old

# dracut /boot/initramfs-$(uname -r).img $(uname -r)
	
# dracut /boot/initramfs-$(uname -r).img $(uname -r)

 

14. Передаем ядру опцию «rd.auto=1» явно через «GRUB», для этого, добавляем ее в «GRUB_CMDLINE_LINUX»:
nano /etc/default/grub
 /etc/fstab
# nano /etc/default/grub
 
GRUB_CMDLINE_LINUX="rhgb quiet rd.auto=1"
 
 
Необходимость передачи этой опции является то,что по какой-то причине initramfs созданый «dracut» не видит собранного raid и отказывается грузится.
Версия «dracut» 033. https://habrahabr.ru/post/248073/

15.Пересоздаем конфигурационный файл GRUB /boot/grub2/grub.cfg

grub2-mkconfig -o /boot/grub2/grub.cfg

16. Проверяем, что uuid md0 и опция «rd.auto=1» точно записались:

# less -N  /boot/grub2/grub.cfg
 nano /boot/grub2/grub.cfg
 
# nano /boot/grub2/grub.cfg
...............................
menuentry 'CentOS Linux (3.10.0-327.13.1.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.13.1.el7.x86_64-advanced-22851961-18a0-43b7-a864-b22ee65301da' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_msdos
        insmod diskfilter
        insmod mdraid1x
        insmod ext2
        set root='mduuid/becf3635e36088360a44f349c3857549'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint='mduuid/becf3635e36088360a44f349c3857549'  8f07acb0-38c5-4a12-a636-3457b0a242d0
        else
          search --no-floppy --fs-uuid --set=root 8f07acb0-38c5-4a12-a636-3457b0a242d0
        fi
        linux16 /vmlinuz-3.10.0-327.13.1.el7.x86_64 root=UUID=22851961-18a0-43b7-a864-b22ee65301da ro rhgb quiet rd.auto=1
        initrd16 /initramfs-3.10.0-327.13.1.el7.x86_64.img
......................................
 
Еще важно проверить:
# grep md0 /etc/mdadm.conf
 
ARRAY /dev/md0 metadata=1.2 name=centos71.kamaok.org.ua:0 UUID=becf3635:e3608836:0a44f349:c3857549
 
# blkid | grep md1
 
/dev/md1: UUID="22851961-18a0-43b7-a864-b22ee65301da" TYPE="ext4"
 
17.Перезагрузка системы:
# shutdown -r now
 
Проверяем, что используем md-массивы вместо диска sda:
# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/md1        5.4G  1.1G  4.0G  22% /
devtmpfs        484M     0  484M   0% /dev
tmpfs           493M     0  493M   0% /dev/shm
tmpfs           493M  6.8M  487M   2% /run
tmpfs           493M     0  493M   0% /sys/fs/cgroup
/dev/md0        465M  119M  318M  28% /boot
tmpfs            99M     0   99M   0% /run/user/0
1

18.Изменение типа разделов на /dev/sda на Linux raid autodetect:

# fdisk /dev/sda
 
Welcome to fdisk (util-linux 2.23.2).
 
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
 
Command (m for help): t
Partition number (1-3, default 3): 1
Hex code (type L to list all codes): fd
Changed type of partition 'Linux' to 'Linux raid autodetect'
 
Command (m for help): t
Partition number (1-3, default 3): 2
Hex code (type L to list all codes): fd
Changed type of partition 'Linux' to 'Linux raid autodetect'
 
Command (m for help): t
Partition number (1-3, default 3): 3
Hex code (type L to list all codes): fd
Changed type of partition 'Linux swap / Solaris' to 'Linux raid autodetect'
 
Command (m for help): w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
Syncing disks.

19.Добавление /dev/sda1, /dev/sda2 и /dev/sda3 в RAID-массив:

# mdadm --manage --add /dev/md0 /dev/sda1
# mdadm --manage --add /dev/md1 /dev/sda2
# mdadm --manage --add /dev/md2 /dev/sda3

Устанавливаем загрузчик на диск /dev/sda:

 
 
 
 
 
 
20.Проверка состояния RAID-массива(процесса синхронизации)
И проверяем состояние массива. Убеждаемся, что идет процесс синхронизации:
# watch -d -n1 "cat /proc/mdstat
 
21.По окончании синхронизации всех массивов должно быть U_U
 
Тестирование отказоустойчивости -  Проверка состояние RAID-массива
# cat /proc/mdstat
 
Помечаем диск /dev/sda как сбойный
 
# mdadm --manage /dev/md0 --fail /dev/sda1
mdadm: set /dev/sda1 faulty in /dev/md0
 
 
# mdadm --manage /dev/md1 --fail /dev/sda2
mdadm: set /dev/sda2 faulty in /dev/md1
 
 
# mdadm --manage /dev/md2 --fail /dev/sda3
mdadm: set /dev/sda3 faulty in /dev/md2
 
После замены диска
1.Копируем таблицу разделов с диска /dev/sdb на диск /dev/sda
 
# sfdisk -d /dev/sdb | sfdisk --force /dev/sda
 
 
2.Удаляем любые остатки(если они есть) от предыдущего RAID-массива с диска /dev/sda
 
# mdadm --zero-superblock /dev/sda1
 
# mdadm --zero-superblock /dev/sda2
 
# mdadm --zero-superblock /dev/sda3
 
 
3.Добавляем диск /dev/sda в RAID-массив
 
# mdadm --manage --add /dev/md0 /dev/sda1
 
# mdadm --manage --add /dev/md1 /dev/sda2
 
# mdadm --manage --add /dev/md2 /dev/sda3
 
 
4.Проверка состояние RAID-массива(процесс синхронизации)
# watch -d -n1 cat /proc/mdstat
 
 
5.Установим загрузчик на новом диске
# grub2-install /dev/sda
 

Если у вас есть профессиональный интерес в расширении данной статьи – заполните форму запроса!

Cпасибо автору!

Заметка распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

 

     Источник:

Конец! 

#grub2-install /dev/sda
  • 0 Kunder som kunne bruge dette svar
Hjalp dette svar dig?

Relaterede artikler

Настройка стандартного ПО на LXC CentOS 7

Первичная настройка сервера #Ставим софт  yum update  yum -y install sudo yum install nano  yum...

Базовая настройка веб-сервера Apache LXC CentOS 7

   Краткая инструкция по настройке LXC с CentOS 7 . Желательно обновить все пакеты, прежде чем...

FTP vsftpd на CentOS 6

Простая настройка  FTР vsftpd  CentOS 6 О vsftpd Предупреждение: FTP изначально...

0. Shablon

Это технический шаблон заметки о CLI!  Данный опус является частью единого цикла...

5. Установка OpenVZ на CentOS

  Установка OpenVZ на CentOS Данный опус является частью единого цикла...