[Gluster-users] Issues removing then adding a brick to a replica volume (Gluster 3.7.6)
Lindsay Mathieson
lindsay.mathieson at gmail.com
Mon Jan 18 05:49:22 UTC 2016
Been running through my eternal testing regime ... and experimenting
with removing/adding bricks - to me, a necessary part of volume
maintenance for dealing with failed disks. The datastore is a VM host
and all the following is done live. Sharding is active with a 512MB
shard size.
So I started off with a replica 3 volume
// recreated from memory
Volume Name: datastore1
Type: Replicate
Volume ID: bf882533-f1a9-40bf-a13e-d26d934bfa8b
Status: Started
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: vnb.proxmox.softlog:/vmdata/datastore1
Brick2: vng.proxmox.softlog:/vmdata/datastore1
Brick3: vna.proxmox.softlog:/vmdata/datastore1
I remove a brick with:
gluster volume remove-brick datastore1 replica 2
vng.proxmox.softlog:/vmdata/datastore1 force
so we end up with:
Volume Name: datastore1
Type: Replicate
Volume ID: bf882533-f1a9-40bf-a13e-d26d934bfa8b
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: vna.proxmox.softlog:/vmdata/datastore1
Brick2: vnb.proxmox.softlog:/vmdata/datastore1
All well and good. No heal issues, VM's running ok.
Then I clean the brick off the vng host:
rm -rf /vmdata/datastore1
I then add the brick back with:
gluster volume add-brick datastore1 replica 3
vng.proxmox.softlog:/vmdata/datastore1
Volume Name: datastore1
Type: Replicate
Volume ID: bf882533-f1a9-40bf-a13e-d26d934bfa8b
Status: Started
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: vna.proxmox.softlog:/vmdata/datastore1
Brick2: vnb.proxmox.softlog:/vmdata/datastore1
Brick3: vng.proxmox.softlog:/vmdata/datastore1
This recreates the brick directory "datastore1". Unfortunately this is
where things start to go wrong :( Heal info:
gluster volume heal datastore1 info
Brick vna.proxmox.softlog:/vmdata/datastore1
/.shard/d6aad699-d71d-4b35-b021-d35e5ff297c4.57
/.shard/d6aad699-d71d-4b35-b021-d35e5ff297c4.5
Number of entries: 2
Brick vnb.proxmox.softlog:/vmdata/datastore1
/.shard/d6aad699-d71d-4b35-b021-d35e5ff297c4.5
/.shard/d6aad699-d71d-4b35-b021-d35e5ff297c4.57
Number of entries: 2
Brick vng.proxmox.softlog:/vmdata/datastore1
/.shard/d6aad699-d71d-4b35-b021-d35e5ff297c4.1
/.shard/d6aad699-d71d-4b35-b021-d35e5ff297c4.6
/.shard/d6aad699-d71d-4b35-b021-d35e5ff297c4.15
/.shard/d6aad699-d71d-4b35-b021-d35e5ff297c4.18
/.shard/d6aad699-d71d-4b35-b021-d35e5ff297c4.5
Its my understanding that there shouldn't be any heal entries on vng as
it that is where all the shards should be sent *to*
also running qemu-img check on the hosted VM images results in a I/O
error. Eventually the VM's themselves crash - I suspect this is due to
individual shards being unreadable.
Another odd behaviour I get is if I run a full heal on vnb I get the
following error:
Launching heal operation to perform full self heal on volume
datastore1 has been unsuccessful
However if I run it on VNA, it succeeds.
Lastly - if I remove the brick everythign returns to normal immediately.
Heal Info shows no issues and qemu-img check returns no errors.
--
Lindsay Mathieson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gluster.org/pipermail/gluster-users/attachments/20160118/e9547b5f/attachment.html>
More information about the Gluster-users
mailing list