GlusterFS. Расширение дискового пространства хранилища кластера
Вариант 1. Расширение разделов LVM, если брики gfs находятся на LVM
Останавливаем volume
gluster volume stop gfs_volume01
Идем в мануал: LVM. Расширение объема раздела LV за счет второго раздела на том же физическом диске или раздела на другом физическом диске
Здесь в секции "РАСШИРИТЬ ОБЪЕМ РАЗДЕЛ LVM ЗА СЧЕТ ДРУГОГО РАЗДЕЛА ИЛИ ДИСКА" ищем как расширить раздел, расширяем раздел LVM на каждом диске до одинакового объема каждой машины в кластере gfs
Запускаем volume
gluster volume start gfs_volume01
На клиенте примонтированный volume увеличится в объеме
Вариант 2. Добавление бриков к существующему replicated volume
Имеем replicated volume из 3 бриков (физические диски sdb по 1.5гб) на 3 машинах, то есть тройная репликация 1.5гб
gluster volume info
Volume Name: gfs_volume01 Type: Replicate Volume ID: bcc1ee9b-337f-4396-927f-e8e8332255c5 Status: Started Snapshot Count: 0 Number of Bricks: 1 x 3 = 3 Transport-type: tcp Bricks: Brick1: gfs01:/mnt/gfs_data01/data Brick2: gfs02:/mnt/gfs_data01/data Brick3: gfs03:/mnt/gfs_data01/data Options Reconfigured: cluster.granular-entry-heal: on storage.fips-mode-rchecksum: on transport.address-family: inet nfs.disable: on performance.client-io-threads: off
gluster volume status
Status of volume: gfs_volume01 Gluster process TCP Port RDMA Port Online Pid ------------------------------------------------------------------------------ Brick gfs01:/mnt/gfs_data01/data 49152 0 Y 4465 Brick gfs02:/mnt/gfs_data01/data 49152 0 Y 11129 Brick gfs03:/mnt/gfs_data01/data 49152 0 Y 3269 Self-heal Daemon on localhost N/A N/A Y 4482 Self-heal Daemon on gfs03 N/A N/A Y 3286 Self-heal Daemon on gfs02 N/A N/A Y 11146 Task Status of Volume gfs_volume01 ------------------------------------------------------------------------------ There are no active volume tasks
На клиенте
df -h
192.168.199.111:gfs_volume01 1.5G 19M 1.4G 2% /mnt/pve/gfs_volume01
Необходимо увеличить общий объем хранилища
На всех машинах кластера
Создаем на 3 машинах кластера дополнительно одинаковые брики по 2гб из физических дисков sdc
fdisk /dev/sdc
n, Enter, Enter, Enter, Enter, w
pvcreate /dev/sdc1
vgcreate vg02 /dev/sdc1
lvcreate -l 100%FREE -T vg02/lv02
ИЛИ
lvcreate -L 20G -T vg02/lv02
mkfs.ext4 /dev/mapper/vg02-lv02
mkdir /mnt/gfs_data02
mount /dev/mapper/vg02-lv02 /mnt/gfs_data02/
echo "/dev/mapper/vg02-lv02 /mnt/gfs_data02 ext4 defaults 0 0" >> /etc/fstab
Не нужно использовать корень монтирования для хранения данных брика glusterfs
Создаем для этого директорию data в корне примонтированного диска
mkdir /mnt/gfs_data02/data
df -h
/dev/mapper/vg02-lv02 2.0G 7.1M 1.9G 1% /mnt/gfs_data02
На одной любой машине кластера
Добавляем к существующей replicated volume "gfs_volume01" 3 реплицирующихся брика с каждой машины
Проводить данную операцию можно налету, не останавливая volume и не отмонтируя volume на клиенте
gluster volume add-brick gfs_volume01 replica 3 gfs01:/mnt/gfs_data02/data gfs02:/mnt/gfs_data02/data gfs03:/mnt/gfs_data02/data force
Проверяем на клиенте
Объем увеличился на +2GB
df -h
192.168.199.111:gfs_volume01 3.4G 46M 3.2G 2% /mnt/pve/gfs_volume01
Удалить новые, расширяющие объем volume, брики (не очень хорошая идея если хранилище заполнено полностью, скорее всего часть файлов потеряется)
gluster volume remove-brick gfs_volume01 gfs01:/mnt/gfs_data02/data gfs02:/mnt/gfs_data02/data gfs03:/mnt/gfs_data02/data force