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, október 2., Szeged A Kernel Virtual Machine és a virtualizáció Dr. Szántó Iván ULX Open Source Consulting & Distribution október 2.

2 Szabad Szoftver Konferencia, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, október 2., Szeged Memóriavirtualizáció 2.

13 Szabad Szoftver Konferencia, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, október 2., Szeged KVM processzorvirtualizáció 2.

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

27 Szabad Szoftver Konferencia, 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, 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, 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, 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, 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, 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, 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, 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.


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