The software described in this documentation is either no longer supported or is in extended support.
Oracle recommends that you upgrade to a current supported release.
You can increase the number of bricks in a volume to expand
available storage. When expanding distributed replicated and
distributed dispersed volumes, you need to add a number of
bricks that is a multiple of the replica
or
disperse
count. For example, to expand a
distributed replicated volume with a replica
count of 2
, you need to add bricks in
multiples of 2 (such as 4, 6, 8, and so on).
To expand a volume:
Prepare the new node with the same configuration and storage as all existing nodes in the Gluster trusted storage pool.
Add the node to the pool. For example:
$
gluster peer probe
node4
Add the brick(s), for example:
$
gluster volume add-brick
myvolume
node4:/data/glusterfs/myvolume/mybrick/brick
Rebalance the volume to distribute files to the new brick(s). For example:
#
gluster volume rebalance
myvolume
startYou can check the status of the volume rebalance using:
#
gluster volume rebalance
myvolume
status
Example 3.11 Creating a distributed replicated volume and adding a node
This example creates a distributed replicated volume with
three nodes and two bricks on each node. The volume is then
extended to add a new node with an additional two bricks on
the node. Note that when you add a new node to a replicated
volume, you need to increase the replica
count to the new number of nodes in the pool.
#gluster volume create myvolume replica 3 \ node{1,2,3}:/data/glusterfs/myvolume/mybrick/brick1 \ node{1,2,3}:/data/glusterfs/myvolume/mybrick/brick2
volume create: myvolume: success: please start the volume to access data #gluster volume start myvolume
volume start: myvolume: success #gluster volume info
Volume Name: myvolume Type: Distributed-Replicate Volume ID: ... Status: Started Snapshot Count: 0 Number of Bricks: 2 x 3 = 6 Transport-type: tcp Bricks: Brick1: node1:/data/glusterfs/myvolume/mybrick/brick1 Brick2: node2:/data/glusterfs/myvolume/mybrick/brick1 Brick3: node3:/data/glusterfs/myvolume/mybrick/brick1 Brick4: node1:/data/glusterfs/myvolume/mybrick/brick2 Brick5: node2:/data/glusterfs/myvolume/mybrick/brick2 Brick6: node3:/data/glusterfs/myvolume/mybrick/brick2 Options Reconfigured: transport.address-family: inet nfs.disable: on performance.client-io-threads: off #gluster peer status
Number of Peers: 2 Hostname: node2 Uuid: ... State: Peer in Cluster (Connected) Hostname: node3 Uuid: ... State: Peer in Cluster (Connected) #gluster peer probe node4
peer probe: success. #gluster peer status
Number of Peers: 3 Hostname: node2 Uuid: ... State: Peer in Cluster (Connected) Hostname: node3 Uuid: ... State: Peer in Cluster (Connected) Hostname: node4 Uuid: ... State: Peer in Cluster (Connected) #gluster volume add-brick myvolume replica 4 \ > node4:/data/glusterfs/myvolume/mybrick/brick1 \ > node4:/data/glusterfs/myvolume/mybrick/brick2
volume add-brick: success #gluster volume info
Volume Name: myvolume Type: Distributed-Replicate Volume ID: ... Status: Started Snapshot Count: 0 Number of Bricks: 2 x 4 = 8 Transport-type: tcp Bricks: Brick1: node1:/data/glusterfs/myvolume/mybrick/brick1 Brick2: node2:/data/glusterfs/myvolume/mybrick/brick1 Brick3: node3:/data/glusterfs/myvolume/mybrick/brick1 Brick4: node4:/data/glusterfs/myvolume/mybrick/brick1 Brick5: node1:/data/glusterfs/myvolume/mybrick/brick2 Brick6: node2:/data/glusterfs/myvolume/mybrick/brick2 Brick7: node3:/data/glusterfs/myvolume/mybrick/brick2 Brick8: node4:/data/glusterfs/myvolume/mybrick/brick2 Options Reconfigured: transport.address-family: inet nfs.disable: on performance.client-io-threads: off #gluster volume rebalance myvolume start
volume rebalance: myvolume: success: Rebalance on myvolume has been started successfully. Use rebalance status command to check status of the rebalance process. ID: ... #gluster volume rebalance myvolume status
... volume rebalance: myvolume: success
Example 3.12 Adding bricks to nodes in a distributed replicated volume
This example adds two bricks to an existing distributed replicated volume. The steps to create this volume are shown in Example 3.11, “Creating a distributed replicated volume and adding a node”.
#gluster volume add-brick myvolume \ node{1,2,3,4}:/data/glusterfs/myvolume/mybrick/brick3 \ node{1,2,3,4}:/data/glusterfs/myvolume/mybrick/brick4
volume add-brick: success #gluster volume info
Volume Name: myvolume Type: Distributed-Replicate Volume ID: ... Status: Started Snapshot Count: 0 Number of Bricks: 4 x 4 = 16 Transport-type: tcp Bricks: Brick1: node1:/data/glusterfs/myvolume/mybrick/brick1 Brick2: node2:/data/glusterfs/myvolume/mybrick/brick1 Brick3: node3:/data/glusterfs/myvolume/mybrick/brick1 Brick4: node4:/data/glusterfs/myvolume/mybrick/brick1 Brick5: node1:/data/glusterfs/myvolume/mybrick/brick2 Brick6: node2:/data/glusterfs/myvolume/mybrick/brick2 Brick7: node3:/data/glusterfs/myvolume/mybrick/brick2 Brick8: node4:/data/glusterfs/myvolume/mybrick/brick2 Brick9: node1:/data/glusterfs/myvolume/mybrick/brick3 Brick10: node2:/data/glusterfs/myvolume/mybrick/brick3 Brick11: node3:/data/glusterfs/myvolume/mybrick/brick3 Brick12: node4:/data/glusterfs/myvolume/mybrick/brick3 Brick13: node1:/data/glusterfs/myvolume/mybrick/brick4 Brick14: node2:/data/glusterfs/myvolume/mybrick/brick4 Brick15: node3:/data/glusterfs/myvolume/mybrick/brick4 Brick16: node4:/data/glusterfs/myvolume/mybrick/brick4 Options Reconfigured: transport.address-family: inet nfs.disable: on performance.client-io-threads: off. #gluster volume rebalance myvolume start
volume rebalance: myvolume: success: Rebalance on myvolume has been started successfully. Use rebalance status command to check status of the rebalance process. ID: ... #gluster volume rebalance myvolume status
... volume rebalance: myvolume: success