Uživatelský režim Linux - User-mode Linux

Uživatelský režim Linux
Napsáno C
Typ Virtualizace
Licence GNU General Public License
webová stránka user-mode-linux .sourceforge .net

Uživatelský režim Linux ( UML ) umožňuje, aby více virtuálních operačních systémů založených na jádře Linuxu (známých jako hosté) fungovalo jako aplikace v normálním systému Linux (známém jako hostitel). Jelikož každý host je pouze běžná aplikace běžící jako proces v uživatelském prostoru , poskytuje tento přístup uživateli způsob, jak provozovat více virtuálních strojů Linux na jednom hardwaru, což nabízí určitou izolaci, obecně bez ovlivnění konfigurace nebo stability hostitelského prostředí. .

Aplikace

Pomocí UML je možné dosáhnout mnoha věcí. Lze spustit síťové služby z prostředí UML a zůstat zcela izolovány od hlavního systému Linux, ve kterém běží prostředí UML. Správci mohou pomocí UML nastavovat honeypoty , které umožňují otestovat zabezpečení počítačů nebo sítě. UML může sloužit k testování a ladění nového softwaru bez nepříznivého ovlivnění hostitelského systému. UML lze také použít pro výuku a výzkum, což poskytuje realistické síťové prostředí Linux s vysokou mírou bezpečnosti.

V prostředích UML se verze hostitele a hostujícího jádra nemusí shodovat, takže je zcela možné otestovat „ krvácející hranu “ verze Linuxu v uživatelském režimu na systému s mnohem starším jádrem. UML také umožňuje provádět ladění jádra na jednom počítači, kde jiné nástroje pro ladění jádra (například kgdb ) vyžadují dva stroje připojené kabelem nulového modemu .

Někteří poskytovatelé webhostingu nabízejí virtuální servery poháněné UML za nižší ceny než skutečné dedikované servery . Každý zákazník má root přístup k tomu, co se zdá být jeho vlastním systémem, zatímco ve skutečnosti je jeden fyzický počítač sdílen mezi mnoho lidí.

libguestfs podporuje back-end UML od verze 1.24 jako alternativu k použití QEMU nebo KVM.

Integrace do linuxového jádra

UML aplikace pro hosty ( Linux binární ELF ) byla původně k dispozici jako oprava pro některé verze jádra nad 2.2.xa hostitel s jakoukoli verzí jádra nad 2.2.x ji snadno podporoval v režimu vláken (tj. Non-SKAS3) .

Od verze Linux 2.6.0 je integrován do hlavního zdrojového stromu jádra . Byla implementována metoda spuštění samostatného adresního prostoru jádra (SKAS), která nevyžaduje opravu hostitelského jádra. To zlepšuje výkon a zabezpečení oproti starému přístupu Traced Thread, ve kterém procesy běžící v UML sdílejí stejný adresní prostor z pohledu hostitele, což vede k tomu, že paměť uvnitř UML nebude chráněna jednotkou správy paměti . Na rozdíl od současného UML používajícího SKAS by buggy nebo škodlivý software uvnitř UML běžícího na hostiteli, který není SKAS, mohl číst paměťový prostor jiných UML procesů nebo dokonce paměť jádra UML.

Srovnání s jinými technologiemi

Linux v uživatelském režimu se obecně považuje za výkon nižší než u některých konkurenčních technologií, jako jsou Xen a OpenVZ . Budoucí práce na přidávání podpory pro virtualizaci x86 do UML může tuto nevýhodu snížit.

Jako síla Xen (konkurenční technologie) je často uváděna podpora pro místní úložiště vláken (TLS). Toto je nyní také podporováno v nejnovějších jádrech UML. Xen se soustředí na virtualizaci celého stroje, a tedy všechny systémy běžící na stroji Xen jsou skutečně virtuální stroje. V UML není hostitelský počítač nijak virtualizován a skutečnými virtuálními stroji jsou pouze hostující systémy. To umožňuje hostům UML přímý přístup k hostitelským souborovým systémům a hardwaru, kde je běžné mapovat hostitelský adresář (např. / Uml / root/ ).

Podporované platformy

UML byl původně navržen pro instrukční sadu x86 , ale byl také přenesen do dalších, včetně IA-64 a PowerPC .

Viz také

Reference

externí odkazy