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