[Gluster-users] Data on gluster volume gone

Johan Karlsson Johan.Karlsson at dgc.se
Wed Sep 19 13:39:35 UTC 2018


I have two servers setup with glusterFS in replica mode, a single volume exposed via a mountpoint. The servers are running Ubuntu 16.04 LTS

After a package upgrade + reboot of both servers, it was discovered that the data was completely gone. New data written on the volume via the mountpoint is replicated correctly, and gluster status/info commands states that everything is ok (no split brain scenario or any healing needed etc). But the previous data is completely gone, not even present on any of the bricks.

The following upgrade was done:

glusterfs-server:amd64 (4.1.0-ubuntu1~xenial3 -> 4.1.4-ubuntu1~xenial1)
glusterfs-client:amd64 (4.1.0-ubuntu1~xenial3 -> 4.1.4-ubuntu1~xenial1)
glusterfs-common:amd64 (4.1.0-ubuntu1~xenial3 -> 4.1.4-ubuntu1~xenial1)

The logs only show that connection between the servers was lost, which is expected.

I can't even determine if it was the package upgrade or the reboot that caused this issue, but I've tried to recreate the issue without success.

Any idea what could have gone wrong, or if I have done some wrong during the setup. For reference, this is how I've done the setup:

---
Add a separate disk with a single partition on both servers (/dev/sdb1)

Add gfs hostnames for direct communication without DNS, on both servers:

/etc/hosts

192.168.4.45    gfs01
192.168.4.46    gfs02

On gfs01, create a new LVM Volume Group:
  vgcreate gfs01-vg /dev/sdb1

And on the gfs02:
  vgcreate gfs02-vg /dev/sdb1

Create logical volumes named "brick" on the servers:
  
gfs01:
  lvcreate -l 100%VG -n brick1 gfs01-vg
gfs02:
  lvcreate -l 100%VG -n brick2 gfs02-vg

Format the volumes with ext4 filesystem:

gfs01:
  mkfs.ext4 /dev/gfs01-vg/brick1
gfs02:
  mkfs.ext4 /dev/gfs02-vg/brick2

Create a mountpoint for the bricks on the servers:

gfs01:
  mkdir -p /glusterdata/brick1
gds02:
  mkdir -p /glusterdata/brick2

Make a permanent mount on the servers:

gfs01:
/dev/gfs01-vg/brick1    /glusterdata/brick1     ext4    defaults        0     0
gfs02:
/dev/gfs02-vg/brick2    /glusterdata/brick2     ext4    defaults        0     0

Mount it:
  mount -a

Create a gluster volume mount point on the bricks on the servers:

gfs01:
  mkdir -p /glusterdata/brick1/gvol0
gfs02:
  mkdir -p /glusterdata/brick2/gvol0

>From each server, peer probe the other one:

  gluster peer probe gfs01
peer probe: success

  gluster peer probe gfs02
peer probe: success

>From any single server, create the gluster volume as a "replica" with two nodes; gfs01 and gfs02:

  gluster volume create gvol0 replica 2 gfs01:/glusterdata/brick1/gvol0 gfs02:/glusterdata/brick2/gvol0

Start the volume:

  gluster volume start gvol0

On each server, mount the gluster filesystem on the /filestore mount point:

gfs01:
  mount -t glusterfs gfs01:/gvol0 /filestore
gfs02:
  mount -t glusterfs gfs02:/gvol0 /filestore

Make the mount permanent on the servers:

/etc/fstab

gfs01:
  gfs01:/gvol0 /filestore glusterfs defaults,_netdev 0 0
gfs02:
  gfs02:/gvol0 /filestore glusterfs defaults,_netdev 0 0
---

Regards,

Johan Karlsson


More information about the Gluster-users mailing list