Mdadm

Материал из ALT Linux Wiki

(Различия между версиями)
Перейти к: навигация, поиск
(Собрать raid1 с одним диском)
(Примеры использования mdadm)
Строка 30: Строка 30:
==== Потом добавим второй ====
==== Потом добавим второй ====
   mdadm /dev/md0 --add /dev/sda1
   mdadm /dev/md0 --add /dev/sda1
 +
 +
 +
= Изменение hostname и рэйды v.1.2 =
 +
 +
Грузимся с Live CD, режим восстановления (например с Server Light)
 +
Рэйды соберутся с именами md121,md122 и т.д. т.к. hostname = localhost and != <старому имени>
 +
Останавливаем все рэйды
 +
 +
<pre>
 +
mdadm -S /dev/md121
 +
mdadm -S /dev/md122
 +
...
 +
</pre>
 +
 +
меняем hostname
 +
 +
<pre>
 +
hostname <старое имя>
 +
</pre>
 +
 +
собираем рэйды
 +
<pre>
 +
mdadm -S --scan
 +
cat /proc/mdadm (смотрим, что все собралось)
 +
</pre>
 +
 +
Подготавливаемся к переименованию
 +
<pre>
 +
echo "homehost <system>" >> /etc/mdadm.conf
 +
mdadm -D --scan >> /etc/mdadm.conf
 +
</pre>
 +
<pre>
 +
cat /etc/mdadm.conf
 +
MAILADDR root@localhost
 +
PROGRAM /sbin/mdadm-syslog-events
 +
DEVICE partitions
 +
HOMEHOST <system>
 +
 +
ARRAY /dev/md1 metadata=1.2 name=<старое имя>:1 UUID=137c3ff2:9aefae7b:ee71cb74:442e0b4e
 +
ARRAY /dev/md2 metadata=1.2 name=<старое имя>:2 UUID=aa131b47:7493ade5:55b53715:6676cc2d
 +
</pre>
 +
 +
Cобираем рэйды под новое имя сервера
 +
 +
<pre>
 +
hostname <новое имя сервера>
 +
mdadm -S md1
 +
mdadm --verbose -A /dev/md1 --update=homehost --scan
 +
mdadm -S md2
 +
mdadm --verbose -A /dev/md2 --update=homehost --scan
 +
</pre>
 +
 +
проверяем
 +
 +
  mdadm -D /dev/md1
 +
 +
должно содержать
 +
  ...
 +
  Name : <новое имя сервера>:1  (local to host <новое имя сервера>)
 +
  ...
 +
 +
Монтиируем систему и вносим изменения в initrd
 +
 +
<pre>
 +
mount-system
 +
chroot /mnt/system1
 +
</pre>
 +
 +
Изменяем в /etc/sysconfig/network HOSTNAME=<новое имя сервера>
 +
 +
<pre>
 +
echo "homehost <system>" >> /etc/mdadm.conf
 +
mdadm -D --scan >> /etc/mdadm.conf  (и в нем удаляем старые ARRAY)
 +
make-initrd -k <версия ядра> (смотрим в ls -1 /lib/modules)
 +
</pre>
 +
 +
P.S. если корень на raid v1.2 то
 +
<pre>
 +
apt-get install make-initrd-mdadm
 +
cat /etc/initrd.mk
 +
# trying to detect modules and features to access to root volume
 +
AUTODETECT = all
 +
FEATURES += mdadm
 +
</pre>

Версия 11:01, 15 апреля 2014

Содержание

Примеры использования mdadm

Отсканнировать устройства и собрать массивы (после взлета с live CD)

 mdadm -A --scan

Переименовать /dev/md127 в /dev/md0

 mdadm --stop  /dev/md127 
 mdadm -A /dev/md0 --update=super-minor /dev/sda1 /dev/adb1 

Собрать массив в ручную

 mdadm -A /dev/md1 /dev/sd{a,b}1

Остановить массив

 mdadm /dev/md0 --stop
 

Заменить диск в массиве

 mdadm /dev/md0 --fail /dev/sda1
 mdadm /dev/md0 --remove /dev/sda1
 mdadm /dev/md0 --add /dev/sda1

Собрать raid1 с одним диском

Иногда при миграции на raid1 бывает нужно.

 mdadm -C --level=1 -e0.9 --raid-devices=2 /dev/sdb1 missing

Внимание: Если массив будет содержать /boot (в виде отдельной файловой системы, или в составе /), то версия метаданных должна быть 0.9.

Потом добавим второй

 mdadm /dev/md0 --add /dev/sda1


Изменение hostname и рэйды v.1.2

Грузимся с Live CD, режим восстановления (например с Server Light) Рэйды соберутся с именами md121,md122 и т.д. т.к. hostname = localhost and != <старому имени> Останавливаем все рэйды

mdadm -S /dev/md121
mdadm -S /dev/md122
...

меняем hostname

hostname <старое имя>

собираем рэйды

mdadm -S --scan
cat /proc/mdadm (смотрим, что все собралось)

Подготавливаемся к переименованию

echo "homehost <system>" >> /etc/mdadm.conf
mdadm -D --scan >> /etc/mdadm.conf
cat /etc/mdadm.conf
MAILADDR root@localhost
PROGRAM /sbin/mdadm-syslog-events
DEVICE partitions
HOMEHOST <system>

ARRAY /dev/md1 metadata=1.2 name=<старое имя>:1 UUID=137c3ff2:9aefae7b:ee71cb74:442e0b4e
ARRAY /dev/md2 metadata=1.2 name=<старое имя>:2 UUID=aa131b47:7493ade5:55b53715:6676cc2d

Cобираем рэйды под новое имя сервера

hostname <новое имя сервера>
mdadm -S md1
mdadm --verbose -A /dev/md1 --update=homehost --scan
mdadm -S md2
mdadm --verbose -A /dev/md2 --update=homehost --scan

проверяем

  mdadm -D /dev/md1

должно содержать

 ...
 Name : <новое имя сервера>:1  (local to host <новое имя сервера>)
 ...

Монтиируем систему и вносим изменения в initrd

mount-system
chroot /mnt/system1

Изменяем в /etc/sysconfig/network HOSTNAME=<новое имя сервера>

echo "homehost <system>" >> /etc/mdadm.conf
mdadm -D --scan >> /etc/mdadm.conf  (и в нем удаляем старые ARRAY)
make-initrd -k <версия ядра> (смотрим в ls -1 /lib/modules)

P.S. если корень на raid v1.2 то

apt-get install make-initrd-mdadm
cat /etc/initrd.mk
# trying to detect modules and features to access to root volume
AUTODETECT = all
FEATURES += mdadm
 
Личные инструменты