Kontejnery Solaris - Solaris Containers
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto problémech na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
Původní autoři | Sun Microsystems |
---|---|
Vývojáři | ilumos a Věštec |
První vydání | Leden 2005 |
Napsáno | C |
Operační systém | Oracle Solaris |
Plošina | SPARC, x86 |
K dispozici v | Angličtina |
Typ | Virtualizace na úrovni OS |
Licence | CDDL , Proprietární |
webová stránka | věštec |
Kontejnery Solaris (počítaje v to Zóny Solaris) je implementace virtualizace na úrovni operačního systému technologie pro systémy x86 a SPARC, poprvé veřejně vydána v únoru 2004 v sestavení 51 beta verze Solaris 10, a následně v prvním úplném vydání systému Solaris 10, 2005. Je přítomen v ilumos (dříve OpenSolaris ) distribuce, jako např OpenIndiana, SmartOS a OmniOS, stejně jako v oficiálním Oracle Solaris 11 vydání.
Kontejner Solaris je kombinací ovládacích prvků systémových prostředků a oddělení hranic, které poskytuje zóny. Zóny fungují jako zcela izolované virtuální servery v rámci jedné instance operačního systému. Konsolidací více sad aplikačních služeb do jednoho systému a jejich umístěním do izolovaných kontejnerů virtuálních serverů mohou správci systému snížit náklady a poskytují většinu stejné ochrany samostatných strojů na jednom stroji. [1]
Terminologie
Název této technologie se během vývoje a před zahájením veřejných akcí změnil. Před spuštěním zón Solaris v roce 2005 byl kontejnerem Solaris jakýkoli typ pracovní zátěže omezené funkcemi správy zdrojů v systému Solaris. Ten druhý byl v dřívější historii samostatným softwarovým balíčkem. Do roku 2007 termín Solaris Containers znamenal zónu Solaris kombinovanou s řízením správy zdrojů.
Později došlo k postupnému přesunu, kdy se kontejnery Solaris konkrétně odkazovaly na neglobální zóny, s dodatečnou správou zdrojů nebo bez ní. Zóny hostované globální zónou jsou známé jako „neglobální zóny“, ale někdy se jim říká jen „zóny“. Termín „místní zóna“ se konkrétně nedoporučuje, protože v tomto použití není „místní“ antonymem „globální“. Globální zóna má viditelnost všech prostředků v systému, ať už jsou spojeny s globální zónou nebo neglobální zónou. Pokud není uvedeno jinak, bude „zóna“ v tomto článku odkazovat na jiné než globální zóny.
Pro zjednodušení terminologie společnost Oracle upustila od používání pojmu kontejner v systému Solaris 11 a vrátila se k používání pojmu zóna Solaris bez ohledu na použití ovládacích prvků správy zdrojů.
Popis
Každá zóna má svůj vlastní název uzlu, přístup k virtuálním nebo fyzickým síťovým rozhraním,[2]a úložiště k ní přiřazené; pro zónu není vyžadováno žádné jiné minimální množství vyhrazeného hardwaru než diskové úložiště nezbytné pro její jedinečnou konfiguraci. Konkrétně to nevyžaduje vyhrazený procesor, paměť, fyzické síťové rozhraní nebo HBA, i když kterékoli z nich lze přidělit konkrétně jedné zóně.[3]
Každá zóna má hranici zabezpečení, která ji obklopuje, což brání procesu spojenému s jednou zónou v interakci s nebo pozorování procesů v jiných zónách. Každá zóna může být konfigurována s vlastním samostatným seznamem uživatelů. Systém automaticky spravuje konflikty ID uživatelů; to znamená, že dvě zóny v systému by mohly mít definováno ID uživatele 10 000 a každá by byla mapována na svůj vlastní jedinečný globální identifikátor.[4]
Zóna může být v jednom z následujících stavů:
- Konfigurováno: Konfigurace byla dokončena a potvrzena.
- Neúplný: Přechodný stav během instalace nebo odinstalace.
- Nainstalováno: Balíčky byly úspěšně nainstalovány.
- Připraveno: Byla vytvořena virtuální platforma.
- Běh: Zóna byla úspěšně spuštěna a nyní běží.
- Vypínání: Zóna se právě vypíná - jedná se o dočasný stav, který vede k „vypnutí“.
- Dolů: Zóna dokončila proces vypnutí a je mimo provoz - jedná se o dočasný stav vedoucí k „Nainstalováno“.
Některé programy nelze spustit z jiné než globální zóny; obvykle je to proto, že aplikace vyžaduje privilegia které nelze poskytnout v kontejneru. Protože zóna nemá vlastní samostatné jádro (na rozdíl od hardwarový virtuální stroj ), aplikace, které vyžadují přímou manipulaci s funkcemi jádra, jako je schopnost přímo číst nebo měnit paměťový prostor jádra, nemusí uvnitř kontejneru fungovat.
Potřebné zdroje
Zóny indukují velmi nízkou režii na CPU a paměti. Většina typů zón sdílí virtuální adresní prostor globální zóny. Zónu lze přiřadit k fondu zdrojů (sada procesorů plus třída plánování), aby bylo zaručeno určité použití, nebo ji lze omezit na pevnou výpočetní kapacitu („omezená CPU“) nebo jí lze přidělit akcie prostřednictvím fair-share plánování.[5]
V současné době lze v rámci jedné instance operačního systému vytvořit maximálně 8191 neglobálních zón. „Sparse Zones“, ve kterých je většina obsahu souborového systému sdílena s globální zónou, může zabrat pouhých 50 MB místa na disku. „Celé kořenové zóny“, ve kterých má každá zóna vlastní kopii souborů operačního systému, mohou zabírat kdekoli od několika stovek megabajtů po několik gigabajtů, v závislosti na nainstalovaném softwaru. Limity 8191 vycházejí z limitu 8 192 připojení zpětné smyčky na instanci Solaris. Každá zóna potřebuje připojení zpětné smyčky. Globální zóna dostane jednu, přičemž ne-globálním zónám zbývá 8191.
Dokonce is Whole Root Zones mohou být požadavky na místo na disku zanedbatelné, pokud je souborový systém OS zóny ZFS klon globálního obrazu zóny, protože na disk musí být uloženy pouze bloky odlišné od snímku; tato metoda také umožňuje vytvářet nové zóny během několika sekund.
Značkové zóny
Ačkoli všechny zóny v systému sdílejí společné jádro, byla přidána další sada funkcí s názvem značkové zóny (BrandZ zkráceně). To umožňuje, aby se jednotlivé zóny chovaly jiným způsobem, než je výchozí značka globální zóny. Stávající značky (říjen 2009) lze rozdělit do dvou kategorií:
- Značky, které neprovádějí překlad systémových volání:
- „native“ je výchozí nastavení pro Solaris 10
- 'ipkg' je výchozí pro OpenSolaris, OpenIndiana a OmniOS
- 'joyent' je výchozí pro SmartOS
- „cluster“ se používá pro zóny clusteru Solaris
- 'označené' se používá pro zóny v a Důvěryhodná rozšíření Solaris životní prostředí
- Značky, které provádějí překlad systémových volání:
- 'solaris8' poskytuje prostředí Solaris 8 v systému Solaris 10, včetně překladu ze systémových volání Solaris 8 na systémová volání Solaris 10 (k dispozici pouze na SPARC systémy)
- 'solaris9' poskytuje prostředí Solaris 9 v systému Solaris 10, včetně překladu ze systémových volání systému Solaris 9 na systémová volání systému Solaris 10 (k dispozici pouze v systémech SPARC)
- 'lx' poskytuje prostředí Red Hat Enterprise Linux 3 na systému Solaris 10, včetně překladu ze systémových volání RHEL 3 na systémová volání Solaris 10 (k dispozici pouze v systémech x86). V systému SmartOS mohou zóny značky lx poskytnout běh pro většinu moderních distribucí Linuxu, včetně Ubuntu, Debian, CentOS, Alpine a dalších. Podpora LX nebyla přenášena na ilumos.
- 's10brand' poskytuje prostředí Solaris 10 na systému OpenSolaris nebo Oracle Solaris 11, včetně překladu ze systémových volání Solaris 10 na systémová volání OpenSolaris / Oracle Solaris 11
- 'solaris-kz' poskytuje samostatnou instanci Solaris 11.2 nebo novější, s vlastním jádrem a nezávislými balíčky, na systému Oracle Solaris 11.2 nebo novějším.[6] Tato funkce byla poprvé veřejně dostupná v systému Solaris 11.2 Beta (veřejné stažení).[7]
Značka pro zónu je nastavena v době, kdy je zóna vytvořena. Druhá kategorie je implementována s interpozičními body v jádře OS, které lze použít ke změně chování syscalls, proces načítání, vlákno tvorba a další prvky.
Pro značku 'lx' jsou knihovny z Red Hat 3 nebo ekvivalentní distribuce jako např CentOS jsou povinni dokončit emulované prostředí.
Dokumentace
Poskytuje operační systém Solaris manuálové stránky ve výchozím nastavení pro kontejnery Solaris; podrobnější dokumentaci lze najít na různých online technických zdrojích.
První publikovaný dokument a praktický odkaz pro Solaris Zones napsal v únoru 2004 Dennis Clarke ve společnosti Blastwave a poskytl základní informace pro začátek. Tento dokument byl velmi rozšířen Brendanem Greggem v červenci 2005.[8] Kontejnery Solaris 8 a Solaris 9 byly podrobně zdokumentovány Dennisem Clarkem v Blastwave znovu v dubnu 2008. Dokument Blastwave Solaris 8 a Solaris 9 Containers byl velmi brzy v cyklu vydání technologie Solaris Containers a akce a implementace v Blastwave vyústily v návaznosti na marketing Sun Microsystems. Kniha Základy virtualizace systému Oracle Solaris 10 Autor: Jeff Victor a kol., nabízí podrobnosti o funkcích a osvědčené postupy. Podrobnější dokumentace je k dispozici na stránkách dokumentace Oracle.[9]
Problémy s implementací
Od verze Solaris 10 10/08 jsou značkové zóny podporovány na sun4us architektura (servery Fujitsu PRIMEPOWER) prostřednictvím balíčků FJSVs8brandr a FJSVs9brandr.[10]
Viz také
- Virtualizace na úrovni operačního systému
- Porovnání virtualizačního softwaru platformy
- Virtuální stroje
Reference
- ^ „Úvod do zón Oracle Solaris“.
- ^ „Zónová síťová rozhraní“.
- ^ „Schopnosti poskytované ne-globálními zónami“.
- ^ „Schopnosti poskytované ne-globálními zónami“.
- ^ „Ovládací prvky zdrojů“.
- ^ „O zónách jádra Oracle Solaris“.
- ^ „Oracle Solaris 11.2 Beta ke stažení“.
- ^ "Zóny". Solaris Internals wiki. 6. listopadu 2007. Citováno 21. dubna 2008.
- ^ „Informační knihovna Oracle Solaris 11.1“.
- ^ „Co je nového v balíčcích Solaris 10 10/08“. Věštec. 1. září 2008. Citováno 1. září 2008.
externí odkazy
- Dokumentace pro zóny Solaris (kontejnery)
- Dokument Jak začít vytvářet zóny Oracle Solaris v Oracle Solaris 11
- Blogy věnované zónám Oracle Solaris
- Přesun 10 zón Solaris
- Klíčový patent: USA 7437556 „Globální kontrola viditelnosti oddílů operačního systému“, publikováno 27. 1. 2005, a také jako EP 1475703