[Debian] Re: Bug#415645: vzsplit uses hardcoded "/vz" for space checking instead of "/var/lib/vz"

Ola Lundqvist ola at opalsys.net
Fri Mar 23 12:50:33 EDT 2007


Hi Kir

On Fri, Mar 23, 2007 at 05:36:51PM +0300, Kir Kolyshkin wrote:
> That's quite easy -- the actual checking routine in vzsplit checks for 
> both free space and free inodes (and reports the same error when one of 
> space/inodes is limited). Now, reiserfs reports zero total inodes 
> (because it does not use inodes), and vzsplit stumbles on that.
> 
> I made a patch to fix that, I will test it and then it will hit the git.

Thanks a lot. Can you make a patch so that it uses the configuration variable
for /vz location as well?

Regards,

// Ola

> Ola Lundqvist wrote:
> >Hi Kir
> >
> >Do you know the answer of this issue? I have modified vzsplit.c so that
> >it can check for /var/lib/vz as well as /vz, but it do not seem to help.
> >
> >Regards,
> >
> >// Ola
> >
> >On Thu, Mar 22, 2007 at 10:27:13AM -0700, Dusty Wilson wrote:
> >  
> >>>>Maybe, but more likely the problem is that you actually have 20GB free,
> >>>>and maybe it needs 20.2 or something.
> >>>>        
> >>>It's too bad it checks for total remaining space available.  That
> >>>partition already has a bunch of VPSes running on it.  It'd be nice if
> >>>it could somehow (magically?) check to see how much space is already
> >>>being used by existing VPSes and treat it as available space.  Or have
> >>>a flag to allow it to ignore testing for available space altogether.
> >>>      
> >>Actually, if I have it only split for five VPSes, it still fails:
> >>
> >>---
> >>hera:~# vzsplit -n 5
> >>WARNING: Recommended minimal sizeof /var/lib/vz partition is 20Gb!
> >>WARNING: /var/lib/vz partition do not have space required for 5 VPS
> >>---
> >>
> >>Or even just one:
> >>
> >>---
> >>hera:~# vzsplit -n 1
> >>WARNING: Recommended minimal sizeof /var/lib/vz partition is 20Gb!
> >>WARNING: /var/lib/vz partition do not have space required for 1 VPS
> >>---
> >>
> >>And for fun, 100 VPSes:
> >>
> >>---
> >>hera:~# vzsplit -n 100
> >>WARNING: Recommended minimal sizeof /var/lib/vz partition is 20Gb!
> >>WARNING: /var/lib/vz partition do not have space required for 100 VPS
> >>---
> >>
> >>Why does it need to be 20GB for a single VPS?
> >>
> >>I just cleared out some space now.  Here's what my partitions look like 
> >>now:
> >>
> >>---
> >>hera:~# df -h
> >>Filesystem            Size  Used Avail Use% Mounted on
> >>/dev/sdc1             4.7G  1.3G  3.5G  27% /
> >>/dev/sdc3              28G  6.7G   22G  24% /var/lib/vz
> >>hera:~# df
> >>Filesystem           1K-blocks      Used Available Use% Mounted on
> >>/dev/sdc1              4883556   1305704   3577852  27% /
> >>/dev/sdc3             29309692   6930080  22379612  24% /var/lib/vz
> >>---
> >>
> >>Even though I've got 22GB available, it still claims I don't have 20GB
> >>available same like before:
> >>
> >>---
> >>hera:~# vzsplit -n 20
> >>WARNING: Recommended minimal sizeof /var/lib/vz partition is 20Gb!
> >>WARNING: /var/lib/vz partition do not have space required for 20 VPS
> >>---
> >>
> >>In case it's useful, here's another strace:
> >>
> >>---
> >>hera:~# strace vzsplit -n 20
> >>execve("/usr/sbin/vzsplit", ["vzsplit", "-n", "20"], [/* 13 vars */]) = 0
> >>uname({sys="Linux", node="hera", ...})  = 0
> >>brk(0)                                  = 0x804e000
> >>access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or 
> >>directory)
> >>mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> >>0) = 0xb7fc6000
> >>access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or 
> >>directory)
> >>open("/usr/lib/vzctl/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = -1
> >>ENOENT (No such file or directory)
> >>stat64("/usr/lib/vzctl/lib/tls/i686/cmov", 0xbfd99338) = -1 ENOENT (No
> >>such file or directory)
> >>open("/usr/lib/vzctl/lib/tls/i686/libc.so.6", O_RDONLY) = -1 ENOENT
> >>(No such file or directory)
> >>stat64("/usr/lib/vzctl/lib/tls/i686", 0xbfd99338) = -1 ENOENT (No such
> >>file or directory)
> >>open("/usr/lib/vzctl/lib/tls/cmov/libc.so.6", O_RDONLY) = -1 ENOENT
> >>(No such file or directory)
> >>stat64("/usr/lib/vzctl/lib/tls/cmov", 0xbfd99338) = -1 ENOENT (No such
> >>file or directory)
> >>open("/usr/lib/vzctl/lib/tls/libc.so.6", O_RDONLY) = -1 ENOENT (No
> >>such file or directory)
> >>stat64("/usr/lib/vzctl/lib/tls", 0xbfd99338) = -1 ENOENT (No such file
> >>or directory)
> >>open("/usr/lib/vzctl/lib/i686/cmov/libc.so.6", O_RDONLY) = -1 ENOENT
> >>(No such file or directory)
> >>stat64("/usr/lib/vzctl/lib/i686/cmov", 0xbfd99338) = -1 ENOENT (No
> >>such file or directory)
> >>open("/usr/lib/vzctl/lib/i686/libc.so.6", O_RDONLY) = -1 ENOENT (No
> >>such file or directory)
> >>stat64("/usr/lib/vzctl/lib/i686", 0xbfd99338) = -1 ENOENT (No such
> >>file or directory)
> >>open("/usr/lib/vzctl/lib/cmov/libc.so.6", O_RDONLY) = -1 ENOENT (No
> >>such file or directory)
> >>stat64("/usr/lib/vzctl/lib/cmov", 0xbfd99338) = -1 ENOENT (No such
> >>file or directory)
> >>open("/usr/lib/vzctl/lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such
> >>file or directory)
> >>stat64("/usr/lib/vzctl/lib", {st_mode=S_IFDIR|0755, st_size=128, ...}) = 0
> >>open("/etc/ld.so.cache", O_RDONLY)      = 3
> >>fstat64(3, {st_mode=S_IFREG|0644, st_size=13683, ...}) = 0
> >>mmap2(NULL, 13683, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fc2000
> >>close(3)                                = 0
> >>access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or 
> >>directory)
> >>open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3
> >>read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240O\1"..., 512) 
> >>= 512
> >>fstat64(3, {st_mode=S_IFREG|0644, st_size=1241392, ...}) = 0
> >>mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> >>0) = 0xb7fc1000
> >>mmap2(NULL, 1247388, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,
> >>3, 0) = 0xb7e90000
> >>mmap2(0xb7fb7000, 28672, PROT_READ|PROT_WRITE,
> >>MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x127) = 0xb7fb7000
> >>mmap2(0xb7fbe000, 10396, PROT_READ|PROT_WRITE,
> >>MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fbe000
> >>close(3)                                = 0
> >>mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> >>0) = 0xb7e8f000
> >>mprotect(0xb7fb7000, 20480, PROT_READ)  = 0
> >>set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e8f6c0,
> >>limit:1048575, seg_32bit:1, contents:0, read_exec_only:0,
> >>limit_in_pages:1, seg_not_present:0, useable:1}) = 0
> >>munmap(0xb7fc2000, 13683)               = 0
> >>brk(0)                                  = 0x804e000
> >>brk(0x806f000)                          = 0x806f000
> >>open("/proc/meminfo", O_RDONLY)         = 3
> >>fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
> >>mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> >>0) = 0xb7fc5000
> >>read(3, "MemTotal:      1033504 kB\nMemFre"..., 1024) = 676
> >>read(3, "", 1024)                       = 0
> >>close(3)                                = 0
> >>munmap(0xb7fc5000, 4096)                = 0
> >>open("/proc/sys/kernel/threads-max", O_RDONLY) = 3
> >>fstat64(3, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
> >>mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> >>0) = 0xb7fc5000
> >>read(3, "16383\n", 1024)                = 6
> >>close(3)                                = 0
> >>munmap(0xb7fc5000, 4096)                = 0
> >>statfs("/opt/vz", 0xbfd99630)           = -1 ENOENT (No such file or 
> >>directory)
> >>statfs("/srv/vz", 0xbfd99630)           = -1 ENOENT (No such file or 
> >>directory)
> >>statfs("/vz", 0xbfd99630)               = -1 ENOENT (No such file or 
> >>directory)
> >>statfs("/var/lib/vz", {f_type="REISERFS_SUPER_MAGIC", f_bsize=4096,
> >>f_blocks=7327423, f_bfree=5594901, f_bavail=5594901, f_files=0,
> >>f_ffree=0, f_fsid={0, 0}, f_namelen=255, f_frsize=4096}) = 0
> >>write(2, "WARNING: Recommended minimal siz"..., 67WARNING: Recommended
> >>minimal sizeof /var/lib/vz partition is 20Gb!
> >>) = 67
> >>write(2, "WARNING: /var/lib/vz partition d"..., 100WARNING:
> >>/var/lib/vz partition do not have space required for 20 VPS
> >>The maximum allowed value is 0
> >>) = 100
> >>write(2, "Default disc space values will b"..., 40Default disc space
> >>values will be used
> >>
> >>) = 40
> >>fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 0), ...}) = 0
> >>mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> >>0) = 0xb7fc5000
> >>write(1, "# Configuration file generated b"..., 53# Configuration file
> >>generated by vzsplit for 20 VPS
> >>) = 53
> >>write(1, "# on HN with total amount of phy"..., 50# on HN with total
> >>amount of physical mem 1009 Mb
> >>) = 50
> >>write(1, "# low memory 881 Mb, swap size 1"..., 56# low memory 881 Mb,
> >>swap size 1906 Mb, Max treads 8000
> >>) = 56
> >>write(1, "# Resourse commit level 0:\n", 27# Resourse commit level 0:
> >>) = 27
> >>write(1, "# Free resource distribution. An"..., 62# Free resource
> >>distribution. Any parameters may be increased
> >>) = 62
> >>write(1, "# Primary parameters\n", 21# Primary parameters
> >>)  = 21
> >>write(1, "NUMPROC=\"400:400\"\n", 18NUMPROC="400:400"
> >>)   = 18
> >>write(1, "AVNUMPROC=\"112:112\"\n", 20AVNUMPROC="112:112"
> >>) = 20
> >>write(1, "NUMTCPSOCK=\"400:400\"\n", 21NUMTCPSOCK="400:400"
> >>) = 21
> >>write(1, "NUMOTHERSOCK=\"400:400\"\n", 23NUMOTHERSOCK="400:400"
> >>) = 23
> >>write(1, "VMGUARPAGES=\"155025:2147483647\"\n",
> >>32VMGUARPAGES="155025:2147483647"
> >>) = 32
> >>write(1, "\n# Secondary parameters\n", 24
> >># Secondary parameters
> >>) = 24
> >>write(1, "KMEMSIZE=\"9241559:10165714\"\n", 28KMEMSIZE="9241559:10165714"
> >>) = 28
> >>write(1, "TCPSNDBUF=\"1442119:3080519\"\n", 28TCPSNDBUF="1442119:3080519"
> >>) = 28
> >>write(1, "TCPRCVBUF=\"1442119:3080519\"\n", 28TCPRCVBUF="1442119:3080519"
> >>) = 28
> >>write(1, "OTHERSOCKBUF=\"721059:2359459\"\n", 
> >>30OTHERSOCKBUF="721059:2359459"
> >>) = 30
> >>write(1, "DGRAMRCVBUF=\"721059:721059\"\n", 28DGRAMRCVBUF="721059:721059"
> >>) = 28
> >>write(1, "OOMGUARPAGES=\"155025:2147483647\""...,
> >>33OOMGUARPAGES="155025:2147483647"
> >>) = 33
> >>write(1, "PRIVVMPAGES=\"155025:170527\"\n", 28PRIVVMPAGES="155025:170527"
> >>) = 28
> >>write(1, "\n# Auxiliary parameters\n", 24
> >># Auxiliary parameters
> >>) = 24
> >>write(1, "LOCKEDPAGES=\"451:451\"\n", 22LOCKEDPAGES="451:451"
> >>) = 22
> >>write(1, "SHMPAGES=\"15502:15502\"\n", 23SHMPAGES="15502:15502"
> >>) = 23
> >>write(1, "PHYSPAGES=\"0:2147483647\"\n", 25PHYSPAGES="0:2147483647"
> >>) = 25
> >>write(1, "NUMFILE=\"3584:3584\"\n", 20NUMFILE="3584:3584"
> >>) = 20
> >>write(1, "NUMFLOCK=\"358:393\"\n", 19NUMFLOCK="358:393"
> >>)  = 19
> >>write(1, "NUMPTY=\"40:40\"\n", 15NUMPTY="40:40"
> >>)      = 15
> >>write(1, "NUMSIGINFO=\"1024:1024\"\n", 23NUMSIGINFO="1024:1024"
> >>) = 23
> >>write(1, "DCACHESIZE=\"2004256:2064384\"\n", 
> >>29DCACHESIZE="2004256:2064384"
> >>) = 29
> >>write(1, "NUMIPTENT=\"100:100\"\n", 20NUMIPTENT="100:100"
> >>) = 20
> >>write(1, "DISKSPACE=\"204799:225280\"\n", 26DISKSPACE="204799:225280"
> >>) = 26
> >>write(1, "DISKINODES=\"80000:88000\"\n", 25DISKINODES="80000:88000"
> >>) = 25
> >>open("/proc/cpuinfo", O_RDONLY)         = 3
> >>fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
> >>mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> >>0) = 0xb7fc4000
> >>read(3, "processor\t: 0\nvendor_id\t: Authen"..., 1024) = 416
> >>read(3, "", 1024)                       = 0
> >>write(1, "CPUUNITS=\"4954\"\n", 16CPUUNITS="4954"
> >>)     = 16
> >>munmap(0xb7fc5000, 4096)                = 0
> >>exit_group(0)                           = ?
> >>Process 17323 detached
> >>---
> >>
> >>Thanks!
> >>Dusty
> >>
> >>
> >>    
> >
> >  
> 
> 

-- 
 --- Ola Lundqvist systemkonsult --- M Sc in IT Engineering ----
/  ola at opalsys.net                   Annebergsslingan 37        \
|  opal at debian.org                   654 65 KARLSTAD            |
|  http://opalsys.net/               Mobile: +46 (0)70-332 1551 |
\  gpg/f.p.: 7090 A92B 18FE 7994 0C36 4FE4 18A1 B1CF 0FE5 3DD9  /
 ---------------------------------------------------------------


More information about the Debian mailing list