Как Поменять Hostname Если У Вас Softraid

В новых версиях 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-массив собрался корректно, чтобы не поймать проблемы позже, когда перезагрузка произойдет по другой причине, а о возможных проблемах с рейдом вы уже забудете.

Ваш комментарий. Вики-синтаксис разрешён: