2.6.20 újdonságok: kernel alapú virtualizáció (KVM), szervizelhetőséget javító funkciók (kdump, SystemTrap)

Címkék

A 2.6.20-as Linux kernel rc állapotba került a múlt héten. Andrew Morton egyik levelében jelezte, hogy mely általa igazgatott patch-ek fognak várhatóan megjelenni a végleges verzióban.
Az egyik figyelemre méltó újdonság a KVM lesz. A KVM jelentése "Kernel-based Virtual Machine". Ahogy azt a neve mutatja, a patch a Linux kernel virtualizációs képességeit fogja javítani. A KVM a honlapja szerint teljes virtualizációs megoldást nyújt x86 architektúrájú gépeken futó Linuxra. A KVM egy betölthető kernel modulból (kvm.o) és user space komponenesekből áll.

A KVM segítségével felhasználója módosítás nélküli Windows és Linux image-eket futtathat egymástól függetlenül. Mindegyik virtuális gépnek saját virtualizált "hardvere" van, azaz szeparált hálózati kártyával, lemezzel, grafikus adapterrel, stb. rendelkezik. A projekt honlapja szerint a KVM stabilnak mondható és elég gyors desktop feladatok ellátására a mai modern processzorokon. Szerver funkciók ellátására kicsit másképpen optimalizált virtualizáció szükséges. Ennek elkészítése folyamtban van.

Mi az ami jelenleg működik?

  • Intel-based hosts (requires VT capable processors)
  • AMD-based hosts (requires SVM capable processors)
  • Linux guests (32-bit and 64-bit)
  • Windows guests (32-bit)
  • SMP hosts
    Non-live migration of guests from one machine to another

Folyamatban levő munkák

  • Optimized MMU virtualization
  • Live migration

Tervezett funkciók

  • SMP guests

A KVM-ről bővebben a honlapján.

--

A 2.6.20-as Linux kernel a virtualizációs képességek javítása mellett egyéb fejlesztéseket is hoz majd. Érdemes megemlíteni a szervizelhetőséget, hibakeresést megkönnyítő kdump vagy a SystemTrap körüli munkákat.
A kdump körüli fejlesztések segítik, hogy minél megbízhatóbban és gyorsabban készítsünk crash dump-okat annak érdekében, hogy offline analizálhassuk a rendszer működését.
Az új SystemTrap funkció ezzel ellentétben lehetővé teszi a fejlesztők és rendszermérnökök számára, hogy a rendszert online állapotban, működés közben analizálhassák teljesítmény csökkenés vagy újrafordítás szükségessége nélkül.

Andrew Morton különösen jelentősnek nevezte a kdump-pal kapcsolatos munkákat, hiszen ez az egyetlen olyan crash dump eszköz, amely elfogadásra került a mainline Linux kernelbe. A főkarbantartó elmondta, hogy várakozásaik szerint az eszköz igazán hasznos lesz a kernelfejlesztői csapat számára, mert használatával részletes, kernel bugokkal kapcsolatos információkhoz juthatnak.

Bővebben itt.

Hozzászólások

Ha jól értem, ez a KVM jelenleg csak a hardware virtualizációt támogató CPU-kkal működik, és paravirtualizációt nem támogat (mint a XEN)ez kb a XEN HVM módjának felel meg, minusz XEN extra featurek.

Innetől most már csak azt nem értem, minek, miért nem lett volna jó a XEN beolvasztása. Illetve volt róla szó, hogy a mainline kernel valamiféle virtualizációs API-t nyújtana a mindenféle technikáknak, ezzel most mi van???

Faq:

http://kvm.sourceforge.net/faq.html

Üdv
Godot

Igaz, de a paravirtualizáció jelentős? performancia előnyét elvesztik, nyilván a paravirtualizációnak megvan az a háránya, hogy módosított guest OS kell hozzá, bár ez "csak" Windows esetében érdekes szvsz.

FAQ:

On the other hand, Xen supports both full virtualization and a technique called paravirtualization, which allows better performance for modified guests. kvm does not at present support paravirtualization.

Igen, ezért tettem az elejére az "Ez önmagában," kezdetű részt. Ha csak ez lenne a baj, akkor az nem lenne akkora baj. Viszont a paravirtualizáció és virtualizáció esetén vannak pro és kontra érvek. A paravirtualizáció esetén a guest-et patch-eni kell. Itt meg _módosítás nélkül_ fut a guest. Kinek mi az előny és a hátrány.

--
trey @ gépház

>> bár ez "csak" Windows esetében érdekes
elfelejted hogy minden linuxmejszter nedves álma, hogy a warez xpjét remek sebességgel használni tudja, mert ezzel két legyet üt egy csapásra: beírjatja a sigjébe, hogy 10 éve csak linuxot bootol, illetve a háttérkép-állítgatáson kívül másra is tudja használni a kis gépét

