В новых версиях metadata (начиная с 1.0) у raid-разделов появился аргумент name, в который по-умолчанию добавляется homehost, или hostname вашего сервера, который вы ввели при установке. Идея хорошая: если вы случайно вставите диск не в тот сервер, рейд-массив просто не сможет собраться в автоматическом режиме под необходимым именем. Но если вы решите сменить hostname на сервере - у вас начнутся проблемы.
В нашем примере, у нас есть 3 рейд массива md0, md50 И md100. На первом находится корневая файловая система и его мы исправлять не будем (да и проблем пока наличие в нем некорректного hostname не приносит). Остальные 2 массива используются под данные и под своп.
Пример проблемы можно увидеть на примере:
[root@superserver ~]# mdadm –misc –scan –detail
ARRAY /dev/md/node6:0 metadata=1.0 name=superserver:0 UUID=2ee88b6c:c6760b18:4bb7a623:4d2402b4
ARRAY /dev/md50 metadata=1.2 name=superserver:50 UUID=20be6157:895489db:065d7058:dd9d7b5b
ARRAY /dev/md100 metadata=1.2 name=superserver:100 UUID=c7093260:ff809ad1:ae8cd04a:1357f1b0
Пример, когда проблемы нет:
ARRAY /dev/md50 metadata=0.90 UUID=60179f5e:927c6eb5:ada23c42:5bc247c6
(Для версии metadata меньше 1 проблема не актуальна)
# Останавливаем все сервисы, использующие диск и отклбчаем своп /etc/init.d/superserver stop swapoff -a # Останавливаем рейд-массив mdadm --stop /dev/md100 mdadm --stop /dev/md50 # Переподключаем массив, указав опцию обновления mdadm -v -A /dev/md50 --update=homehost --homehost=ignore mdadm -v -A /dev/md100 --update=homehost --homehost=ignore # Сейчас в выводе hostname уже не должен быть указан mdadm --misc --scan --detail
Пример, когда проблемы уже нет:
[root@superserver /]# mdadm –misc –scan –detail
ARRAY /dev/md/node6:0 metadata=1.0 name=superserver:0 UUID=2ee88b6c:c6760b18:4bb7a623:4d2402b4
ARRAY /dev/md100 metadata=1.2 name=ignore:100 UUID=c7093260:ff809ad1:ae8cd04a:1357f1b0
ARRAY /dev/md50 metadata=1.2 name=ignore:50 UUID=20be6157:895489db:065d7058:dd9d7b5b
Чтобы исправить md0 нужно отмонтировать корневую файловую систему, но мы этого не делаем. Значение ignore - означает, что hostname проверяться не будет.
Осталось обновить конфиг mdadm.conf:
cp /etc/mdadm.conf /etc/mdadm.conf.bk echo 'AUTO +imsm +1.x -all' > /etc/mdadm.conf mdadm --detail --scan >> /etc/mdadm.conf # Проверяем, что обновилось только необходимое diff -U0 /etc/mdadm.conf*
После этого можно поменять hostname, проверьте файлы
vim /etc/sysconfig/network vim /etc/hosts hostname new.hostname.ru
После всего этого обязательно проведите тестовую перезагрузку и удостоверьтесь, что radi-массив собрался корректно, чтобы не поймать проблемы позже, когда перезагрузка произойдет по другой причине, а о возможных проблемах с рейдом вы уже забудете.