GlusterFS – Striped – Volume mit neuem Brick erweitern

System ist ein Debian Wheezy mit GlusterFS 3.4 und 2 Server / Bricks die ein Volume Vol1 vom Typ Striped besitzen.
Ziel ist es dieses Volume um zwei weitere Bricks / Server zu erweitern. Da wie unten zu sehen die Konfiguration 1*2=2 ist, müssen immer 2 weitere Server zugleich hinzugefügt werden.

Status quo
# gluster volume info
Volume Name: vol1
Type: Stripe
Volume ID: e2c07968-4f01-441f-b936-58a643bac7c7
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: glusternode1:/gluster/striped
Brick2: glusternode2:/gluster/striped
Options Reconfigured:
auth.allow: 192.168.0.*

# gluster volume status vol1 detail
Status of volume: vol1
——————————————————————————
Brick                : Brick glusternode1:/gluster/striped
Port                 : 49153
Online               : Y
Pid                  : 5426
File System          : ext4
Device               : /dev/disk/by-uuid/88f65e9f-bfab-4089-bde1-9c0cc1e6aa7a
Mount Options        : rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered
Inode Size           : 256
Disk Space Free      : 95.7GB
Total Disk Space     : 285.6GB
Inode Count          : 19021824
Free Inodes          : 18984610
——————————————————————————
Brick                : Brick glusternode2:/gluster/striped
Port                 : 49153
Online               : Y
Pid                  : 29907
File System          : ext4
Device               : /dev/disk/by-uuid/150a4823-60f2-4c23-9c88-884acd95b5bd
Mount Options        : rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered
Inode Size           : 256
Disk Space Free      : 95.6GB
Total Disk Space     : 285.6GB
Inode Count          : 19021824
Free Inodes          : 18983682

Hier schön zu sehen, dass beide Bricks synchron sind und gleich viel Speicher belegt haben. Ebenfalls wichtig ist das Verhältnis der Stripe (Number of Bricks: 1 x 2 = 2), d.h. es müssen immer 2 weitere Bricks dem Volume hinzugefügt werden.

1. auf einem Server / Brick des GlusterFS Volume den Brick zum Trusted Pool hinzufügen
# gluster peer probe glusternode3
# gluster peer probe glusternode4
peer probe: success

2. als nächstes das Vol zum Pool hinzufügen
#
gluster volume add-brick vol1 glusternode3:/gluster/striped glusternode4:/gluster/striped
volume add-brick: success

3. ein Rebalancing des Layout
# gluster volume rebalance vol1 fix-layout start
volume rebalance: vol1: success: Starting rebalance on volume vol1 has been successful.
ID: 34308b34-a340-4e31-8981-71bef4e6ca2a

4. Rebalancing Volume and Migrate Data
# gluster volume rebalance vol1 start
volume rebalance: vol1: success: Starting rebalance on volume vol1 has been successful.
ID: 19a9fb61-3990-48f0-9832-281fc8f160bf

4.1 Alternative kann man es auch erzwingen
# gluster volume rebalance vol1 start force

5. Status des Rebalancing# gluster volume rebalance vol1 status
Node Rebalanced-files          size       scanned      failures         status run time in secs
———      ———–   ———–   ———–   ———–   ————   ————–
localhost                0        0Bytes             2             0      completed             1.00
glusternode1                0        0Bytes             1             0    in progress           126.00
glusternode2               0        0Bytes             1             0    in progress           126.00
glusternode3              0        0Bytes             1             0    in progress           126.00
glusternode4               0        0Bytes             2             0      completed             0.00
volume rebalance: vol1: success:

Hier schön zu sehen, dass 1-3 noch gesynct werden, während glusternode4 fertig ist. Den Befehl einfach wiederholt ausführen um den kompletten Abschluss zu prüfen. Der Gesamte Prozess kann während des Betriebes “Online” durchgeführt werden. Natürlich sinkt die Performance etwas, aber es kann weiter gearbeitet werden.

5.1 Status nach Rebalancing
gluster volume rebalance vol1 status                                                               Tue Sep 10 10:41:42 2013

