vzquota doesn't honour VE_PRIVATE

muzzol

Active Member
Dec 2, 2009
43
0
26
EDIT: SOLVED!!!


i've just removed quota file and when machine is started quota file is regenerated with correct dir.

i leave this here just in case any other face same problem

####################################################

hi,

im playing a little bit with some machines and i've found a problem that i'm not sure if it's a bug.

i've modified container conf:

Code:
VE_ROOT="/mnt/sambatemp/vzbase/root/134"
VE_PRIVATE="/mnt/sambatemp/vzbase/private/134"

then when i try to start the node i get an error:

Code:
vzctl start 134
Starting container ...
vzquota : (error) Quota on syscall for 134: No such file or directory
vzquota on failed [3]

digging a little bit i've found the problem on vzquota. it seems to be looking for private directory in /var/lib/vz/private instead of the one i've specified in conf file.

Code:
strace -f vzquota on 134


execve("/usr/sbin/vzquota", ["vzquota", "on", "134"], [/* 22 vars */]) = 0
brk(0)                                  = 0x610000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f069dc0e000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f069dc0c000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=27489, ...}) = 0
mmap(NULL, 27489, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f069dc05000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\342\1\0\0\0\0\0@"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1375536, ...}) = 0
mmap(NULL, 3482232, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f069d6a1000
mprotect(0x7f069d7eb000, 2093056, PROT_NONE) = 0
mmap(0x7f069d9ea000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x149000) = 0x7f069d9ea000
mmap(0x7f069d9ef000, 17016, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f069d9ef000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f069dc04000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f069dc03000
arch_prctl(ARCH_SET_FS, 0x7f069dc036e0) = 0
mprotect(0x7f069d9ea000, 12288, PROT_READ) = 0
munmap(0x7f069dc05000, 27489)           = 0
brk(0)                                  = 0x610000
brk(0x631000)                           = 0x631000
open("/var/lib/vzquota/quota.134", O_RDWR) = 3
flock(3, LOCK_EX|LOCK_NB)               = 0
pread(3, "'\274\334\376\0\0\0\0"..., 8, 0) = 8
lseek(3, 0, SEEK_END)                   = 191
pread(3, "\237\32-\234nG,\24"..., 8, 183) = 8
lseek(3, 0, SEEK_END)                   = 191
pread(3, "'\274\334\376\0\0\0\0\000033\2\0\0\0\0\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0"..., 183, 0) = 183
pread(3, "'\274\334\376\0\0\0\0"..., 8, 0) = 8
pread(3, "\000033\2\0\0\0\0\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0P\246#\0\0\0\0\0"..., 80, 8) = 80
pread(3, "\27\0\0\0\0\0\0\0"..., 8, 88) = 8
pread(3, "/var/lib/vz/private/134"..., 23, 96) = 23
pread(3, "\0\0\0\0\0\0\0\0\0000\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64, 119) = 64
lseek(3, 0, SEEK_END)                   = 191
pread(3, "\237\32-\234nG,\24"..., 8, 183) = 8
open("/dev/vzctl", O_RDWR)              = 4
ioctl(4, 0xc0182b02, 0x7fff26b6ff70)    = -1 ENOENT (No such file or directory)
close(4)                                = 0
open("/dev/vzctl", O_RDWR)              = 4
ioctl(4, 0xc0182b02, 0x7fff26b6ff40)    = 0
close(4)                                = 0
open("/dev/vzctl", O_RDWR)              = 4
ioctl(4, 0xc0182b03, 0x7fff26b6ff40)    = 0
close(4)                                = 0
open("/dev/vzctl", O_RDWR)              = 4
ioctl(4, 0xc0182b02, 0x7fff26b6ff40)    = -1 ENOENT (No such file or directory)
close(4)                                = 0
open("/dev/vzctl", O_RDWR)              = 4
ioctl(4, 0xc0182b02, 0x7fff26b6ff40)    = 0
close(4)                                = 0
write(2, "vzquota : "..., 10vzquota : )           = 10
write(2, "(error) "..., 8(error) )              = 8
write(2, "Quota on syscall for 134"..., 24Quota on syscall for 134) = 24
write(2, ": No such file or directory"..., 27: No such file or directory) = 27
write(2, "\n"..., 1
)                    = 1
exit_group(3)                           = ?

private dir seems to be harcoded. is this a bug?

if i delete /var/lib/vzquota/quota.134 machine starts ok so im not sure if i can recreate this file reflecting changes i've made to conf file.
 
Last edited:
i've just found the problem. quota file had private dir harcoded, so i just removed /var/lib/vzquota/quota.134 and started container.

everything seems to be ok now.

is there any other problems i can face?


i've updated original post with new info.