Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Szabad Szoftver Konferencia, 2009. október 2., Szeged A Kernel Virtual Machine és a virtualizáció Dr. Szántó Iván ULX Open Source Consulting & Distribution.

Hasonló előadás


Az előadások a következő témára: "Szabad Szoftver Konferencia, 2009. október 2., Szeged A Kernel Virtual Machine és a virtualizáció Dr. Szántó Iván ULX Open Source Consulting & Distribution."— Előadás másolata:

1 Szabad Szoftver Konferencia, 2009. október 2., Szeged A Kernel Virtual Machine és a virtualizáció Dr. Szántó Iván ULX Open Source Consulting & Distribution 2009. október 2. szanto.ivan@ulx.hu

2 Szabad Szoftver Konferencia, 2009. október 2., Szeged KVM és virtualizáció - Áttekintés ● Alapok ● CPU virtualizáció ● Memória virtualizáció ● I/O virtualizáció ● Erőforrások felosztása és összegzése ● KVM architektúra, működési módok ● Menedzsment eszközök

3 Szabad Szoftver Konferencia, 2009. október 2., Szeged Alapok: definició ● Virtualizáció: ● fizikai erőforrások absztrakciója, azzal a céllal, hogy ● ugyanazon a hardveren egyszerre több operációs rendszer példány futhasson

4 Szabad Szoftver Konferencia, 2009. október 2., Szeged Alapok: történelem ● Az 1960-as években kezdődött: IBM M44/44X ● Az 1990-es években ennek leáldozott a csillaga, az x86 architektúra térhódításának következtében ● A VMware 1999-ben kezdte el a virtualizációt x86 alapokon

5 Szabad Szoftver Konferencia, 2009. október 2., Szeged KVM és virtualizáció - Áttekintés ● Alapok ● CPU virtualizáció ● Memória virtualizáció ● I/O virtualizáció ● Erőforrások felosztása és összegzése ● KVM architektúra, működési módok ● Menedzsment eszközök

6 Szabad Szoftver Konferencia, 2009. október 2., Szeged Processzorvirtualizáció 1. ● Virtualizáció nélkül: az operációs rendszer tartja kontroll alatt a hardvert (privilegizált instrukciók) ● Ha a felhasználói folyamatok el akarják érni a hardvert, az operációs rendszert kell hívniuk (rendszerhívás)

7 Szabad Szoftver Konferencia, 2009. október 2., Szeged Processzorvirtualizáció 2. ● Teljes (full) virtualizáció: a virtuális gépben (VM) futó operációs rendszer változatlan ● A virtuális gép hardver elérését, privilegizált instrukcióit binárisan fordítani kell (BT) ● Ez processzoridőbe kerül (overhead)

8 Szabad Szoftver Konferencia, 2009. október 2., Szeged Processzorvirtualizáció 3. ● Paravirtualizáció: a virtuális gépben (VM) futó operációs rendszert megváltoztatják, hogy ne a hardvert hívja ● Jó teljesítmény ● Kernel átírása

9 Szabad Szoftver Konferencia, 2009. október 2., Szeged Processzorvirtualizáció 4. ● Hardveres támogatás: a CPU támogatja a virtualizációt, a bináris fordítás szükségtelenné válik ● VM operációs rendszer változatlan marad ● Jó teljesítmény

10 Szabad Szoftver Konferencia, 2009. október 2., Szeged KVM és virtualizáció - Áttekintés ● Alapok ● CPU virtualizáció ● Memória virtualizáció ● I/O virtualizáció ● Erőforrások felosztása és összegzése ● KVM architektúra, működési módok ● Menedzsment eszközök

11 Szabad Szoftver Konferencia, 2009. október 2., Szeged Memóriavirtualizáció 1. ● Az x86 architektúra hardveres támogatást nyújt a felhasználói processzek virtuális memória lapjainak a fizikai memória lapokra való leképzéséhez (page tables) ● A virtualizációhoz ez nem elég, szükség van a VM fizikai memória lapjainak a hosztgép fizikai memória lapjaira való leképzéséhez ● Megoldás: shadow page tables, amely a VM virtuális memória lapjait a hosztgép fizikai memória lapjaira képzi le, és a hardver végzi