Node Rebalanced-files          size       scanned      failures         status run time in secs
———      ———–   ———–   ———–   ———–   ————   ————–
localhost                0        0Bytes             2             0      completed             1.00
glusternode1                2        19.1GB             4             0      completed           776.00
glusternode2                2        19.1GB             4             0      completed           776.00
glusternode3                2        19.1GB             4             0      completed           776.00
glusternode4                0        0Bytes             2             0      completed             0.00
volume rebalance: vol1: success:

5.2 falls der Vorgang des Rebalance gestoppt werden muss
# gluster volume rebalance vol1 stop

6. aktueller Status quo
#gluster volume info

Volume Name: vol1
Type: Distributed-Stripe
Volume ID: 48a535b0-443d-4fb7-88ad-e2729057a0fb
Status: Started
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: glusternode1:/glusterfs/striped
Brick2: glusternode2:/glusterfs/striped
Brick3: glusternode3:/glusterfs/striped
Brick4: glusternode4:/glusterfs/striped
Options Reconfigured:
auth.allow: 10.100.28.*

und im Detail

# gluster volume status vol1
Status of volume: vol1
Gluster process                                         Port    Online  Pid
——————————————————————————
Brick glusternode1:/glusterfs/striped                 49154   Y       7726
Brick glusternode2:/glusterfs/striped                 49154   Y       32501
Brick glusternode3:/glusterfs/striped                 49153   Y       17447
Brick glusternode4:/glusterfs/striped                 49153   Y       11461
NFS Server on localhost                                 2049    Y       32562
NFS Server on glusternode1                            2049    Y       7760
NFS Server on glusternode3                            2049    Y       17457
NFS Server on glusternode4                            2049    Y       11471

Task                                      ID         Status
—-                                      —         ——
Rebalance    19a9fb61-3990-48f0-9832-281fc8f160bf              3

# gluster volume status vol1 detail
Status of volume: vol1
——————————————————————————
Brick                : Brick glusternode1:/glusterfs/striped
Port                 : 49154
Online               : Y
Pid                  : 7726
File System          : ext4
Device               : /dev/disk/by-uuid/88f65e9f-bfab-4089-bde1-9c0cc1e6aa7a
Mount Options        : rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered
Inode Size           : 256
Disk Space Free      : 284.5GB
Total Disk Space     : 285.6GB
Inode Count          : 19021824
Free Inodes          : 18984990
——————————————————————————
Brick                : Brick glusternode2:/glusterfs/striped
Port                 : 49154
Online               : Y
Pid                  : 32501
File System          : ext4
Device               : /dev/disk/by-uuid/150a4823-60f2-4c23-9c88-884acd95b5bd
Mount Options        : rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered
Inode Size           : 256
Disk Space Free      : 284.5GB
Total Disk Space     : 285.6GB
Inode Count          : 19021824
Free Inodes          : 18984064
——————————————————————————
Brick                : Brick glusternode3:/glusterfs/striped
Port                 : 49153
Online               : Y
Pid                  : 17447
File System          : ext4
Device               : /dev/disk/by-uuid/2981d4fb-3916-4edc-bde3-0bd05e6c388b
Mount Options        : rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered
Inode Size           : 256
Disk Space Free      : 275.3GB
Total Disk Space     : 285.9GB
Inode Count          : 19038208
Free Inodes          : 19000682
——————————————————————————
Brick                : Brick glusternode4:/glusterfs/striped
Port                 : 49153
Online               : Y
Pid                  : 11461
File System          : ext4
Device               : /dev/disk/by-uuid/cd4d0a47-1138-4799-9c70-58e05ddce1f2
Mount Options        : rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered
Inode Size           : 256
Disk Space Free      : 269.3GB
Total Disk Space     : 285.9GB
Inode Count          : 19038208
Free Inodes          : 19000741

Damit wurde das GlusterFS Vol1 vom Typ Striped um 2 weitere Bricks erweitert und hat nun eine Gesamtgröße von ca. 1.1TB. Ein ls und df -h auf der Konsole zeigt die bestehenden Daten und die neue Größe.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.