Переименуйте одноранговый узел GlusterFS

У меня есть 2 одноранговых узла система GlusterFS. Это было первоначально создано с помощью простых имен хостов file01 и file02. Эти хосты были добавлены к/etc/hosts, чтобы заставить его работать.

Теперь мы хотим начать использовать FQDN, потому что мы хотим присоединить другие серверы к объемам с помощью собственного клиента GlusterFS. Мы не хотим должными быть поддерживать файлы hosts для каждого сервера.

Действительно ли возможно реконфигурировать текущую установку для использования полных имен хостов file01.example.com и file02.example.com?

Спасибо!

2
задан 26 September 2014 в 20:39
2 ответа

согласно http://lists.gluster.org/pipermail/gluster-users/2017-January/029587.html

  1. Stop glusterd на N1, N2.
  2. Если вы пытаетесь изменить имя хоста N1, то на N2 вы должны необходимо заменить вхождения старого имени хоста новым именем хоста во всех файлы, расположенные в / var / lib / glusterd
  3. Перезапустите GlusterD на всех узлах и проверьте статус однорангового узла.
1
ответ дан 3 December 2019 в 12:51

Когда вам нужно переименовать ваши одноранговые узлы, ваши блоки и т. д. без разрушения вашего кластера, вы должны остановить службу 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
3
ответ дан 9 April 2020 в 15:35

Теги

Похожие вопросы