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.

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






--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to