FastNetMon

Monday 21 November 2011

VDSManager & CentOS 6 = все очень странно работает

У нас чистый CentOS 6 с VDSManager создает контейнеры с некорректными настройками памяти - мы задаем гигабайт, два, пять, а памяти все равно 256 мб. А виной тому, что неявно используется не шаблон ve-basic, а шаблон ve-vswap:
ls /etc/vz/conf/ | grep vswap
ve-vswap-1024m.conf-sample
ve-vswap-256m.conf-sample
ve-vswap-512m.conf-sample

Который в принципе не совместим со старым типом к настроек UBC. Больше информации можете прочесть либо у меня в блоге http://phpsuxx.blogspot.com/2011/11/ubc-openvz-rhelcentos-6.html либо в оф источнике: http://wiki.openvz.org/VSwap

Порылись в проблеме поглубже, выяснилось следующее - так ведет себя новый vzctl, я сейчас просто руками создавал VPS и он сам вкатил щаблон ve-swap:
strace -o trace -f /usr/sbin/vzctl create 56131 --ostemplate debian-6.0-x86_64 --ipadd 176.9.219.67 --hostname test.ru

Лог стрейса внизу:
26170 link("/vz/lock/56131.lckqsZEVT", "/vz/lock/56131.lck") = 0
26170 unlink("/vz/lock/56131.lckqsZEVT") = 0
26170 rt_sigaction(SIGINT, {SIG_IGN, [], SA_RESTORER, 0x7fed4b433980}, NULL, 8) = 0
26170 stat("/etc/vz/conf/56131.conf", 0x7fffb7f445b0) = -1 ENOENT (No such file or directory)
26170 stat("/etc/vz/conf/ve-vswap-256m.conf-sample", {st_mode=S_IFREG|0644, st_size=1581, ...}) = 0
26170 stat("/etc/vz/conf/ve-vswap-256m.conf-sample", {st_mode=S_IFREG|0644, st_size=1581, ...}) = 0
26170 open("/etc/vz/conf/ve-vswap-256m.conf-sample", O_RDONLY) = 5
26170 open("/etc/vz/conf/56131.conf", O_RDWR|O_CREAT, 0100644) = 6
26170 read(5, "# Copyright (C) 2000-2011, Para"..., 4096) = 1581
26170 write(6, "# Copyright (C) 2000-2011, Para"..., 1581) = 1581
26170 read(5, "", 4096) = 0
26170 close(5) = 0
26170 close(6) = 0
26170 open("/etc/vz/conf/ve-vswap-256m.conf-sample", O_RDONLY) = 5
26170 stat("/etc/vz/conf/ve-vswap-256m.conf-sample", {st_mode=S_IFREG|0644, st_size=1581, ...}) = 0
26170 fstat(5, {st_mode=S_IFREG|0644, st_size=1581, ...}) = 0
26170 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fed4bdb3000
26170 read(5, "# Copyright (C) 2000-2011, Para"..., 4096) = 1581
26170 read(5, "", 4096) = 0

Иными словами, ранее он молча подозревал, что используется шаблон ve-basic, но с новой версии он юзает ve-swap, который не совместим со старым вариантом настроек UBC.

Вот так.. в итоге - без напильника ничего не работает вообще.

Итого фикс:
/etc/vz/vz.conf
@@ -33,7 +33,7 @@
## Defaults for containers
VE_ROOT=/vz/root/$VEID
VE_PRIVATE=/vz/private/$VEID
-CONFIGFILE="vswap-256m"
+CONFIGFILE="basic"
DEF_OSTEMPLATE="centos-5"

2 comments :

  1. тут плюс с минусом местами поменять надо )

    ReplyDelete
  2. Да, именно так, исправил, спасибо!

    ReplyDelete

Note: only a member of this blog may post a comment.