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

GlusterFS - репликация по нечетному количеству узлов

Я попытался создать реплицированный том в моем трехузловом кластере с помощью следующей команды:

sudo gluster volume create \
replicatedStorage \
replica 2 \
transport tcp \
gluster1.mydomain.com:/data \
gluster2.mydomain.com:/data \
gluster3.mydomain.com:/data

Я получил это сообщение об ошибке:

number of bricks is not a multiple of replica count

Из чтение онлайн-документации, похоже, что для репликации всегда должно быть четное количество узлов, а если вы хотите реплицировать дважды, вам нужно иметь число, кратное 4?

Возможна ли следующая диаграмма, где каждый цвет представляет файл?

Реплика 2 означает, что для каждого файла будет храниться две копии. Вы не можете использовать 3 узла, потому что клиент всегда должен знать, где должны быть файлы.

В качестве обходного пути вы можете создать несколько томов с репликой 2 на разных парах узлов, если вы заинтересованы в использовании третьего узла с репликой 2.

Или вы можете использовать реплику 3 и повысить отказоустойчивость.

Вы не можете использовать реплику на нечетном количестве драйверов, но вместо этого можете использовать disperse:

gluster volume create cache disperse 3 redundancy 1 transport tcp gluster{1...3}.mydomain.com:/data

Он разделит ваш файл на части и будет иметь по 2 копии каждого фрагмента (поскольку избыточность равна 1), поэтому вы сможете потерять 1 диск на 3.

В документе говорится, что он должен работать хуже, чем реплика в той же конфигурации.

https://docs.gluster.org/en/latest/Administrator%20Guide/Setting%20Up%20Volumes/#creating-distributed-dispersed-volumes