Почему я не могу создать этот том кластера?

9

Я настраиваю свою первую установку Gluster 3.4, и все хорошо, пока я не хочу создать распределенный реплицируемый том.

У меня есть 4 сервера 192.168.0.11, 192.168.0.12, 192.168.0.13 и 192.168.0.14.

С 192.168.0.11 я бегал:

gluster peer probe 192.168.0.12
gluster peer probe 192.168.0.13
gluster peer probe 192.168.0.14

На каждом сервере у меня есть смонтированный том хранения в / export / brick1

Я тогда побежал на 192.168.0.11

том gluster create gv0 replica2 192.168.0.11:/export/brick1 192.168.0.12:/export/brick1 192.168.0.13:/export/brick1 192.168.0.14:/export/brick1

Но я получаю ошибку:

volume create: gv0: failed: Host 192.168.0.11 is not in 'Peer in Cluster' state

Конечно, если вы запустите статус однорангового узла, он покажет 3 узла с другими подключенными хостами. т.е. количество пиров: 3

Имя хоста: 192.168.0.12 Порт: 24007 Uuid: bcea6044-f841-4465-88e4-f76a0c8d5198 Состояние: узел в кластере (подключен)

Имя хоста: 192.168.0.13 Порт: 24007 Uuid: 3b5c188e-9be8-4d0f-a7bd-b738a88f2199 Состояние: узел в кластере (подключен)

Имя хоста: 192.168.0.14 Порт: 24007 Uuid: f6f326eb-0181-4f99-8072-f27652dab064 Состояние: узел в кластере (подключен)

Но с 192.168.0.12 эта же команда также показывает 3 хоста, и 192.168.0.11 является ее частью. т.е.

Number of Peers: 3

Hostname: 192.168.0.11
Port: 24007
Uuid: 09a3bacb-558d-4257-8a85-ca8b56e219f2
State: Peer in Cluster (Connected)

Hostname: 192.168.0.13
Uuid: 3b5c188e-9be8-4d0f-a7bd-b738a88f2199
State: Peer in Cluster (Connected)

Hostname: 192.168.0.14
Uuid: f6f326eb-0181-4f99-8072-f27652dab064
State: Peer in Cluster (Connected)

Так что 192.168.0.11 определенно является частью кластера.

Вопрос в том, почему я не могу создать том на первом сервере кластера при запуске команды кластера. Это нормальное поведение или какая-то ошибка?

Matt
источник

Ответы:

15

Я видел неясное сообщение об ошибке о неподключенном сокете с peer 127.0.0.1.

[2013-08-16 00: 36: 56.765755] W [socket.c: 1494: __ socket_proto_state_machine] 0-socket.management: сбой чтения из сокета. Ошибка (конечная точка транспорта не подключена), одноранговая (127.0.0.1:1022)

Оказывается, проблема была из-за NAT. Я пытался создать кластерные серверы, которые находились за устройством NAT, и использовать общедоступный IP-адрес для разрешения имен. Это просто не будет работать должным образом для локальной машины.

У меня было что-то вроде следующего на каждом узле.

Файл hosts, содержащий

192.168.0.11  gluster1
192.168.0.12  gluster2
192.168.0.13  gluster3
192.168.0.14  gluster4

Исправление состояло в том, чтобы сначала удалить доверенных пиров

sudo gluster peer detach gluster2
sudo gluster peer detach gluster3
sudo gluster peer detach gluster4

Затем измените файл hosts на каждой машине, чтобы

# Gluster1
127.0.0.1     gluster1
192.168.0.12  gluster2
192.168.0.13  gluster3
192.168.0.14  gluster4


# Gluster2
192.168.0.11  gluster1
127.0.0.1     gluster2
192.168.0.13  gluster3
192.168.0.14  gluster4

так далее

Затем выполните одноранговое исследование и, наконец, создайте том, который затем был успешным.

Я сомневаюсь, что использование IP-адресов (общедоступных) будет работать в этом случае. Это должно работать, если вы используете частные адреса за вашим NAT. В моем случае каждый сервер находился за NAT в облаке AWS.

Matt
источник
1
В моем случае мне не пришлось трогать 127.0.0.1, работы с внутренним IP-адресом было достаточно
появился
1

Попробуйте явно определить количество реплик как четыре узла, используя этот формат: -

gluster volume create NEW-VOLNAME [stripe COUNT] [replica COUNT] [transport <tcp | rdma>] NEW-BRICK ...

Я предполагаю, что это чистая копия, а не полоса?

попробуйте это с 192.168.0.11: -

сначала отсоединить все:

sudo gluster peer detach 192.168.0.12
sudo gluster peer detach 192.168.0.13
sudo gluster peer detach 192.168.0.14

следующий повторно добавить в этом формате

gluster volume create gv0 replica 4 transport tcp 192.168.0.11:/export/brick1 192.168.0.12:/export/brick1 192.168.0.13:/export/brick1 192.168.0.14:/export/brick1

Примечание. Я определенно определил этот набор из четырех узлов. Также я явно определил транспорт через TCP .

Если вы хотите разделить два устройства в наборе реплик, вы должны использовать что-то вроде этого:

gluster volume create gv0 stripe 2 replica 2 transport tcp 192.168.0.11:/export/brick1 192.168.0.12:/export/brick1 192.168.0.13:/export/brick1 192.168.0.14:/export/brick1

Продолжайте в том же духе, я недавно обнаружил Gluster, и я влюблен в эту идеологию для распределенных файловых систем ... настоящее произведение искусства.

Я использую Gluster для обеспечения избыточности HA для виртуальных хранилищ данных KVM. волшебный материал

AngryWombat
источник
К сожалению, я получаю точно такую ​​же ошибку. Кроме того, если не указать количество реплик и все тома, отсоединенные в настоящий момент, выдают ту же ошибку. При удалении кирпича 192.168.0.11 он утверждает, что хост 192.168.0.12 не находится в одноранговом узле в состоянии кластера, поэтому вам необходимо сначала проверить их. По крайней мере, так обстоит дело в версии 3.4
Мэтт
Вы могли бы быть правы, предлагая его просто причуду в последней версии. тот факт, что вы устанавливаете все три пира в наборе, указывает, что все грани работают независимо от ошибок, установленных на 192.168.0.11. Что происходит при монтировании общего ресурса с пятого тестового узла и записи в glusterFS. запись появляется на всех кирпичах?
AngryWombat
На самом деле я не могу даже создать нормальный распределенный том на одном кирпиче. Я просто получаю сообщение об ошибке, которое говорит, что это не может быть создано. Журналы имеют бесплодную информацию. Это заставляет меня испытывать желание выбросить это вообще.
Мэтт
У меня была похожая проблема 5 недель назад, переход на v3.3 решил мою проблему. Единственное другое предложение на этом этапе - рассмотреть вопрос о возвращении к 3.3 и провести повторное тестирование.
AngryWombat
Также, возможно, просто начните с двух узлов и работайте оттуда ... Какой дистрибутив вы используете? Я запустил мой на buntu 12.04 с этим репозиторием: - sudo add-apt-repository ppa: semiosis / ubuntu-glusterfs-3.3
AngryWombat