พอเราใช้งาน GlusterFS ไปซักระยะบางครั้งเราก็มีความจำเป็นที่ต้องเพิ่มพื้นที่เข้าไปใน Volume กันซึ่ง GlusterFS ก็สามารถทำได้ โดยเรียก Feature นี้ว่าการ Expand Volume

สมมติว่าเรามี Volume ที่เป็น Distributed Volume อยู่ดังภาพ

และมี Architecture ดังนี้

  1. node1: 192.168.1.100, volume name: distributed
  2. node2: 192.168.1.101, volume name: distributed

โดยที่แต่ละ node มีไฟล์เก็บอยู่จำนวนหนึ่ง

แล้วเราต้องการที่จะเพิ่มอีก 1 node เข้าไปใน Distributed Volume สมมติชื่อว่า node3: 192.168.1.102 โดยให้เพิ่มพื้นที่เข้าไปใน volume name: distributed

ทำได้โดยให้ไปที่ node1, node2 แล้วสั่ง probe ไปที่ node3 ก่อน

admins@node1:~$ sudo gluster peer probe gluster3

admins@node2:~$ sudo gluster peer probe gluster3

จากนั้นให้สั่ง add brick

admins@node1:~$ sudo gluster volume add-brick distributed gluster3:/distributed force

เมื่อ add brick ของ gluster3 เสร็จแล้วให้สั่ง rebalance เพื่อให้ volume มัน balance กันดังนี้

admins@node1:~$ sudo gluster volume rebalance distributed start

เมื่อลองตรวจสอบ volume ดูจะเห็นว่ามี brick ของ gluster3 เพิ่มมาแล้ว

ในกรณีที่ต้องการจะ ลดจำนวน brick ออกก็สามารถทำได้เช่นกัน โดยจะเรียกว่าการ Shrink Volume (การ Shrink Volume นั้นเมื่อ remove brick ออกไปแล้ว ไฟล์จะไม่สามารถ Access ได้จาก client)

admins@node1:~$ sudo gluster volume remove-brick distributed gluster2:/distributed
Removing brick(s) can result in data loss. Do you want to Continue? (y/n) y

เมื่อลองสั่ง volume info ดูจะเห็นว่า gluster2 brick ได้หายไปแล้ว

และที่ client ไฟล์ที่อยู่ใน gluster2 brick ก็จะหายไปด้วย

สุดท้ายหากต้องการจะลบ Volume สามารถทำได้โดย Stop Volume ก่อน

admins@node1:~$ sudo gluster volume stop distributed
Stopping volume will make its data inaccessible. Do you want to continue? (y/n) y

จากนั้นสั่งลบ Volume

admins@node1:~$ sudo gluster volume delete distributed
Deleting volume will erase all information about the volume. Do you want to continue? (y/n) y

รูปภาพจาก https://github.com/gluster/glusterfs

Comments are closed.