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

Почему я не могу создать этот блестящий объем?

Я устанавливаю свою первую установку 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 volume 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

Разумеется, если вы запустите gluster peer status, он покажет 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 определенно является частью кластера.

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

Я видел непонятное сообщение об ошибке о неподключенном сокете с одноранговым узлом 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. Я пытался создать серверы Gluster, которые находились за устройством 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.

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

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. магия