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

Kir Kolyshkin kir at openvz.org
Thu Apr 12 11:06:37 EDT 2007


I guess in a week or two, not earlier.

Ola Lundqvist wrote:
> 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
>>>>>>
>>>>>>
>>>>>>   
>>>>>>        
>>>>>>             
>>>>>      
>>>>>           
>>>>    
>>>>         
>>>  
>>>       
>>
>>     
>
>   



More information about the Debian mailing list