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

Ola Lundqvist opal at debian.org
Thu Apr 12 10:33:53 EDT 2007


Privet Kir

Do you know when vzctl-3.0.17 is planned?

Regards,

// Ola

On Thu, Apr 12, 2007 at 05:43:19PM +0400, Kir Kolyshkin wrote:
> Ola, all,
> 
> Both problems in vzsplit are now (hopefully) fixed with this commit:
> http://git.openvz.org/?p=vzctl;a=commit;h=78a0518af5ce7ce8c13a3aa5f3d4247164d0bfab
> 
> Fixed vzsplit will be available in vzctl-3.0.17
> 
> PS to the original reporter of Debian bug #415645 -- vzsplit was not 
> failing, it just printed a (false) warning.
> 
> Ola Lundqvist wrote:
> >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 ---------------------------
/  opal at debian.org                     Annebergsslingan 37      \
|  ola at opalsys.net                     654 65 KARLSTAD          |
|  +46 (0)54-10 14 30                  +46 (0)70-332 1551       |
|  http://opalsys.net/                 UIN/icq: 4912500         |
\  gpg/f.p.: 7090 A92B 18FE 7994 0C36  4FE4 18A1 B1CF 0FE5 3DD9 /
 ---------------------------------------------------------------


More information about the Debian mailing list