12 Szabad Szoftver Konferencia, 2009. október 2., Szeged Memóriavirtualizáció 2.

13 Szabad Szoftver Konferencia, 2009. október 2., Szeged KVM és virtualizáció - Áttekintés ● Alapok ● CPU virtualizáció ● Memória virtualizáció ● I/O virtualizáció ● Erőforrások felosztása és összegzése ● KVM architektúra, működési módok ● Menedzsment eszközök

14 Szabad Szoftver Konferencia, 2009. október 2., Szeged I/O virtualizáció - Áttekintés ● Mit virtualizálunk? ● Képernyő, hálózat, diszk... ● Hálókártya, optikai csatolókártya, hangkártya, USB... ● Hogyan virtualizáljuk? ● Full virtualizáció ● Paravirtualizált operációs rendszer ● Paravirtualizált driverek ● Sehogy: pass-through (hardvertámogatás segít)

15 Szabad Szoftver Konferencia, 2009. október 2., Szeged I/O virtualizáció - Összehasonlítás ● Virtualizáció előnyei (full és para-) ● Jól ismert hardver emulációja ● Hardverfüggetlenség a VM oldalon ● I/O eszközök könnyen megoszthatók a VM-ek között ● Szeparáció, biztonság ● Migráció lehetősége ● Pass-through előnye ● Teljesítmény

16 Szabad Szoftver Konferencia, 2009. október 2., Szeged KVM és virtualizáció - Áttekintés ● Alapok ● CPU virtualizáció ● Memória virtualizáció ● I/O virtualizáció ● Erőforrások felosztása és összegzése ● KVM architektúra, működési módok ● Menedzsment eszközök

17 Szabad Szoftver Konferencia, 2009. október 2., Szeged Erőforrások felosztása és összegzése 1. ● CPU, memória felosztás ● Multiprocesszing, multitasking ● Virtualizáció ● CPU, memória összegzés ● Egy gépbe több CPU v. memória ● Nagyobb gép (scale-up) ● Több gép klaszterezése (scale-out) ● Aktív-passzív és aktív-aktív klaszterek ● NUMA

18 Szabad Szoftver Konferencia, 2009. október 2., Szeged Erőforrások felosztása és összegzése 2. ● Hálózat felosztása ● Multitasking, multiprocessing ● Virtualizáció ● Hálózat összegzése ● Ethernet bonding, switch trunking, proxy balancing, ip network shaping

19 Szabad Szoftver Konferencia, 2009. október 2., Szeged Erőforrások felosztása és összegzése 3. ● Storage felosztása ● Particionálás ● LVM ● Storage összegzése ● md driver (mdadm) ● LVM, CLVM ● device-mapper modulok – dm-mirror – dm-multipath

20 Szabad Szoftver Konferencia, 2009. október 2., Szeged KVM és virtualizáció - Áttekintés ● Alapok ● CPU virtualizáció ● Memória virtualizáció ● I/O virtualizáció ● Erőforrások felosztása és összegzése ● KVM architektúra, működési módok ● Menedzsment eszközök

21 Szabad Szoftver Konferencia, 2009. október 2., Szeged KVM architektúra 1. ● Kernel-based Virtual Machine ● 2006 óta a Linux kernel része ● Hardveres támogatásra van szüksége ● Intel VT-X vagy AMD-V

22 Szabad Szoftver Konferencia, 2009. október 2., Szeged KVM architektúra 2. ● A virtualizációhoz szükség van ● Ütemezőre ● Memóriakezelésre ● A platform (x86) kezelésére ● Eszközkezelésre (device drivers)

23 Szabad Szoftver Konferencia, 2009. október 2., Szeged KVM architektúra 3. ● A virtualizációhoz szükség van ● Ütemezőre ● Memóriakezelésre ● A platform (x86) kezelésére ● Eszközkezelésre (device drivers) ● A Linuxban mindez kész van, és elég jól működik ● Dolgozzunk inkább a virtualizáción magán, a fentieket hagyjuk a kernelfejlesztőkre

