TinyKVM har introducerats för virtualisering pÄ nivÄ med enskilda processer

Varnish Software, som utvecklar system för att bygga leveransnÀt och cache-lösningar för innehÄll, har presenterat det öppna projektet TinyKVM, som utvecklar verktyg för isolering av enskilda processers körning med hjÀlp av hypervisorn KVM. Projektets mÄl Àr att skapa det snabbaste sandbox-isolationssystemet för enskilda processer som anvÀnder hÄrdvaruvirtualisering. Projektets kod Àr skriven i C och C++ och distribueras under GPLv3-licensen (för dem som inte kan uppfylla krav pÄ GPLv3 finns en kommersiell licens tillgÀnglig).

TinyKVM Ă€r avsett för isolerad körning av alla konsolprogram för Linux med prestanda nĂ€ra normal körning. Överheaden för varje systemanrop Ă€r cirka 2 mikrosekunder. Som exempel pĂ„ anvĂ€ndning av projektet nĂ€mns ytterligare isolering av processer i cache- och webbförfrĂ„gningsbehandlingssystem. TinyKVM har utvecklats för att ersĂ€tta emulatorn libriscv, som anvĂ€nds för att isolera behandlingen av varje webbförfrĂ„gan i Varnish-plattformen. Dessutom har en variant av biblioteket libvmod skapats, vilket möjliggör modulutveckling till Varnish med hjĂ€lp av TinyKVM.

TinyKVM har introducerats för virtualisering pÄ nivÄ med enskilda processerTinyKVM har introducerats för virtualisering pÄ nivÄ med enskilda processer

Vid körning med TinyKVM exekveras programmets maskinkod utan emulerande lager pÄ CPU och begrÀnsas via KVM-hypervisorens API, vilket gör att overheaden kan uteslutas och prestandan kan nÄ nivÄer nÀra prestandan utan virtualisering. Huvudfunktionerna i TinyKVM Àr:

  • BegrĂ€nsning av maximal exekveringstid. Programmet kan tvĂ„ngsstoppas efter att tidsgrĂ€nsen uppnĂ„tts, utan att signalhanterare och trĂ„dar kallas.
  • BegrĂ€nsning av minnesanvĂ€ndning.
  • Möjlighet att skapa (forka) oinitierade instanser virtuella maskiner frĂ„n en initierad instans av det isolerade programmet. Kopior av virtuella maskiner skapas i copy-on-write-lĂ€ge, vilket möjliggör avsevĂ€rda besparingar i minne genom att endast lagra en instans av gemensamma data.
  • Forkade processer kan Ă„terstĂ€llas till ett tidigare tillstĂ„nd (till exempel kan en forkad http-begĂ€rarprocessor Ă„tergĂ„ till sitt ursprungliga tillstĂ„nd efter att ha behandlat varje begĂ€ran utan att startas om). En instans av en isolerad process kan ocksĂ„ Ă„terstĂ€llas till tillstĂ„ndet för en annan virtuell maskin, inte nödvĂ€ndigtvis den den forkades frĂ„n, men kostnaderna kommer att vara högre eftersom det krĂ€vs en Ă€ndring av sidtabellen.
  • Möjlighet att skapa statiska minnessidor under initiering, som Ă€r lĂ€mpliga Ă€ven för avancerade runtime-miljöer, som till exempel Go-sprĂ„ket. I detta fall tillĂ„ts Ă€ndringar endast för sidor i copy-on-write-lĂ€ge.
  • Stöd för fjĂ€rrdebugging med GDB. Debugging i realtid med Ă„terupptagning av exekveringen Ă€r möjlig.

GÀstmiljön TinyKVM bildar en komprimerad kÀrna, skyddad mot förÀndringar, som Àr sammansatt med minnesskydd aktiverat och anvÀnder SMAP (Supervisor Mode Access Prevention) och SMEP (Supervisor Mode Execution Prevention) för extra isolering mellan kÀrnan och anvÀndarrummet. TinyKVM anvÀnder stora minnessidor (hugepages) för att förbÀttra prestandan. Systemanrop som görs av program fÄngas av emulatorn och omdirigeras till vÀrdmiljön (fördröjningen för behandling och översÀttning av det emulerade anropet Àr cirka 2 mikrosekunder). I sjÀlva en virtuell maskin anvÀnds inga drivrutiner, in- och utmatning eller virtuella enheter.

TinyKVM har introducerats för virtualisering pÄ nivÄ med enskilda processer


KĂ€lla: opennet.ru
Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster