Czemu cgroup jest "popsute"?

Jacek Osiecki joshua at hybrid.pl
Thu Nov 25 23:50:57 CET 2010


Witam,

Przy próbie uruchomienia vservera z użyciem cgroup by limitować zasoby 
zaliczyłem zonka:

root w intranethost ~> vserver intranet-sql start
/usr/lib64/util-vserver/vserver.functions: line 1530:
/dev/cgroup/intranet-sql/tasks: No such file or directory


Failed to start vserver 'intranet-sql'

Długo próbowałem dojść do przyczyny, i w końcu się znalazła.
Otóż normalnie mam w /etc/fstab:

none            /dev/cgroup             cgroup cpu,cpuset,memory 0    2

co skutkuje:

root w intranethost ~> mount|grep cgroup
none on /dev/cgroup type cgroup (rw,cpu,cpuset,memory)

Tymczasem było:

root w intranethost ~> mount|grep cgroup
none on /dev/cgroup type cgroup (rw)

Szukałem... i proszę, jest. W /etc/init.d/rc.sysinit stoi jak byk:

mount -n -t cgroup none /dev/cgroup

Zdziwiony, sprawdziłem na innym systemie który ma minimalnie starsze 
init-scripts, i tam też to jest - ale... obwarowane warunkiem:

if ! grep -q cgroup /etc/fstab 2>/dev/null ; then

Czyli dosyć logicznie - jeśli w fstabie administrator po swojemu ustawia 
cgroup, to mu się nie wtryniać.

Jeszcze w rc-scripts-0.4.3.2-1 jest OK, a już w 0.4.3.5-1 jest zepsute.
Jako ciekawostka - w 0.4.3.2-1 jest z takim komentarzem:

# cpuset support (mount if not found in fstab - should be ^# excluded?)

No i dobra - czy ktoś mi wyjaśni, dlaczego zostało to w ten sposób 
zepsute? Wydaje mi się, że z takim ustawieniem jak teraz to cgroup nie 
działa... Musiałem przerobić rc-scripts - i co gorsza będę musiał 
zablokować sobie ich upgrade na wsyzstkich serwerach, co niespecjalnie mi 
się podoba :(

Nie powinno się wrócić do tego ifa? W końcu jeśli administrator ustawia 
cgroup po swojemu, to nie po to żeby system to olewał...

Pozdrawiam,
-- 
Jacek Osiecki joshua w ceti.pl GG:3828944
I don't want something I need. I want something I want.


More information about the pld-devel-pl mailing list