Предположим, что базовая реплика 3 арбитр 1 конфигурация glusterfs-сервер 4.0.2 и glusterfs-client 4.0.2. glusterfs-client установлен на Ubuntu 18.04.
Чтобы убедиться, что операции записи / чтения разрешены, когда один узел хранения не работает, как указано в документы, возникает неожиданный результат. После уничтожения процессов gluster на одном из узлов, не являющихся арбитрами (используя pkill ^gluster*
) точка монтирования клиента не работает с 'Client quorum is not met.
'(см. файл журнала glusterfs-client).
Информация об объеме блеска:
Volume Name: brick01
Type: Replicate
Volume ID: 2310c6f4-f83d-4691-97a7-cbebc01b3cf7
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x (2 + 1) = 3
Transport-type: tcp
Bricks:
Brick1: proxmoxVE-1:/mnt/gluster/bricks/brick01
Brick2: proxmoxVE-2:/mnt/gluster/bricks/brick01
Brick3: arbiter01:/mnt/gluster/bricks/brick01 (arbiter)
Том создается следующей командой
gluster volume create brick01 replica 3 arbiter 1
proxmoxVE-1:/mnt/gluster/bricks/brick01
proxmoxVE-2:/mnt/gluster/bricks/brick01
arbiter01:/mnt/gluster/bricks/brick01
Как указано в документы, файловые операции должны быть разрешены в случаях, когда один кирпич выходит из строя (если арбитр не возражает), тогда почему я получаю сообщение «Кворум клиента не соблюден» на стороне клиента? После значительного времени, потраченного на чтение официальных документов о glusterfs
, Я не смог найти объяснения, почему это происходит, и также отправил отчет об ошибке на Red Hat Bugzilla.
Любая помощь по теме будет очень признательна!
gluster volume heal brick01 enablе
решил вопрос.
Это в конечном итоге добавило повторно настроенную опцию cluster.self-heal-daemon: enable
к объему. Похоже, что по умолчанию кирпич арбитра не может лечить (синхронизировать) одновременно, когда происходит какая-либо операция с файлом, и обвиняет другой кирпич, который все еще работает.