GlusterFS. Расширение дискового пространства хранилища кластера

Материал из Wiki
Перейти к навигации Перейти к поиску


Вариант 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