Вопрос или проблема
Я создал объем на 2 ТБ, чтобы увеличить пространство в домашнем каталоге.
Я создал раздел:
$ parted /dev/xvdb mklabel gpt
$ parted -s /dev/xvdb mkpart primary ext4 1 100%
Отформатировал раздел:
$ mkfs.ext4 -I 512 /dev/xvdb1
Добавил запись в /etc/fstab
/dev/xvdb /export/home/brick3 ext4 defaults 0 0
Создал точку монтирования:
$ mkdir -p /export/home/brick3
$ chmod 0755 /export/home/brick3
Смонтировал раздел:
$ mount /export/home/brick3
$ mkdir /export/home/brick3/home
$ chmod 0775 /export/home/brick3/home
Однажды, когда я пытался добавить новый кирпич в объем, я получил ошибку.
$ gluster volume add-brick home <hostname>:/export/home/brick3/home
volume add-brick: failed Incorrect number of bricks supplied 1 with count 2
Вам нужно включить replica $COUNT
. Это известная проблема, когда у вас включены реплики:
Текущие ограничения дизайна в модуле репликации не позволяют нам добавлять отдельные кирпичи в существующую топологию.
Сценарий
Вы попробовали что-то подобное:
$ gluster vol add-brick test-volume-replicated3 \
host:/rhss/bricks/brick1/test-volume-replicated3
volume add-brick: failed: Incorrect number of bricks supplied 1 with count 2
Ваш сценарий, вероятно, связан с тем, что у вас настроено несколько реплик для вашего объема gluster, потому что он был построен вот так изначально:
$ gluster vol create test-volume-replicated3 replica 3 \
host1:/rhss/bricks/brick1/test-volume-replicated3 \
host2:/rhss/bricks/brick1/test-volume-replicated3 \
host3:/rhss/bricks/brick1/test-volume-replicated3
volume create: test-volume-replicated3: success: please start the volume to access data
И в настоящее время его топология выглядит так:
$ gluster vol info test-volume-replicated3
Volume Name: test-volume-replicated3
Type: Replicate
Volume ID: 10b3d0e2-14a2-4ec3-a98c-9a3307f3fd8f
Status: Created
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: host1:/rhss/bricks/brick1/test-volume-replicated3
Brick2: host2:/rhss/bricks/brick1/test-volume-replicated3
Brick3: host3:/rhss/bricks/brick1/test-volume-replicated3
Поэтому, чтобы ваша команда работала, вам нужно указать gluster количество реплик при добавлении другого кирпича:
$ gluster vol add-brick test-volume-replicated3 replica 3 \
host:/rhss/bricks/brick1/test-volume-replicated3 \
host:/rhss/bricks/brick2/test-volume-replicated3 \
host:/rhss/bricks/brick3/test-volume-replicated3
Ссылки
Ответ или решение
Когда вы сталкиваетесь с проблемой добавления нового кирпича (brick) в том числе в GlusterFS, важно учитывать особенности конфигурации вашей тома, особенно если используется режим репликации. Рассмотрим ваш сценарий более подробно.
Ситуация
Вы создали обрабатываемый том размером 2TB с возможностью увеличения пространства домашнего каталога и столкнулись с ошибкой при попытке добавить новый кирпич:
volume add-brick: failed Incorrect number of bricks supplied 1 with count 2
Ошибка свидетельствует о том, что вы не указали количество реплик, которое было установлено для вашего тома. Это известное ограничение модуля репликации в GlusterFS.
Техническое обоснование
Когда вы создаете реплицированный том, например:
$ gluster vol create test-volume-replicated3 replica 3 \
host1:/rhss/bricks/brick1/test-volume-replicated3 \
host2:/rhss/bricks/brick1/test-volume-replicated3 \
host3:/rhss/bricks/brick1/test-volume-replicated3
вы указываете, что имеется 3 реплики (brick). Следовательно, GlusterFS ожидает, что любой последующий добавляемый кирпич будет также соответствовать этой конфигурации.
Решение проблемы
Чтобы успешно добавить новый кирпич в ваш реплицированный том, вы должны указать количество реплик при выполнении команды add-brick
. Например:
$ gluster vol add-brick test-volume-replicated3 replica 3 \
host:/rhss/bricks/brick1/test-volume-replicated3 \
host:/rhss/bricks/brick2/test-volume-replicated3 \
host:/rhss/bricks/brick3/test-volume-replicated3
Здесь указывая replica 3
, вы сообщаете системе, что нужно добавить три новых кирпича, соответствующих существующей структуре.
Заключение
При работе с GlusterFS и добавлении кирпичей в реплицированные тома, обязательно указывайте количество реплик, необходимое для поддержания целостности и работоспособности вашего сервиса. Понимание архитектуры GlusterFS и правил добавления кирпичей поможет избежать лишних ошибок и обеспечит надежность хранения данных.
Если проблемы продолжаются или если требуется дополнительная информация, рекомендуется обратиться к официальной документации или обсудить с сообществом GlusterFS для более глубокого анализа и решения.