abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:11 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Komunita

    V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).

    Ladislav Hagara | Komentářů: 0
    včera 15:00 | Nová verze

    Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 4
    včera 12:22 | Pozvánky

    Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.

    jose17 | Komentářů: 0
    včera 04:44 | IT novinky

    Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevily v únicích dat a případně se nechat na další úniky upozorňovat.

    Ladislav Hagara | Komentářů: 16
    19.5. 23:22 | Zajímavý software

    Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 7
    19.5. 22:22 | Zajímavý software

    V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 1
    19.5. 13:11 | Zajímavý článek

    Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."

    Ladislav Hagara | Komentářů: 1
    19.5. 12:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    19.5. 12:33 | Nová verze

    Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (62%)
     (23%)
     (8%)
     (2%)
     (0%)
     (0%)
     (6%)
    Celkem 52 hlasů
     Komentářů: 5, poslední včera 20:57
    Rozcestník

    Linux-VServer a OpenVZ - diskové limity

    19. 9. 2007 | Jaroslav Tomeček | Systém | 5030×

    Aby se z virtuálních serverů nestala nenažraná monstra, musíme jim nastavit limity. Dnes se zaměříme na diskové limity. V závěru se podíváme na souborový systém proc-fs.

    Diskové limity

    Chceme-li z nějakého důvodu omezit velikost diskového prostoru přiděleného danému virtuálnímu serveru, můžeme použít diskové kvóty. Přidělíme tak serveru explicitně určitou diskovou paměť, kterou pak bude moci využívat a nesmí ji překročit. V podstatě mechanismus rozšiřuje funkce utility quota z uživatelů na kontexty.

    V úvodu bych rád uvedl, že linuxové uživatelské kvóty lze uvnitř serveru využít za předpokladu, že se takový server nachází na samostatné diskové oblasti. V opačném případě by se hodnoty za jednotlivé VE mohly sčítat.

    Linux-VServer

    Systém Linux-VServer umožňuje omezit diskovou paměť přidělenou danému kontextu. Každému souboru je přiděleno kontextové číslo xid virtuálního serveru, ke kterému soubor náleží. Diskové limity tak můžeme použít jen se statickým kontextovým číslem.

    Pokud chceme nastavit nebo změnit kontextový tag souborů, použijeme utilitu chxid:

    # chxid -c test1 -R /vservers/test1/

    Tím změníme kontextové tagy souborů kontextu test1, který je uložen v adresáři /vservers/test1/, včetně všech podadresářů (přepínač -R), na hodnotu odpovídající kontextovému číslu tohoto kontextu (přepínač -c).

    Celý příkaz musíme zopakovat pro všechny souborové systémy, které chceme omezit a ke kterým má kontext právo zápisu.

    Poté můžeme nastavit diskové limity. Chceme-li omezit například diskový prostor kontextu test1 na 5 GiB a 100000 i-uzlů, zvolíme následující postup:

    # mkdir -p /etc/vservers/test1/dlimits/0
    # echo /vservers/test1 > /etc/vservers/test1/dlimits/0/directory
    # echo $(( 5 * 1024 * 1024 )) > /etc/vservers/test1/dlimits/0/space_total
    # echo 100000 > /etc/vservers/test1/dlimits/0/inodes_total
    # echo 5 > /etc/vservers/test1/dlimits/0/reserved

    Tím vytvoříme adresář /etc/vservers/test1/dlimits/0 s konfiguračními soubory diskových limitů. V souboru directory je uvedena cestu k adresáři, který má být omezen, v souboru space_total velikost diskové prostoru v KiB, soubor inodes_total obsahuje počet i‑uzlů a soubor reserved obsahuje velikost diskového prostoru v procentech celkové paměti, který je rezervován pro uživatele root.

    Adresář /etc/vservers/test1/dlimits/ může obsahovat více podadresářů (pojmenovaných 0, 1, 2, ...), každý se stejnou strukturou jako v příkladu a každý z nich obsahuje nastavení limitů různých diskových oblastí.

    Při prvním spuštění kontextu s nastavenými diskovými limity se vypočítá velikost a obsazení diskového prostoru. Vypočtené hodnoty jsou uloženy do speciální cache. Pokud přidáme soubory do adresářového prostoru kontextu, který není aktivní, musíme smazat cache, aby mohly být údaje upraveny. Ta bývá uložena v adresáři /usr/local/var/cache/vservers/dlimits/<xid>/<adresar s '_' namisto '/' v nazvu>.

    Pro připojení souborového systému se soubory s tagem xid je nutné použít volbu příkazu mount tagxid:

    # mount -o tagxid,rw /dev/whatever /vservers

    Pro soubor /etc/fstab použijeme volbu:

    /dev/whatever /vservers ext3 defaults,tagxid 0 2

    Ačkoliv není doporučeno připojovat kořenový souborový systém s tagem tagxid, Linux-VServer tuto možnost dovoluje, musíme však spustit jádro s volbou rootflags=tagxid.

    Linux-VServer nenabízí možnost uživatelských kvót. Jedinou možností je mít každý server na jiném souborovém systému.

    OpenVZ

    Systém OpenVZ rozlišuje dva případy diskových kvót. První jsou označovány jako kvóty virtuálních serverů nebo kvóty první úrovně. Ty určují, kolik diskového prostoru a i-uzlů může virtuální server využít. Druhým případem jsou kvóty uživatelů a skupin, neboli kvóty druhé úrovně. Prostřednictvím nich může administrátor VPS nastavit diskové limity pro jednotlivé uživatele nebo jejich skupiny, i když budou servery na stejné souborovém systému.

    Kvóty první úrovně jsou na rozdíl od kvót druhé úrovně implicitně zapnuté (hodnota DISK_QUOTA v globálním konfiguračním souboru /etc/vz/vz.conf, resp. v konfiguračním souboru každého VPS /etc/sysconfig/vz-scripts/<VPS_ID>.conf). Obě úrovně jsou na sobě nezávislé.

    Systém si pamatuje změny souborů v diskových oblastech jednotlivých virtuálních serverů. Poznamená si, zda došlo k zápisu na disk VPS. Při vypínání VPS se souborový systém uvede do konzistentního stavu. Dojde-li k výpadku vlastního operačního systému nebo počítače před vypnutím VPS, je pak velikost diskové paměti dopočítána při příštím startu VPS na základě poznamenaného příznaku nekonzistentnosti.

    Pro diskové kvóty nastavujeme dva typy limitů. Tvrdý, který není možné překročit, a měkký, který můžeme dočasně překročit, ale po vypršení nastaveného času není další zápis povolen.

    Uvedeme si parametry diskových kvót s určením konfiguračního souboru. Konfiguračním souborem VPS se rozumí /etc/sysconfig/vz-scripts/<VPS_ID>.conf, globálním konfiguračním souborem potom /etc/vz/vz.conf. Jeden blok diskových kvót OpenVZ odpovídá 1024 B:

    • disk_quota – Zapnutí/vypnutí diskových kvót první úrovně. Může být uveden v globálním konfiguračním souboru i v konfiguračním souboru VPS, jehož nastavení má vyšší prioritu.
    • diskspace – Celková velikost diskového prostoru, který může VPS použít v jednokilobytových blocích. Je umístěn v konfiguračním souboru VPS.
    • diskinodes – Celkový počet i-uzlů, které může VPS alokovat. Je umístěn v konfiguračním souboru VPS.
    • quotatime – Čas, po který smí VPS přesáhnout měkký diskový limit, v sekundách. Je umístěn v konfiguračním souboru VPS.
    • quotaugidlimit – Počet uživatelských/skupinových ID, které používají diskové kvóty. Pokud je nastaven na 0, diskové kvóty druhé úrovně nebudou zapnuty. Nenulové číslo označuje počet uživatelů/skupin, kteří smí vlastnit soubory. Je umístěn v konfiguračním souboru VPS.

    Druhý a třetí parametr mají měkký a tvrdý limit. Při zadávání jsou uvedeny ve tvaru soft:hard.

    Následující příklad ilustruje nastavení diskových kvót VPS 101. Přidělíme mu 1 GiB paměti (1,1 GiB po dobu maximálně 10 minut) a dovolíme alokovat 90000 i-uzlů (91000 i-uzlů po dobu nejvýše 10 minut). Nastavení trvale uložíme (přepínač --save):

    # vzctl set 101 --diskspace 1000000:1100000 --save
    # vzctl set 101 --diskinodes 90000:91000 --save
    # vzctl set 101 --quotatime 600 --save

    Aktivace diskových kvót druhé úrovně vyžaduje restartování VPS. Hodnota quotaugidlimit by měla být větší nebo rovna počtu záznamů v /etc/passwd/etc/group. Nastavení může vypadat takto (s trvalým uložením změn pomocí přepínače --save):

    # vzctl set 101 --quotagidlimit 100 --save
    # vzctl stop 101; vzctl start 101

    Administrátor příslušného VPS pak může používat utilitu quota standardním způsobem tak, jako by se jednalo o fyzický server.

    Ke zjištění nastavení diskových kvót můžeme použít utilitu vzquota. Argumentem může být stat pro zjištění kvót běžících VPS a show pro zjištění kvót stojících VPS. Příklad (pro zobrazení kvót druhé úrovně je použit přepínač -t):

    # vzquota stat 101 -t

    Virtuální systém proc-fs

    Virtuální systém proc-fs obsahuje vždy informace k virtuálnímu serveru, v němž se nachází. Z bezpečnostních důvodů je v tomto systému omezena viditelnost souborů a adresářů. Virtuální servery tak nemohou sledovat údaje o ostatních běžících serverech a nemůže dojít k jejich vzájemnému ovlivnění.

    Neviditelnost některých položek však nemusí být žádoucí, protože mohou být nutné pro běh některých programů a serverů (například démon souborového systému AFS vyžaduje přístup k /proc/fs/nfs/exports). V Linux-VServeru proto můžeme viditelnost upravit.

    Linux-VServer

    V systému jsou implicitně viditelné následující soubory a adresáře:

    cpuinfo crypto devices execdomains filesystems interrupts iomem
    ioports kcore kmsg loadavg locks meminfo misc
    modules mounts net pci self slabinfo stat
    swaps sys sysvipc tty uptime version

    Systém ochran implementuje tři příznaky: admin, watch a hide. K vypsání nebo nastavení jsou nutné utility showattr resp. setattr. Následující tabulka ukazuje význam příznaků:

    příznak význam
    admin vždy viditelný v hostitelském serveru
    watch vždy viditelný ve virtuálním serveru
    hide skrytý

    V následující tabulce jsou vypsány možnosti použití (aadmin, wwatch, hhidden; malý znak – vypnutí volby, velký znak – zapnutí volby):

    příznak viditelnost
    * * h viditelné odkudkoliv
    A w H viditelné pouze v hostitelském serveru
    a W H viditelné pouze ve virtuálním serveru
    A W H viditelné v kontextu v hostitelském serveru i ve virtuálním serveru
    a w H neviditelné, nezvratné bez restartování systému

    Standardně je viditelnost nastavena na A W H.

    Utilita showattr může mít například na souboru /proc/interrupts následující výstup:

    Awh-ui- /proc/interrupts

    Jednou z možností, jak změnit nastavení příznaků, je spuštění utility setattr z hostitelského serveru s odpovídajícími parametry. Znak ~ před příznakem značí vypnutí tohoto příznaku. Například ke zpřístupnění /proc/loadavg odkudkoliv:

    # setattr --~hide /proc/loadavg

    Příznaky admin a watch v tomto případě mohou být nastaveny jakkoliv.

    Abychom zabránili virtuálním serverům číst informace o přerušení, zamezíme jim v přístupu k souboru /proc/interrupts. Aby byl viditelný pouze z hostitelského serveru, nastavíme příznaky následovně:

    # setattr --hide --admin --~watch /proc/interrupts

    Změny provedené utilitou settattr jsou dočasné a platné pouze do restartu virtuálního serveru.

    Pro trvalé nastavení viditelnosti, tedy vypnutí příznaku hide, slouží soubor /etc/vservers/.defaults/apps/vprocunhide/files. Jeho vytvořením nahradíme nastavení ze souboru /usr/lib/util-vserver/defaults/vprocunhide-files. Vložíme do něj soubory a adresáře, u kterých chceme změnit viditelnost. Například změnu viditelnosti /proc/fs/nfs/exports provedeme zapsáním následujících řádků (soubor tak zpřístupníme):

    /proc/fs/ 
    /proc/fs/nfs/ 
    /proc/fs/nfs/exports

    Chceme-li nějaký soubor z přístupného adresáře zneviditelnit, uvedeme cestu k tomuto souboru do /etc/vservers/.defaults/apps/vprocunhide/files za znak . K nastavení viditelnosti při startu systému slouží skript /usr/local/etc/init.d/vprocunhide.

    OpenVZ

    OpenVZ rozšiřuje standardní systém linuxový proc-fs o vlastní soubory sloužící ke správě VPS. Podadresář vz obsahuje souhrnné informace o běžícím VPS, například číslo VPS, IP adresu a informace o diskových kvótách. Soubor user_beancounters obsahuje informace o limitech systémových prostředků, včetně jejich aktuálních stavů.

    Systém neumožňuje úpravu viditelnosti souborů a adresářů.

    Příště

    Přístě se podíváme na plánovač CPU a jak na adresář /dev.

    Nejčtenější články posledního měsíce

    Týden na ITBiz: Halucinace balíčků při programování AI
    Týden na ITBiz: DeepSeek nic nemění, umělá inteligence vyžaduje obrovské investice do cloudové infrastruktury
    Týden na ScienceMag.cz: Komplexní modely AI prý zpochybňují Occamovu břitvu

    Nejkomentovanější články posledního měsíce

    Týden na ITBiz: Když umělá inteligence lže, jsou důvěra a ochranná opatření ještě důležitější
    Týden na ITBiz: Halucinace balíčků při programování AI
      všechny statistiky »

    Seriál Virtualizace na úrovni jádra (dílů: 8)

    Virtualizace na úrovni jádra operačního systému (první díl)
    <—« Linux-VServer a OpenVZ - síťová rozhraní
    »—> Linux-VServer a OpenVZ - přidělování CPU
    Linux-VServer - správa výpočetních zdrojů (poslední díl)

    Související články

    Jaderné noviny: Souborové kvalifikace
    Jaderné noviny: KVM 15
    Jaderné noviny: Vývoj KVM
    Jaderné noviny: /dev/kvm
    Jaderné noviny: Patche Xen
    Jaderné noviny: Kontejnery procesů
    Jaderné noviny: Připojení Linuxu k hypervisorům
    Jaderné noviny: Virtualizační rozhraní VMI
    Jaderné noviny: Kontejnery a odlehčená virtualizace
    Jaderné noviny: API pro virtuální I/O: virtio
    Jaderné noviny: Virtuální čas
    Jaderné noviny: OpenVZ a checkpointing za běhu
    Jaderné noviny: Zdroje: má dáti, dal
    Chroot prostředí

    Odkazy a zdroje

    openvz.org
    Linux-VServer.org

    Další články z této rubriky

    Úvod do Dockeru (1)
    Paralelizace běžných činností v konzoli pomocí GNU Parallel
    Unixové nástroje – 26 (triky pro práci v Bashi)
    Unixové nástroje – 25 ((s,c)fdisk, gdisk, parted a findmnt)
    Linux: systémové volání splice()
           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    19.9.2007 15:35 MiK[3]Zz
    Rozbalit Rozbalit vše Re: Linux-VServer a OpenVZ - diskové limity
    Hm??? Ja osobne tuto seriu clankov nemusim, na druhej strane aspon ma autor cash a abclinuxu clanky, takze asi vyhodny obchod, ale mne tento clanok dal nulu. Myslim, ze v dnesnej dobe sa tymto sposobom s pocitacom hrat nebude, tieto produkty su nedokonale a zle sa ovladaju, co horsie moze byt?
    19.9.2007 15:48 daeltar | skóre: 13 | blog:
    Rozbalit Rozbalit vše Re: Linux-VServer a OpenVZ - diskové limity
    Kontrolní otázka - které virtualizační produkty jsou dokonalé a nezle se ovládají?
    19.9.2007 17:12 MiK[3]Zz
    Rozbalit Rozbalit vše Re: Linux-VServer a OpenVZ - diskové limity
    Osobne si myslim, ze ked tak, tak pouzit xen/esx.
    19.9.2007 17:15 thingie
    Rozbalit Rozbalit vše Re: Linux-VServer a OpenVZ - diskové limity
    Jo, to si pak užiješ dokonalosti. Muhehe :-)
    19.9.2007 20:40 daeltar | skóre: 13 | blog:
    Rozbalit Rozbalit vše Re: Linux-VServer a OpenVZ - diskové limity
    :) já zase doporučím ZFS/Solaris Containers, je s tím kupa legrace(dokonalosti asi ne, chjo, ale to u ničeho).

    Škoda, že nějaká z OS level virtualizačních technologií ještě neprobublala do vanila kernelu... alespoň na úrovni FreeBSD jailů...
    20.9.2007 12:33 Jan Forman | skóre: 10 | Plzeň
    Rozbalit Rozbalit vše Re: Linux-VServer a OpenVZ - diskové limity
    To by jste se hodně divil jak moc se tohle používá :-) Znáte pojem Virtuální server? Ovládání je pro poskytovatele služby triviální (uživatel téměř nic nepozná) Používám OpenVZ a výkon, stabilita je zcela vynikající. Všeobecně se odhaduje že obrovské množství "serverů" na internetu už jsou virtuální stroje... proč ne taky? že (jenom ta úspora energie)
    20.9.2007 21:19 xm | skóre: 36 | blog: Osvobozený blog | Praha
    Rozbalit Rozbalit vše Re: Linux-VServer a OpenVZ - diskové limity
    Člověče ty seš ale vtipálek :-) Hovno o tom víš a stejně se nestydíš pouštět takováhle "moudra" v diskuzi. Završil si to tím doporučením Xenu nebo ESX, tím si dokázal, že o virtualizaci víš fakt uplný kulový a ani nevíš jakej je rozdíl mezi OS-level virtualizací, paravirtualizací a skutečnou virtualizací :-D
    Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.