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í
×
    dnes 05:11 | Komunita

    Dlouholetý balíčkář KDE Jonathan Riddell končí. Jeho práci na KDE neon financovala firma Blue Systems, která ale končí (Clemens Tönnies, Jr., dědic jatek Tönnies Holding, ji už nebude sponzorovat), někteří vývojáři KDE se přesunuli k nově založené firmě Techpaladin. Pro Riddella se již nenašlo místo. Následovala debata o organizaci těchto firem, které zahraniční vývojáře nezaměstnávají, nýbrž najímají jako kontraktory (s příslušnými důsledky z pohledu pracovního práva).

    |🇵🇸 | Komentářů: 0
    dnes 02:33 | Komunita

    V Amsterdamu probíhá Blender Conference 2025. Videozáznamy přednášek lze zhlédnout na YouTube. V úvodní keynote Ton Roosendaal oznámil, že k 1. lednu 2026 skončí jako chairman a CEO Blender Foundation. Tyto role převezme současný COO Blender Foundation Francesco Siddi.

    Ladislav Hagara | Komentářů: 0
    dnes 02:22 | Zajímavý článek

    The Document Foundation, organizace zastřešující projekt LibreOffice a další aktivity, zveřejnila výroční zprávu za rok 2024.

    ZCR | Komentářů: 0
    včera 17:33 | Nová verze

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

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Nová verze

    Byla vydána verze 1.90.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Nová verze

    GNUnet (Wikipedie) byl vydán v nové major verzi 0.25.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.

    Ladislav Hagara | Komentářů: 0
    včera 12:11 | Nová verze

    Byla vydána nová major verze 7.0 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Nově je postavena je na Debianu 13 (Trixie) a GNOME 48 (Bengaluru). Další novinky v příslušném seznamu.

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

    Společnost Meta na dvoudenní konferenci Meta Connect 2025 představuje své novinky. První den byly představeny nové AI brýle: Ray-Ban Meta (Gen 2), sportovní Oakley Meta Vanguard a především Meta Ray-Ban Display s integrovaným displejem a EMG náramkem pro ovládání.

    Ladislav Hagara | Komentářů: 0
    včera 01:11 | Nová verze

    Po půl roce vývoje od vydání verze 48 bylo vydáno GNOME 49 s kódovým názvem Brescia (Mastodon). S přehrávačem videí Showtime místo Totemu a prohlížečem dokumentů Papers místo Evince. Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.

    Ladislav Hagara | Komentářů: 11
    17.9. 16:22 | Nová verze

    Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (39%)
     (55%)
     (6%)
     (9%)
     (12%)
     (9%)
     (12%)
     (9%)
     (15%)
    Celkem 33 hlasů
     Komentářů: 5, poslední včera 22:30
    Rozcestník

    Jaderné noviny - 20. 5. 2015: Úvod k "čistým" kontejnerům

    11. 8. 2015 | Redakce | Jaderné noviny | 2897×

    Stav vydání jádra. Citáty týdne. Úvod k "čistým" kontejnerům.

    Stav vydání jádra

    Aktuální vývojový kernel je 4.1-rc4, vydaný 18. května. "Tak je to tu, opravy na poslednní chvíli a tak. Patch -rc4 je o něco větší než ten předchozí, ale to bude v důsledku normálního náhodného načasování - kolísání sloučení stromů submaintainerů."

    Stabilní aktualizace: 4.0.4, 3.14.43 a 3.10.79 byly vydány 17. května.

    Citáty týdne

    Samozřejmě, že se obecně věří, že Smack+Tomoyo nebo SELinux+AppArmor je mnohem zajímavější kombinace než SELinux+Smack. Upřímně, nikdy jsem netoužil po tom, vidět explodovat hlavu bezpečnostního admina a bojím se, že by se to v případě SELinux+Smack mohlo stát.

    -Casey Schaufler

    Úvod k "čistým" kontejnerům

    Kontejnery jsou skvělé. Všichni je milují. Vývojáři je milují pro jednoduchost, s jakou je možné vytvořit bundle pro uživatele, DevOps a IT vývojáři je milují jejich jednoduchost pro správu a nasazení. Do záře reflektorů se kontejnery dostaly v okamžiku, kdy Docker změnil prostředí pro vývoj aplikací podobně, jako iPhone změnil klientské prostředí.

    Slovo "kontejner" (angl. container) se nepoužívá pouze pro aplikace, ale také k popisu technologií, která je schopná spustit software izolovaně. Takové kontejnery jsou o používání kontrolních skupin ke správě prostředků a uživatelského prostoru jádra a omezení viditelnosti a dosahu kontejnerové aplikace. Zhruba toto by si pod označením kontejner mohl představit typický čtenář LWN a Abc Linuxu.

    Lidé obhajující kontejnery tvrdí, že virtuální stroje jsou náročné, trvá jim než se rozjedou, a že kontejnery prostě poskytují efektivnější alternativu. Proti kontejnerům svědčí jejich bezpečnost vůči nepřátelským uživatelům s arzenálem exploitů po kapsách. Na toto téma by bylo možné se hádat celé hodiny, ale realita je taková, že spoustu potenciálních uživatelů kontejnerů právě toto vnímá jako zásadní nedostatek. Na zlepšení bezpečnosti kontejnerů a uživatelského prostoru pilně pracují jak open-source projekty, tak startupy.

    My (skupina Intel Clear Containers) se na bezpečnost kontejnerů díváme zase trochu jinak a položili jsme si základní otázku: Jak nákladná je ve skutečnosti technologie virtuálních strojů? Výkon se v tomto případě poměřuje pomocí dvou hledisek: prvním je čas spuštění a druhým zatížení paměti. První hledisko se týká rychlosti, za jakou jsou vaše datová centra schopna odpovědět na příchozí požadavek (např. uživatel se přihlásí ke svému emailu), druhé toho, kolik kontejnerů je možné umístit na jeden server.

    Rozhodli jsme se vytvořit systém (který nazýváme "Čistý Kontejner"), ve kterém je možné využít izolace virtuálního stroje spolu s výhodami kontejnerů. Zároveň jsme se rozhodli upustit od tradičního označení "stroj" (machine), které se spojuje s virtuálními stroji. Nebudeme předstírat, že se jedná o standardní PC, které je kompatibilní se všemi operačními systémy na světě.

    Několik dosavadních výsledků: Dokážeme spustit takto zabezpečený kontejner, využívající technologie virtualizace pod 150 milisekund a zatížení paměti na jeden kontejner dosahuje zhruba 18 až 20 MB (což znamená, že na serveru se 128 GB RAM je možné spustit 3500 kontejnerů). I když se zatím nedokážeme vyrovnat nejrychlejším spuštěním Dockeru s použitím jmenných prostorů jádra, pro mnoho aplikací by to mohlo stačit. Navíc ještě stále optimalizujeme.

    Jak jsme toho dosáhli?

    Hypervizor

    Jako hepervizora jsme vybrali KVM a podívali jsme se na vrstvu QEMU. QEMU je skvělý emulátor pro běh Windows nebo starší verze Linuxu, ale jeho flexibilitu vyvažují velké nároky. Emulace vyžaduje spoustu paměti, a také nějakou formu firmware v hostu. To vše se přičítá ke startovacím časům virtuálního stroje (neobvyklé nejsou časy kolem 500 - 700 milisekud).

    K dispozici máme mini-hypervizor kvmtool (o kvmtool se na LWN již psalo). Díky kvmtool nepotřebujeme BIOS ani UEFI (jednotné rozšiřitelné firmwarové rozhraní), místo toho můžeme přejít přímo do linuxového jádra. KVMtool potřebuje pro spuštění a vytvoření CPU kontextů asi 30 milisekund. Vylepšili jsme kvmtool, takže podporuje XIP (execute in place) v jádře bez nutnosti rozbalit obraz jádra, stačí mmap() soubor vmlinux a přejít do něj, což šetří paměť i čas.

    Kernel

    Linuxové jádro nabíhá velmi rychle. Na skutečném stroji představuje většina startovacího času jádra inicializaci hardwaru. Na virtuálním stroji žádné hardwarové zpoždění není - je to podvod, ve skutečnosti se využívají pouze virtio zařízení, jejichž nastavení trvá velmi krátce. V některých případech [jsme] skryli čekání na inicializaci CPU, ale jinak trvá bootování kernelu ve virtuálním stroji zhruba 32 milisekund, takže zůstává spousta prostoru pro optimalizaci.

    Museli jsme také opravit několik chyb v jádře. Několik oprav jsme již odeslali (upstream), další odešleme v následujících týdnech.

    Uživatelský prostor

    V roce 2008 jsme na Plumbers Conference mluvili o 5sekundovém bootu. Od té doby se mnoho změnilo, nejvýrazněji sysemd. Díky systemd je jednoduché vytvořit prostředí uživatelského rozhraní, které bootuje velmi rychle. Rád bych se na tomto místě rozepsal o tom, jak jsme museli optimalizovat uživatelský prostor, ale pravdou je, že s menšími úpravami správným sestavením operačního systému, bootuje uživatelský prostor opravdu rychle (trvá to méně než 75 milisekund). (Při použití bootchartingu při vzorkování ve vysokém rozlišení je to o něco více, ale to jsou horní hranice měření).

    Spotřeba paměti

    Klíčovým prvkem, který by mohl pomoci snížit spotřebu paměti je DAX, kernel 4.0 jej již podporuje v souborovém systému ext4. Je-li vaše úložiště viditelné hostitelskému CPU jako běžná paměť, umožní DAX zcela obejít page cache i subsystém virtuální paměti. Pro aplikace, které využívají mmap() to znamená operace zero-copy, a pro kód, který využívá volání read() (nebo jiný ekvivalent) to znamená pouze jedny data. DAX byl původně navržen pro rychlé paměti (podobné flash), které CPU vidí jako paměť. V prostředí virtuálního stroje není problém úložiště tohoto typu jednoduše emulovat. Je třeba namapovat obraz hostitelského disku do fyzické paměti hosta a použít malý ovladač zařízení v kernelu hosta, který kernelu zobrazuje tuto oblast paměti jako DAX-ready blokové zařízení.

    Tato (DAX) metoda nabízí zero-copy řešení bez spotřeby paměti pro ukládání kódu operačního systému a dat do uživatelského prostoru hosta. Při použití příznaku MAP_PRIVATE v hypervizoru se úložiště stane copy-for-write bez využití paměti, zápisy do souborového systému v hostu nejsou trvalé, takže dojde k jejich smazání v okamžiku ukončení hostova kontejneru. Možnost MAP_PRIVATE umožňuje jednoduché sdílené téhož obrazu disku mezi všemi kontejnery, což také znamená, že i když dojde k poškození a "zasvinění" obrazu operačního systému, nebudou tyhle změny přetrvávat v budoucích kontejnerech.

    Další klíčovou vlastností ke snížení spotřeby paměti je same-page merging (KSM) na hostiteli. KSM poskytuje způsob jak deduplikovat paměť v rámci a mezi procesy a KVM hosty.

    Nakonec jsme optimalizovali základní uživatelský prostor pro co nejnižší spotřebu paměti. Toho jsme dosáhli voláním funkce malloc_trim() na konci inicializačního procesu rezidentských démonů, čímž jsme je přiměli vrátit zpět do jádra jakékoli malloc() buffery, které v využíval glibc. Ve výchozím nastavení implementuje glibc typ hystereze, tzn, drží si jistou část volné paměti jako optimalizaci v případě, že je paměť brzy znovu zapotřebí.

    Další kroky

    Jako důkaz snad poslouží funkčního koncept s rkt (nedávný článek o appc na LWN). Jakmile s prací pokročíme, budeme se soustředit na přidávání podpory pro Docker. Více informací o tom, jak začít a kde stáhnout kód, najdete na clearlinux.org, který aktualizujeme jakmile pokročíme s integrací a optimalizací.

           

    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ář

    12.8.2015 00:39 majk
    Rozbalit Rozbalit vše Re: Jaderné noviny - 20. 5. 2015: Úvod k "čistým" kontejnerům
    tak tohle je pecka clanek, diky!
    12.8.2015 07:28 jaroslav
    Rozbalit Rozbalit vše Re: Jaderné noviny - 20. 5. 2015: Úvod k "čistým" kontejnerům
    +1

    nádherný příklad toho, že "umět" a "umět vysvětlit" jsou dvě dost odlišné věci...
    12.8.2015 08:57 Pev | skóre: 28
    Rozbalit Rozbalit vše Re: Jaderné noviny - 20. 5. 2015: Úvod k "čistým" kontejnerům
    Link na Docker má být https://www.docker.com/.

    Díky za překlad :-).
    Conscript89 avatar 12.8.2015 17:21 Conscript89 | Brno
    Rozbalit Rozbalit vše Re: Jaderné noviny - 20. 5. 2015: Úvod k "čistým" kontejnerům
    Díky kvmtool nepotřebujeme BIOS ani UEFI (jednotné rozšiřitelné firmwarové rozhraní), místo toho můžeme přejít přímo do linuxového jádra. KVMtool potřebuje pro spuštění a vytvoření CPU kontextů asi 30 milisekund.
    Pokud vim, tak neco podobneho umi i qemu: qemu-kvm -serial stdio -kernel vmlinuz -initrd vmlinuz -append console=ttyS0
    I can only show you the door. You're the one that has to walk through it.

    Založit nové vláknoNahoru

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