Ez nem csak a linuxmejszterek álma lehet, hanem alkalomadtán az olyan IT-ban dolgozóknak is szüksége lehet ilyenre, akik nem Windows-t használnak. Mondok is izibe egy példát. Nemtom, hogy van-e MSDN account-od. A minap éppen szükségem volt egy ISO image-re. Mivel Microsoft partnerek vagyunk, gyakorlatilag hozzáférek az összes Microsoft oprendszer és termék ISO-jához. Az az apró probléma van csak vele, hogy letölteni csak a Microsoft féle IE + Active X downloader borzalommal lehet. Na az ilyenek miatt van a gépemen VMWare-en egy _jogtiszta_ XP.

--
trey @ gépház

Produktív környezetben használunk XEN-t. Nálunk nem cél heterogén rendszert virtualizálni, ugyanaz fut domU és dom0-ként is. Persze elképzelhető olyan, hogy mondjuk freebsd dom0 linux domu vagy bármi más teszt , labor stb céllal, deh élesben nem látok olyat, ahol ez kellene.

Ha meg Windows-t akarok virtualizálni akkor MS Virtual Server. License így is úgyis kell.

Üdv
Godot

Így van...

Nem azt mondom, hogy nincs igazad, valóban jó ez HW segített virtualizáció, csak ahol egyszerűen lehet "modified" guest-et futtatni, nem váltok vt, svm technikára mert a sebességet bűnteti.
WEB és Applikációs szerver virtualizációnál nincs rá szükségem.

HA kelleni fog használni fogom (bár a jelenlegi szervereinkben nincs még ilyen feature)

Üdv
Godot

Nyilván ez a jövőbe mutató valami. Ha bekerül a kernelbe nem jelenti azt automatikusan, hogy az sziklaszilárd. Azt sem jelenti automatikusan, hogy a Xen-t helyettesítő valami és azt sem, hogy minden felhasználónak meg fog felelni. Ez egy lehetőség, mint ahogy az is, hogy hálókártyából is milliót támogatnak az oprendszerek. Van a kernelben HIPPI protokoll támogatás is, ami engem nem érint és valószínűleg sose fog, de ettől még lehet felhasználói bázisa :)

--
trey @ gépház

viszonylagos, hogy mi olcsó, ESX-et is lehet már ~200e-től is kapni (szvsz nem vészes az ára, akadémiai licensz -40%!), ráadásul sokkal jobb, többet lehet belőle kihozni, hosszú távon is.

nyilván minden helyzet más, a VMware Server is jó választás, főleg hogy gyakorlatilag bármikor át lehet róla térni ESX-re.

attila

Bocs a hülye kérdésért, de hogyan tudhatom meg, hogy a processzorom támogatja -e a hardware virtualizációt? (Intel Celeron, 2,6 Ghz)

AFAIK:

cat /proc/cpuinfo | grep vmx

De egyszerűbb ha megnézed az adott processzor datasheet-jét. A Celeron-ok nem (ismét AFAIK) támogatják a VT-t. A legtöbb Pentium 4 6x2, Pentium D 9x0, Xeon 3xxx/5xxx/7xxx, Core Duo és Core 2 Duo processzorok tudják, és az Itanium 2-k is.

--
trey @ gépház

Ezért mondtam, hogy AFAIK, és hogy a pontosabb infót az adott processzor adatlapja adja. Pl. a Core 2 Duo processzorokban van VT. Nagy általánosságban. De van olyan is, ami kivétel, ha jól emlékszem a T5500-as.

Intel processzor esetén a barátaitok ez az oldal:

http://processorfinder.intel.com/

Konkrétan az Intel Xeon 5140 támogatja a VT-t.

--
trey @ gépház

Utánanéztem gyorsan, hogy valójában mi az ábra és rájöttem, h tévedtem. Cpuinfo pni-nek hívja az SSE3-at, és szerepel a listán. Elnézést, nem akartam senkit félrevezetni (főleg Gabut nem:D), azért írtam, h tipp volt.

PS: Azért hívják pni-nek, mert eredetileg Prescott New Instructions volt az utasitáskészlet neve.

ezt csak mondod, vagy cisnalod is?:
>With a recent enough Linux kernel

Azt hiszem 2.6.16-rc3 (amit epp hasznalok) az nem. Mindegy enyem imho nem tudja, amd-eknel aszem opterontol van, es nekem csak athlon xp 3000+ van (mobil).

Nem mintha hirtelen win kene. De sajnos csomo dologhoz kell (szerencsere nekem most *epp* nincs ra szuksegem).

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....