[pve-devel] Default cache mode for VM hard drives

Alexandre DERUMIER aderumier at odiso.com
Thu May 28 09:48:36 CEST 2015


>>I recall from ceph list that there were some barrier problems in kernels < 2.6.33 . I don't know whether those are fixed in the kernel from RHEL6 Proxmox uses... 

About barrier, 
they are multiple layers (fs, lvm,md, virtio-blk,...) where it was buggy.
It should be ok with any kernel > 2.6.37  (when barrier have be removed and replaced with true FUA implementation)

a good article here:
http://monolight.cc/2011/06/barriers-caches-filesystems/


They are also a bug in old windows virtio-blk driver, fixed 6-7month ago (don't remember the version exactly)




----- Mail original -----
De: "Eneko Lacunza" <elacunza at binovo.es>
À: "pve-devel" <pve-devel at pve.proxmox.com>
Envoyé: Jeudi 28 Mai 2015 09:35:26
Objet: Re: [pve-devel] Default cache mode for VM hard drives

Hi Stanislav, 

I really think you should have a look where the problem is. This is not Proxmox specific at all, so this list doesn't seem the place to diagnose it. 

If DRBD guys think it's an upper layer problem, maybe they can point you to the problematic layer, and then contact the mantainer (probably someone in kernel development). 

I recall from ceph list that there were some barrier problems in kernels < 2.6.33 . I don't know whether those are fixed in the kernel from RHEL6 Proxmox uses... 

Cheers 
Eneko 

On 28/05/15 09:22, Stanislav German-Evtushenko wrote: 



Hi Dietmar, 

I did it couple of times already and everytime I had the same answer "upper layer problem". Well, as we've done this long way up to this point I would like to continue. 

I have just done the same test with mdadm and not DRBD. And what I found that this problem was reproducible on the software raid too, just as it was claimed by Lars Ellenberg. It means that problem is not only related to DRBD but to O_DIRECT mode generally when we don't use host cache and a block device reads data directly from userspace. 

The testcase is bellow. 

1. Prepare 

dd if=/dev/zero of=/tmp/mdadm1 bs=1M count=100 
dd if=/dev/zero of=/tmp/mdadm2 bs=1M count=100 
losetup /dev/loop1 /tmp/mdadm1 
losetup /dev/loop2 /tmp/mdadm2 
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/loop{1,2} 

2. Write data with O_DIRECT 

./a.out /dev/md0 

3. Check consistency with vbindiff 

vbindiff /tmp/mdadm{1,2} #press enter multiple times to skip metadata 

And here we find that data on "physical devices" is different and md raid did not catch this. 


On Thu, May 28, 2015 at 7:40 AM, Dietmar Maurer < dietmar at proxmox.com > wrote: 

BQ_BEGIN
> What this means? 

I still think you should discuss that on the DRBD list. 





Best regards, 
Stanislav German-Evtushenko 


_______________________________________________
pve-devel mailing list pve-devel at pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel 

BQ_END


-- 
Zuzendari Teknikoa / Director Técnico
Binovo IT Human Project, S.L.
Telf. 943575997
      943493611
Astigarraga bidea 2, planta 6 dcha., ofi. 3-2; 20180 Oiartzun (Gipuzkoa) www.binovo.es 

_______________________________________________ 
pve-devel mailing list 
pve-devel at pve.proxmox.com 
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel 


More information about the pve-devel mailing list