[Gluster-users] Add more capacity to existing gulsterfs replicate

Strahil Nikolov hunter86_bg at yahoo.com
Fri Dec 25 07:37:41 UTC 2020


Hi Bambang,

you don't need to bring the application down as long as you use bigger or same size disks for the new storage.

Merry Christmas to all who celebrate the holiday!

The most convinient would be to:
1. Prepare the new disks as per https://docs.gluster.org/en/latest/Install-Guide/Configure/ (Partition the disk)
Note: You have to do it on both nodes.If you don't use SELINUX, skip the "context" mount option. I'm usually mounting with:

rw,noatime,context=system_u:object_r:glusterd_brick_t:s0

WARNING: it is strongly advised to create a directory in the mountpoint that you will use as a brick!

2. Add the 2 new bricks (brick = mount point) to the volume:
gluster volume add-brick dbroot1Gluster  10.1.1.60:</full/path/to/new/mountpoint> 10.1.1.61:</full/path/to/new/mountpoint>

3. Next verify the volue status
gluster volume status dbroot1Gluster

4. Rebalance the volume (only if you plan to keep all disks in Gluster)
gluster volume rebalance dbroot1Gluster start

Note: that some of the data might remain on the old disks as we haven't used the "force" keyword

You can repeat with "force" if you wish (once the old rebalance is over):
gluster volume rebalance dbroot1Gluster status
gluster volume rebalance dbroot1Gluster start force

5. Remove the old bricks (if you decide to do it , you can skip the rebalance)
gluster volume remove-brick dbroot1Gluster 10.1.1.60:/usr/local/mariadb/columnstore/gluster/brick1 10.1.1.61:/usr/local/mariadb/columnstore/gluster/brick1 start

To get the status of the data migration use:
gluster volume remove-brick dbroot1Gluster 10.1.1.60:/usr/local/mariadb/columnstore/gluster/brick1 10.1.1.61:/usr/local/mariadb/columnstore/gluster/brick1 status

Once it's all migrated , go to the bricks themselves (/usr/local/mariadb...) and verify that there are no files left


gluster volume remove-brick dbroot1Gluster 10.1.1.60:/usr/local/mariadb/columnstore/gluster/brick1 10.1.1.61:/usr/local/mariadb/columnstore/gluster/brick1 commit

Note: If the volume was pure replica (without the second set of bricks) , you would get a warning that you need to use "force". In your case "commit" should be enough



Verify status of the volume and voilà .





Best Regards,
Strahil Nikolov
 








В петък, 25 декември 2020 г., 00:46:04 Гринуич+2, Olaf Buitelaar <olaf.buitelaar at gmail.com> написа: 





Hi,

please see; https://docs.gluster.org/en/latest/Administrator-Guide/Managing-Volumes/

Gluster offers online expansion of the volume you can add bricks and/or nodes without taking mariadb offline if you want.

just use the; gluster volume add-brick [vol] [bricks] (bricks must be added according your replication count, in your case 2)
or use; gluster volume replace-brick [vol] [brick] to replace a single brick

Best Olaf

