glusterfs Невозможно прочитать файл состояния gsyncd
Я хотел попробовать гео-репликацию glusterfs в некоторых виртуальных ящиках на моем компьютере для последующего использования, распределенного по нескольким сайтам.
Я установил glusterfs 3.6 на 32-битные серверы Ubuntu следующим образом:
add-apt-repository -y ppa:gluster/glusterfs-3.6
apt-get update -qq
apt-get install glusterfs-server -y
В /etc/hosts
на каждой виртуальной коробке есть такая запись, чтобы я мог использовать имена хостов:
192.168.1.1 ivymaster.com
192.168.1.2 ivyslave2.com
192.168.1.3 ivyslave1.com
Сначала я создал и начал том на мастере (force
создать на rootfs):
gluster volume create master ivymaster.com:/var/glustermaster/ force
gluster volume start master
Работает отлично. Я устанавливаю логин без пароля с помощью ssh-copy-id
и один раз вошел в систему вручную, чтобы проверить, правильно ли настроено устройство и хранится ли он в known_hosts
,
Я не смог настроить синхронизацию в каталог, как описано в терминологии гео-репликации - Понимание URI. Ошибка создания георепликации с проблемой URI.
gluster volume geo-replication master ivyslave2.com:/var/slave2 start
Staging failed on localhost. Please check the log file for more details.
Лог-файл содержит записи, такие как Invalid slave name
, Unable to store slave volume name
, Unable to fetch slave or confpath details
,
Когда я создаю том на ivyslave2.com
и создать гео-репликацию с использованием этого тома, это работает:
gluster volume geo-replication master ivyslave2.com::slave2 create push-pem force
Creating geo-replication session between master & ivyslave2.com::slave2 has been successful
К несчастью, gluster volume geo-replication master ivyslave2.com::slave2 status
говорит, что статус репликации неисправен.
MASTER NODE MASTER VOL MASTER BRICK SLAVE STATUS CHECKPOINT STATUS CRAWL STATUS
--------------------------------------------------------------------------------------------------------------------------------
ivyVirtMaster master /var/glusterfs_master_nv ivyslave2.com::slave2 faulty N/A N/A
После выполнения этой команды файл журнала на главном сервере содержит Using passed config template(/var/lib/glusterd/geo-replication/master_ivyslave2.com_slave2/gsyncd.conf).
, Unable to read gsyncd status file
, Unable to read the statusfile for /var/glusterfs_master_nv brick for master(master), ivyslave2.com::slave2(slave) session
,
Лог-файл на подчиненном содержит Received status volume req for volume slave2
, tune2fs exited with non-zero exit status
, failed to get inode size
,
Это том на слэйве неисправен? Как настроить гео-репликацию без тома? Что-то не так в конфигурации гео-репликации?
1 ответ
Начиная с Gluster 3.5, вы не можете использовать папку в качестве места назначения гео-репликации. Начиная с 3.5 вы должны реплицировать данные с одного тома кластера на другой том кластера.
Что касается проблемы, с которой вы столкнулись при гео-репликации от тома к кластеру, есть некоторые другие команды, которые вы могли или не могли выполнять.
До "создания" вам необходимо
- убедитесь, что между паролем и ведомым существует ssh без пароля
- Вы должны сгенерировать ключи, которые Gluster использует для связи между мастерами и подчиненными, выполнив эту команду на одном из мастеров:
gluster system:: execute gsec_create
Затем вы запустите команду create, как и раньше, но без опции force. Если ваше создание не удалось без применения силы, значит что-то не так, и применение силы просто замаскирует проблему и приведет к неправильной настройке.
После того, как вы успешно выполнили "создание push-pem" (без применения силы), вам нужно запустить процесс репликации:
gluster volume geo-replication master ivyslave2.com::slave2 start