Re: Strange file corruption

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 08.12.2015 um 02:59 schrieb Lindsay Mathieson:
Hi Udo, thanks for posting your volume info settings. Please note for the following, I am not one of the devs, just a user, so unfortunately I have no authoritative answers :(

I am running a very similar setup - Proxmox 4.0, three nodes, but using ceph for our production storage. Am heavily testing gluster 3.7 on the side. We find the performance of ceph slow on these small setups and management of it a PITA.


Some more questions

- how are your VM images being accessed by Proxmox? gfapi? (Proxmox Gluster storage type) or by using the fuse mount?


Sorry, forgot to say that: I'm accessing the Gluster Storage via NFS since (at least in version 3.4 of Proxmox) the gfapi method has some problems with sockets.

- whats your underlying filesystem (ext4, zfs etc)

a dedicated ext4 partition

- Are you using the HA/Watchdog system in Proxmox?

I am now (watchdog HA), but Proxmox was running in non-HA mode at the time of failure.





On 07/12/15 21:03, Udo Giacomozzi wrote:
esterday I had a strange situation where Gluster healing corrupted *all* my VM images.


In detail:
I had about 15 VMs running (in Proxmox 4.0) totaling about 600 GB of qcow2 images. Gluster is used as storage for those images in replicate 3 setup (ie. 3 physical servers replicating all data).
All VMs were running on machine #1 - the two other machines (#2 and #3) were *idle*.
Gluster was fully operating (no healing) when I rebooted machine #2.
For other reasons I had to reboot machines #2 and #3 a few times, but since all VMs were running on machine #1 and nothing on the other machines was accessing Gluster files, I was confident that this wouldn't disturb Gluster.
But anyway this means that I rebootet Gluster nodes during a healing process.

After a few minutes, Gluster files began showing corruption - up to the point that the qcow2 files became unreadable and all VMs stopped working.


:( sounds painful - my sympathies.

You're running 3.5.2 - thats getting rather old. I use the gluster debian repos:

  3.6.7 : http://download.gluster.org/pub/gluster/glusterfs/3.6/LATEST/Debian/
  3.7.6 : http://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/jessie/

3.6.x is the latest stable, 3.7 is close to stable(?) 3.7 has some nice new features such as sharding, which is very useful for VM hosting - it enables much faster heal times.

I'm using the most current version provided by Proxmox APT sources.

Can 3.6 or even 3.7 Gluster nodes work together with 3.5 node? If not I'm wondering how I could upgrade...

You might understand that I hesitate a bit to upgrade Gluster without having some certainty that it won't make things even worse. I mean, this is a production system..


Regards what happened with your VM's, I'm not sure. Having two servers down should have disabled the entire store making it not readable or writable.

I'm not sure if both servers were down at the same time (could be, though). I'm just sure that I rebootet them rather quickly in sequence.

Right now my credo is "never ever reboot/shutdown more than 1 node at a time and most importantly, always make sure that no Gluster healing is in progress". For sure, I did not respect that when I crashed my storage.

I note that you are missing some settings that need to be set for VM stores - there will be corruption problems if you live migrate without them.

quick-read=off
read-ahead=off
io-cache=off
stat-prefetch=off
eager-lock=enable
remote-dio=enable
quorum-type=auto
server-quorum-type=server


"stat-prefetch=off" is particularly important.


Thanks. Is there a document that explains the reasoning behind this config?

Does this apply to volumes for virtual HDD images only? My "docker-repo" is still "replicate 3" type but is used by the VMs themselves, not by the hypervisor - I guess other settings apply there..

Thanks a lot,
Udo

_______________________________________________
Gluster-users mailing list
Gluster-users@xxxxxxxxxxx
http://www.gluster.org/mailman/listinfo/gluster-users

[Index of Archives]     [Gluster Development]     [Linux Filesytems Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux