Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaKinga Szabó Megváltozta több, mint 8 éve
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
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.