24 Szabad Szoftver Konferencia, 2009. október 2., Szeged KVM processzorvirtualizáció 1. ● Részei: QEMU, Linux kernel, KVM kernel modul ● QEMU processzor és architektúra emulátor – kezeli a virtuális hardvert – hívja a kernelt, hogy lépjen át guest módba ● Linux kernel – Guest módba lépteti a processzort – Kezeli a laphibákat (page fault) – Az I/O feladatokat továbbítja a QEMU felé ● Guest mód: – Amíg nincs szükség I/O-ra, nincs page fault, vagy megszakítás

25 Szabad Szoftver Konferencia, 2009. október 2., Szeged KVM processzorvirtualizáció 2.

26 Szabad Szoftver Konferencia, 2009. október 2., Szeged KVM processzorvirtualizáció 3. ● Virtuális CPU: Linux thread ● A Linux ütemező ütemezi

27 Szabad Szoftver Konferencia, 2009. október 2., Szeged KVM memóriavirtualizáció 1. ● A VM fizikai memóriája a hosztgépen futó Linux számára virtuális memória, ezért ● Lapozható ● Megosztható a processzek (VM-ek) között ● Használható hozzá large page (kisebb page table) ● Használható hozzá diszk fájl ● COW (Copy-on write) ● NUMA

28 Szabad Szoftver Konferencia, 2009. október 2., Szeged KVM memóriavirtualizáció 2. - Memórialapok megosztása ● Kernelmodullal implementálták ● Kernel SamePage Merging (KSM) ● Működése: ● A kernel végignézi a memóriát ● Az egyforma lapokat „eggyéolvasztja” ● „Csak egy maradhat” ● Ha az egyik VM megváltoztatja, kap egy külön másolatot ● Eredmény: hardver megtakarítás

29 Szabad Szoftver Konferencia, 2009. október 2., Szeged KVM I/O virtualizáció ● QEMU emuláció ● Paravirtualizált driverek Linuxhoz és Windowshoz: virtio ● I/O pass-through hardvertámogatással: ● PCI pass-through – hardvereszköz dedikálása egy VM számára – full virtualizáció esetén csak a KVM tudja ● SR-IOV – PCI eszközök megosztása több VM között

30 Szabad Szoftver Konferencia, 2009. október 2., Szeged KVM desktop virtualizáció ● SPICE – távoli renderelési protokoll ● 30+ fps video ● flash támogatás ● Kétirányú audió és videó támogatása (videó- konferenciák/telefon) ● Multi-monitor támogatás (4 v. több monitor is) ● USB 1.1 és 2.0 támogatás ● Adaptív távoli renderelés ● A szerver vagy a kliens GPU-t használja

31 Szabad Szoftver Konferencia, 2009. október 2., Szeged KVM és virtualizáció - Áttekintés ● Alapok ● CPU virtualizáció ● Memória virtualizáció ● I/O virtualizáció ● Erőforrások felosztása és összegzése ● KVM architektúra, működési módok ● Menedzsment eszközök

32 Szabad Szoftver Konferencia, 2009. október 2., Szeged KVM menedzsment ma ● A libvirt virtualizációs rétegre épülő eszközök ● virt-manager: GUI. VM-ek listázása, létrehozása, módosítása, indítása, leállítása... ● virsh: cli ● libvirt használata: C, python, perl, java, ruby... ● virt-v2v, virt-top, virt-ps, virt-uname, virt-dmesg ● libguestfs

33 Szabad Szoftver Konferencia, 2009. október 2., Szeged KVM menedzsment holnap ● Redhat RHEV-M Virtualization Management Tool ● Jelenleg béta státuszban ● Több hosztgép egységes kezelése ● Data center, cluster, hypervisor ● Data storage (NFS, iSCSI, FC), ISO library (NFS) ● Load balancing policy alapján automatikus VM migráció

34 Szabad Szoftver Konferencia, 2009. október 2., Szeged Kérdések? Dr. Szántó Iván ULX Nyílt Forráskódú Tanácsadó és Disztribúciós Kft. szanto.ivan@ulx.hu


Letölteni ppt "Szabad Szoftver Konferencia, 2009. október 2., Szeged A Kernel Virtual Machine és a virtualizáció Dr. Szántó Iván ULX Open Source Consulting & Distribution."

Hasonló előadás


Google Hirdetések