У меня есть 2 одноранговая система GlusterFS. Первоначально он был создан с использованием простых имен хостов file01 и file02. Эти хосты были добавлены в / etc / hosts, чтобы он работал.
Теперь мы хотим начать использовать полное доменное имя, потому что мы хотим присоединить другие серверы к томам с помощью собственного клиента GlusterFS. Мы не хотим поддерживать файлы hosts для каждого сервера.
Можно ли перенастроить текущую настройку для использования полных имен хостов file01.example.com и file02.example.com?
Спасибо!
в соответствии с http://lists.gluster.org/pipermail/gluster-users/2017-January/029587.html
Когда вам нужно переименовать своих сверстников, кирпичи и т. Д. Без разрушения кластера, вы должны остановить службу glusterfs, а затем переименовать все вхождения в файлах данных glusterfs.
Я предоставлю вам сценарий (без каких-либо гарантий), который я использовал для автоматизации этой задачи.
ВНИМАНИЕ: Перед тем, как продолжить, обязательно сделайте резервную копию ваших данных и действуйте с осторожностью. Не выполняйте никакую команду, не понимая, что именно она делает, убедитесь, что вы находитесь на правильном пути, сделайте правильные замены имен в каждой команде, если применимо (указано в верхнем регистре), и убедитесь, что все ваши новые имена одноранговых узлов разрешаются DNS .
СЛЕДУЮЩИЕ ШАГИ ДОЛЖНЫ БЫТЬ ВЫПОЛНЕНЫ НА ВСЕХ УЗЛАХ.
Шаг 1: остановить сервис glusterd.
sudo systemctl stop glusterd.service
Шаг 2: перечислить содержимое каталога / var / lib / glusterd / vols.
ls -l /var/lib/glusterd/vols
Шаг 3: переименование файлов данных томов, для каждый том делать:
cd /var/lib/glusterd/vols/YOURVOLUMENAME
ls -l | grep .data.vol #<-- gets the list of files you need to rename for the current volume
sudo mv clusterdata.OLDNAME1.data.vol clusterdata.NEWNAME1.data.vol
sudo mv clusterdata.OLDNAME2.data.vol clusterdata.NEWNAME2.data.vol
sudo mv clusterdata.OLDNAME-N.data.vol clusterdata.NEWNAME-N.data.vol
Шаг 4: переименование томов кирпичей, для каждый том делать:
cd /var/lib/glusterd/vols/YOURVOLUMENAME/bricks
ls -l | grep :-data #<-- gets the list of brick files you need to rename for the current volume
sudo mv OLDNAME1\:-data NEWNAME1\:-data
sudo mv OLDNAME2\:-data NEWNAME2\:-data
sudo mv OLDNAME-N\:-data NEWNAME-N\:-data
Шаг 5: Обнаружить все вхождения OLDNAME в файлах конфигурации:
cd /var/lib/glusterd
sudo grep -rnw . -e 'OLDNAME'
Шаг 6: Автоматически заменять все вхождения OLDNAME в файлах конфигурации:
cd /var/lib/glusterd
sudo find . -type f -exec sed -i 's/OLDNAME/NEWNAME/g' {} \;
Шаг 7: Убедитесь, что все вхождения были заменены:
sudo grep -rnw . -e 'OLDNAME'
sudo grep -rnw . -e 'NEWNAME'
ТОЛЬКО ПОСЛЕ ВЫПОЛНЕНИЯ ЭТАПОВ НА ВСЕХ УЗЛАХ ...
Запустите службу glusterd на каждом узле и проверьте состояние.
sudo systemctl start glusterd.service
sudo systemctl status glusterd.service
sudo gluster peer status
sudo gluster volume status
sudo gluster volume info