Имеется рабочая система на Ubuntu 12.04 desktop. Попытаемся присоединить к ней второй диск и перевести систему на массив RAID1 - то бишь зазеркалить.
Во первых необходимо доустановить пакет mdadm:
sudo apt-get install mdadm
Затем с помощью fdisk создать на втором винте один раздел на весь объем .
И создать raid массив , включив в него наш диск:
mdadm --create /dev/md0 --level=1 --raid-devices=2 misinng /dev/sdb1
посмотрим схему разбиения первого диска :
fdisk -l /dev/sda
и создадим такую же схему на нашем raid массиве:
fdisk /dev/md0
на первом жестком диске у меня было два раздела sda1(/) и sda2(swap). Соответственно на реид диске я создал 2 раздела : md0p1(/) и md0p2(swap) и отформатируем их:
mkfs.ext4 /dev/md0p1
mkswap /dev/md0p2
примонтируем раздел md0p1 например в каталог /mnt
mount /dev/md0p1 /mnt
и скопируем содержимое корневой файловой системы на новый раздел:
rsync -axu / /mnt
теперь примонтируем специальные каталоги в новую корневую систему:
mount --bind /dev /mnt/bind
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /run /mnt/run
сменим окружение root на новую корневую систему:
chroot /mnt
нам необходимо исправить значение uuid для корневой файловой системы и раздела подкачки:
ls -l /dev/disk/by-uuid | grep md >> /etc/fstab
nano /etc/fstab
Теперь нужно обновить конфиг grub и проинсталлировать его на /dev/sdb:
update-grub
grub-install /dev/sdb
Добавим информацию о нашем raid массиве в конфиг mdadm:
mdadm --examine --scan >> /etc/mdadm/mdadm.conf
и обновим конфигурацию mdadm:
dpkg-reconfigure mdadm
и пересоберем initrd:
update-initramfs -u
Напомню, что это мы выполняем в окружении chroot , о чем говорит слеш перед решеткой в командной строке.
Теперь можем выйти из окружения chroot и в основной системе обновить загрузчик grub чтобы при загрузке можно было выбрать вариант загрузки с raid массива:
exit
update-grub
перезагружаемся и выбираем загрузку с раздела md0p1. Увидим, что ругнется на некорректный массив raid.
Проверить , что мы загрузились в новый корневой раздел, можно дав команду mount, которая покажет размещение корневого раздела на /dev/md0p1
состояние raid массива можно смотреть cat /proc/mdstat
Теперь удалим все разделы на первом диске sda, создадим не нем один раздел sda1 на весь объем диска и подключим его в наш raid массив:
fdisk /dev/sda
.
.
.
mdadm --manage /dev/md0 --add /dev/sda1
После этой команды начнет восстанавливаться raid массив. Проконтролировать это можно :
watch -d -n 1 cat /proc/mdstat
По окончании процесса восстановления массива, необходимо прописать загрузчик на диск sda :
grub-install /dev/sda
Перезагружаемся.Теперь у нас система работает на raid массиве из двух дисков. Это "инструкция" написана для случая , когда два диска одинакового объема, если диски по объемам различаются, тогда надо будет корректировать размер создаваемых разделов sda1 sdb1 перед включением их в raid массив.
В случае выхода из строя одного из дисков в массиве, можно подключить новый, создать на нем раздел и включить его в наш raid массив.
Если при установке пакета mdadm не отказались от получения почтовых сообщений о работе mdadm , не забывайте просматривать почту, в случае проблем с массивом придет сообщение.
Иногда не получается загрузиться со второго диска(при разрушенном первом) - после появления меню grub идет перезагрузка. Чтобы такого не было необходимо раскомментировать строку GRUB_TERMINAL=console
в файле /etc/default/grub, и пересобрать груб.
Во первых необходимо доустановить пакет mdadm:
sudo apt-get install mdadm
Затем с помощью fdisk создать на втором винте один раздел на весь объем .
И создать raid массив , включив в него наш диск:
mdadm --create /dev/md0 --level=1 --raid-devices=2 misinng /dev/sdb1
посмотрим схему разбиения первого диска :
fdisk -l /dev/sda
и создадим такую же схему на нашем raid массиве:
fdisk /dev/md0
на первом жестком диске у меня было два раздела sda1(/) и sda2(swap). Соответственно на реид диске я создал 2 раздела : md0p1(/) и md0p2(swap) и отформатируем их:
mkfs.ext4 /dev/md0p1
mkswap /dev/md0p2
примонтируем раздел md0p1 например в каталог /mnt
mount /dev/md0p1 /mnt
и скопируем содержимое корневой файловой системы на новый раздел:
rsync -axu / /mnt
теперь примонтируем специальные каталоги в новую корневую систему:
mount --bind /dev /mnt/bind
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /run /mnt/run
сменим окружение root на новую корневую систему:
chroot /mnt
нам необходимо исправить значение uuid для корневой файловой системы и раздела подкачки:
ls -l /dev/disk/by-uuid | grep md >> /etc/fstab
nano /etc/fstab
Теперь нужно обновить конфиг grub и проинсталлировать его на /dev/sdb:
update-grub
grub-install /dev/sdb
Добавим информацию о нашем raid массиве в конфиг mdadm:
mdadm --examine --scan >> /etc/mdadm/mdadm.conf
и обновим конфигурацию mdadm:
dpkg-reconfigure mdadm
и пересоберем initrd:
update-initramfs -u
Напомню, что это мы выполняем в окружении chroot , о чем говорит слеш перед решеткой в командной строке.
Теперь можем выйти из окружения chroot и в основной системе обновить загрузчик grub чтобы при загрузке можно было выбрать вариант загрузки с raid массива:
exit
update-grub
перезагружаемся и выбираем загрузку с раздела md0p1. Увидим, что ругнется на некорректный массив raid.
Проверить , что мы загрузились в новый корневой раздел, можно дав команду mount, которая покажет размещение корневого раздела на /dev/md0p1
состояние raid массива можно смотреть cat /proc/mdstat
Теперь удалим все разделы на первом диске sda, создадим не нем один раздел sda1 на весь объем диска и подключим его в наш raid массив:
fdisk /dev/sda
.
.
.
mdadm --manage /dev/md0 --add /dev/sda1
После этой команды начнет восстанавливаться raid массив. Проконтролировать это можно :
watch -d -n 1 cat /proc/mdstat
По окончании процесса восстановления массива, необходимо прописать загрузчик на диск sda :
grub-install /dev/sda
Перезагружаемся.Теперь у нас система работает на raid массиве из двух дисков. Это "инструкция" написана для случая , когда два диска одинакового объема, если диски по объемам различаются, тогда надо будет корректировать размер создаваемых разделов sda1 sdb1 перед включением их в raid массив.
В случае выхода из строя одного из дисков в массиве, можно подключить новый, создать на нем раздел и включить его в наш raid массив.
Если при установке пакета mdadm не отказались от получения почтовых сообщений о работе mdadm , не забывайте просматривать почту, в случае проблем с массивом придет сообщение.
Иногда не получается загрузиться со второго диска(при разрушенном первом) - после появления меню grub идет перезагрузка. Чтобы такого не было необходимо раскомментировать строку GRUB_TERMINAL=console
в файле /etc/default/grub, и пересобрать груб.
Спасибо за статью - очень сильно помогла!
ОтветитьУдалить