NFS Regression in latest pve-kernel-2.6.32-4-pve

tdobes

New Member
Mar 31, 2011
1
0
1
I have a couple of OpenVZ containers configured as NFS clients connecting to a FreeBSD server. (FEATURES="nfs:eek:n " in the /etc/vz/nnn.conf file)
The mounts use NFSv3 with file-locking enabled.

I am using pve-kernel-2.6.32-4-pve. This setup worked fine with version 2.6.32-30 and earlier of the package. However, since upgrading to kernel 2.6.32-32, NFS file locking has become broken. I am unable to establish a lock on any files in the NFS mounts. I downloaded 2.6.32-31 from pvetest and installed it manually, but it was also broken. It appears that the problematic change occurred between 2.6.32-30 and 2.6.32-31.

Based on the changelog of the PVE kernel, it looks like the problematic change happened upstream in Debian. I tried linux-image-2.6.32-5-openvz-amd64_2.6.32-31_amd64.deb from squeeze and it seems to have the problem as well, which supports that theory. Unfortunately, I can't seem to find a copy of linux-image-2.6.32-5-openvz-amd64_2.6.32-30_amd64.deb or linux-image-2.6.32-5-openvz-amd64_2.6.32-29_amd64.deb anywhere to narrow this down any further.

I had to get the server going again, so I've downgraded back to 2.6.32-30 of the pve kernel for now. I guess the next step is to set up a build environment and start iterating through each of the changes made upstream until I find the problematic one.

Does anyone have any other suggestions... or has anyone experienced anything similar?
 
why don´t you try the stable OpenVZ - 2.6.18 kernel branch?
 
And please test with 2.6.32-32

I am running 2.6.32-72 (2.6.32-13-pve) and I am having the same issue. My issue is more aparent as I am auto mounting the /home/* directories from NFS storage. Whenever a file lock is requested the process just hangs ... this can be seen when starting a process via strace.

Code:
$ strace /usr/local/bin/ipython
...
open("/home/hatem/.ipython/profile_default/history.sqlite", O_RDWR|O_CREAT|O_CLOEXEC, 0644) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
lseek(3, 0, SEEK_SET)                   = 0
read(3, "", 100)                        = 0
fcntl(3, F_SETLK, {type=F_RDLCK, whence=SEEK_SET, start=1073741824, len=1}

ipython uses sqlite which locks the database.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!