Po pár týdnech přináším zase nějaké nové informace o vpsAdminOS, na čem pracujeme a s čím zápasíme.
Na node1.stg stále ladíme LXCFS, protože upstream verze a kernel neumí to co bychom potřebovali. Chybí nám možnost nastavit počet dostupných CPU, aniž bychom museli přiřadit nějaké CPU na pevno přes cpuset, tak jako to umí OpenVZ. Tzn. aby každý VPS mohl využít 8 libovolných CPU, podle toho které CPU mají aktuálně volno. No a ve VPS by jich nemělo být vidět víc, i když jich má node více, např. node1.stg má 32. Ono je to matoucí hlavně pro uživatele. Když člověk vidí 32 dostupných CPU, ale může z nich využít na plno jen 8, tak si řekne, že to nefunguje.
Na vpsAdminOS k nastavení CPU limitu používáme CPU kvóty (cfs_quota/period_us), ale na omezení počtu viditelných CPU už žádné prostředky k dispozici nejsou. Takže aktuálně pracuju na úpravě LXCFS, aby se v /proc/stat a /proc/cpuinfo zobrazoval správný počet CPU podle nastavené kvóty. Z těchto souborů pak čte informace top, htop a další monitorovací nástroje.
LXCFS ovšem řeší jen část problému, protože pokud se zeptáte kernelu kolik máte CPU přes nějaký syscall, stále dostanete „špatnou“ informaci. Kernel nějaké úpravy hodnot v LXCFS nezajímají. Např. nproc
na node1.stg stále vracel 32 místo 8. Podle nproc
se mohou řídit různé build systémy, takže jsem se to snažil vyřešit. Výsledkem je kratičký patch do kernelu, který upravuje návratovou hodnotu syscallu sched_getaffinity()
tak, že obsahuje jen omezený počet CPU. S touto úpravou už nproc
vrací správné číslo, nicméně tohle řešení není ideální a možná to bude rozbíjet nějaké aplikace, uvidíme.
Výše popsané změny jsou na node1.stg nasazeny od minulého týdne. Pokud jste si všimli něčeho podivného, nebo něco nefunguje jak má, hlaste to prosím.
Dále jsme aktualizovali kernel na 4.17. Dlouho nás brzdil bug v NixOS, kvůli kterému kernel nebyl kompatibilní se ZFS. Teď netrpělivě čekáme na 4.18, který bude podporovat FUSE v user namespace, tzn. mělo by začít fungovat sshfs, apod.
node1.stg bude fungovat minimálně ještě několik měsiců a místa je tam dost, přidejte se. Zpětné vazby zatím moc nebylo. Můžete tam provozovat cokoliv, čemu nevadí časté výpadky. Vytvořené VPS nemažeme, dokud je tam místo.