Stopping the wrong GlusterFS volume during maintenance makes mounted clients return I/O errors even though the brick data still exists. The target name, client activity, and brick state need to be clear before gluster volume start or gluster volume stop changes the volume state across the storage pool.
The gluster CLI sends volume state changes to glusterd from any trusted-pool node. Starting a volume launches the brick processes for that volume, while stopping a volume takes those brick processes out of service and leaves the volume definition and brick directories intact.
A stopped volume can still appear in gluster volume info with its brick layout, but clients cannot use it until the volume is started again. The stop command asks for confirmation by default; use --mode=script only in automation that has already checked the target volume and drained client access.
$ sudo gluster volume list volume1 archive1
$ sudo gluster volume info volume1 Volume Name: volume1 Type: Replicate Status: Stopped Number of Bricks: 1 x 2 = 2 Transport-type: tcp Bricks: Brick1: node1:/srv/gluster/brick1/volume1 Brick2: node2:/srv/gluster/brick1/volume1
$ sudo gluster volume start volume1 volume start: volume1: success
A volume must be started before clients mount it. Starting an already started volume returns an error instead of changing the brick layout.
$ sudo gluster volume info volume1 Volume Name: volume1 Type: Replicate Status: Started Number of Bricks: 1 x 2 = 2 ##### snipped #####
$ sudo gluster volume status volume1 Status of volume: volume1 Gluster process TCP Port RDMA Port Online Pid ------------------------------------------------------------------------------ Brick node1:/srv/gluster/brick1/volume1 49152 0 Y 23114 Brick node2:/srv/gluster/brick1/volume1 49153 0 Y 22987 Self-heal Daemon on node1 N/A N/A Y 23201 Self-heal Daemon on node2 N/A N/A Y 23055 Task Status of Volume volume1 ------------------------------------------------------------------------------ There are no active volume tasks
Related: How to check GlusterFS volume status
$ sudo gluster volume status volume1 clients Client connections for volume volume1 ---------------------------------------------- Brick : node1:/srv/gluster/brick1/volume1 Clients connected : 0 ---------------------------------------------- Brick : node2:/srv/gluster/brick1/volume1 Clients connected : 0 ----------------------------------------------
Move application traffic away and unmount remaining clients before stopping a production volume. Active clients can see write failures and may need remounting after the volume returns.
$ sudo gluster volume stop volume1 Stopping volume will make its data inaccessible. Do you want to continue? (y/n) y volume stop: volume1: success
Stopping the volume interrupts client access but does not delete the volume definition or brick directories.
$ sudo gluster volume info volume1 Volume Name: volume1 Type: Replicate Status: Stopped ##### snipped #####
$ sudo gluster volume start volume1 volume start: volume1: success
$ sudo gluster volume status volume1 Status of volume: volume1 Gluster process TCP Port RDMA Port Online Pid ------------------------------------------------------------------------------ Brick node1:/srv/gluster/brick1/volume1 49152 0 Y 24410 Brick node2:/srv/gluster/brick1/volume1 49153 0 Y 24288 Self-heal Daemon on node1 N/A N/A Y 24437 Self-heal Daemon on node2 N/A N/A Y 24309 Task Status of Volume volume1 ------------------------------------------------------------------------------ There are no active volume tasks