Назад | Перейти на главную страницу

Переименовать узел GlusterFS

У меня есть 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

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

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