Op do 24 dec. 2020 om 23:35 schreef Bambang Sumitra <bambang.sumitra at gmail.com>:
> Hi,
> 
> I have small datawarehouse using mariadb columnstore setup as 2 instance server with glusterfs as storage backend, i follow setup from this guide https://mariadb.com/kb/en/installing-and-configuring-a-multi-server-columnstore-system-11x
> 
> Now our server almost running out of space, i have attached new disk to both server and plan to add more storage capacity to the glusterfs volume and remove old brick (if possible) 
> 
> Questions :
> Can i do this step :
> 1. stop mariadb
> 2. stop glusterfs
> 3. mount new disk to /mnt/newdisk  
> 4. copy data from old brick to to /mnt/newdisk 
> 5. unmount brick
> 6. mount new disk to /usr/local/mariadb/columnstore/gluster (existing glusterfs mount)
> 
> or is there any easy and better way to add capacity? i dont mine to keep or remove old brick
> 
> Thank you,
> 
> command output from host 10.1.1.60
> root at mDWDB01:~# gluster volume statusStatus of volume: dbroot1Gluster process                             TCP Port  RDMA Port  Online  Pid------------------------------------------------------------------------------Brick 10.1.1.60:/usr/local/mariadb/columnstore/gluster/brick1                          49152     0          Y       1541Brick 10.1.1.61:/usr/local/mariadb/columnstore/gluster/brick1                          49152     0          Y       1499Self-heal Daemon on localhost               N/A       N/A        Y       1425Self-heal Daemon on 10.1.1.61               N/A       N/A        Y       1367Task Status of Volume dbroot1------------------------------------------------------------------------------There are no active volume tasksStatus of volume: dbroot2Gluster process                             TCP Port  RDMA Port  Online  Pid------------------------------------------------------------------------------Brick 10.1.1.60:/usr/local/mariadb/columnstore/gluster/brick2                          49153     0          Y       1550Brick 10.1.1.61:/usr/local/mariadb/columnstore/gluster/brick2                          49153     0          Y       1508Self-heal Daemon on localhost               N/A       N/A        Y       1425Self-heal Daemon on 10.1.1.61               N/A       N/A        Y       1367Task Status of Volume dbroot2------------------------------------------------------------------------------There are no active volume tasksmis at mDWDB01:~$ sudo gluster volume info[sudo] password for mis:Volume Name: dbroot1Type: ReplicateVolume ID: 22814201-3fae-4904-b0b7-d6e1716365ecStatus: StartedSnapshot Count: 0Number of Bricks: 1 x 2 = 2Transport-type: tcpBricks:Brick1: 10.1.1.60:/usr/local/mariadb/columnstore/gluster/brick1Brick2: 10.1.1.61:/usr/local/mariadb/columnstore/gluster/brick1Options Reconfigured:performance.client-io-threads: offnfs.disable: ontransport.address-family: inetVolume Name: dbroot2Type: ReplicateVolume ID: 6443b073-754d-440b-89e9-49c085114f46Status: StartedSnapshot Count: 0Number of Bricks: 1 x 2 = 2Transport-type: tcpBricks:Brick1: 10.1.1.60:/usr/local/mariadb/columnstore/gluster/brick2Brick2: 10.1.1.61:/usr/local/mariadb/columnstore/gluster/brick2Options Reconfigured:performance.client-io-threads: offnfs.disable: ontransport.address-family: inetmis at mDWDB01:~$ mount |grep column/dev/sdb1 on /usr/local/mariadb/columnstore/gluster type xfs (rw,relatime,attr2,inode64,noquota)10.1.1.60:/dbroot2 on /usr/local/mariadb/columnstore/data2 type fuse.glusterfs (rw,relatime,user_id=0,group_id=0,default_permissions,allow_other,max_read=131072)
> 
> 
> command output from host 10.1.1.61
> mis at mDWUM01:~$ sudo gluster volume info[sudo] password for mis:Volume Name: dbroot1Type: ReplicateVolume ID: 22814201-3fae-4904-b0b7-d6e1716365ecStatus: StartedSnapshot Count: 0Number of Bricks: 1 x 2 = 2Transport-type: tcpBricks:Brick1: 10.1.1.60:/usr/local/mariadb/columnstore/gluster/brick1Brick2: 10.1.1.61:/usr/local/mariadb/columnstore/gluster/brick1Options Reconfigured:performance.client-io-threads: offnfs.disable: ontransport.address-family: inetVolume Name: dbroot2Type: ReplicateVolume ID: 6443b073-754d-440b-89e9-49c085114f46Status: StartedSnapshot Count: 0Number of Bricks: 1 x 2 = 2Transport-type: tcpBricks:Brick1: 10.1.1.60:/usr/local/mariadb/columnstore/gluster/brick2Brick2: 10.1.1.61:/usr/local/mariadb/columnstore/gluster/brick2Options Reconfigured:performance.client-io-threads: offnfs.disable: ontransport.address-family: inetmis at mDWUM01:~$ sudo gluster volume statusStatus of volume: dbroot1Gluster process                             TCP Port  RDMA Port  Online  Pid------------------------------------------------------------------------------Brick 10.1.1.60:/usr/local/mariadb/columnstore/gluster/brick1                          49152     0          Y       1541Brick 10.1.1.61:/usr/local/mariadb/columnstore/gluster/brick1                          49152     0          Y       1499Self-heal Daemon on localhost               N/A       N/A        Y       1367Self-heal Daemon on mDWDB01                 N/A       N/A        Y       1425Task Status of Volume dbroot1------------------------------------------------------------------------------There are no active volume tasksStatus of volume: dbroot2Gluster process                             TCP Port  RDMA Port  Online  Pid------------------------------------------------------------------------------Brick 10.1.1.60:/usr/local/mariadb/columnstore/gluster/brick2                          49153     0          Y       1550Brick 10.1.1.61:/usr/local/mariadb/columnstore/gluster/brick2                          49153     0          Y       1508Self-heal Daemon on localhost               N/A       N/A        Y       1367Self-heal Daemon on mDWDB01                 N/A       N/A        Y       1425Task Status of Volume dbroot2------------------------------------------------------------------------------There are no active volume tasksmis at mDWUM01:~$ mount |grep column/dev/sdb1 on /usr/local/mariadb/columnstore/gluster type xfs (rw,relatime,attr2,inode64,noquota)10.1.1.61:/dbroot1 on /usr/local/mariadb/columnstore/data1 type fuse.glusterfs (rw,relatime,user_id=0,group_id=0,default_permissions,allow_other,max_read=131072)mis at mDWUM01:~$
> 
> 
> 
> 
> 
> ________
> 
> 
> 
> Community Meeting Calendar:
> 
> Schedule -
> Every 2nd and 4th Tuesday at 14:30 IST / 09:00 UTC
> Bridge: https://meet.google.com/cpu-eiue-hvk
> Gluster-users mailing list
> Gluster-users at gluster.org
> https://lists.gluster.org/mailman/listinfo/gluster-users
> 
________



Community Meeting Calendar:

Schedule -
Every 2nd and 4th Tuesday at 14:30 IST / 09:00 UTC
Bridge: https://meet.google.com/cpu-eiue-hvk
Gluster-users mailing list
Gluster-users at gluster.org
https://lists.gluster.org/mailman/listinfo/gluster-users


More information about the Gluster-users mailing list