Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Klaszter és virtualizációs technikák

1,740 views

Published on

2007

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Klaszter és virtualizációs technikák

  1. 1. Klaszter és virtualizációs technikák Szalai Ferenc szferi@niif.hu
  2. 2. Problémák● Informatika egyre kritikusabb infrastruktúra és egyre nagyobb rendelkezésre állást várnak el tőle● Növekvő teljesítmény igényeket nem lehet erősebb gépekkel kielégíteni gazdaságosan● Növekvő bonyolultságú informatikai infrastruktúra (egyre több szerver a szerverszobában)● Növekvő tárolandó adatmennyiség (kép, videó, adatbázisok)
  3. 3. Miért virtualizáljunk?● Vezetői szemlélet: a vas ára állandó, a adminisztrációs költségek nőnek● Motiváció: – költségtakarékosság: 51.7 % – üzemeltetés egyszerűsítése: 14.6 % – flexibilis infrastruktúra: 13.1 % – leállási idő csökkentése: 12.6 % – helytakarékosság: 10.9 % – skálázhatóság: 10.9 % – megbízhatóság: 10.9 % (IDC 2005)
  4. 4. Mit?● storage (adattároló alrendszerek): elrejteni a különféle gyártók SAN rendszereit, összevonni az elemi adattároló kapacitásokat (pl: NONSTOP architektúra)● I/O virtualizáció: dinamikus sávszélesség és QoS fizikai csatornákon (pl.: Infiniband)● szerver virtualizáció
  5. 5. Hogyan?● Szerver virtualizációs technikák fő kategóriái: – Emuláció – para-virtualizáció – operációs rendszer szintű – API virtualizáció – Alkalmazás szintű● Egzotikumok: – Virtual SMP: elosztott közös memóriájú klaszterek – PC architektúrán túl: IBM Power 5, 6 – IBM S/360 hypervisor OS – minden virtualizáció ős anyja
  6. 6. Alapfogalmak● host gép/operációs rendszer: virtuális gépeket befogadó fizikai eszköz● virtuális gép: absztrakció, szoftver elem, ami fizikai eszközök virtualizálásával teremt az operációs rendszerek számára futási környezetet● guest gép/operációs rendszer: virtuáis gépen futó OS● hipervizor: szuper-privilégizált módban futó kernel, ami a virtuális gépet szolgáltat (para virtualizáció)● JIT – just in time: futás közbeni fordítás
  7. 7. Emuláció● Előnyök: – változatos architektúrák (PC, Amiga, stb.) – teljes hardver kontroll (BIOS, VGA, stb.)● Hátrányok: – sebesség – host rendszer mindig kell – nagy teljesítmény igény a host rendszeren is● Legismertebb megoldások: – Vmware Wokrstation, Player, Server – MS Virtual PC és szerver – Qemu – Boch – Amiga, Mobiltelefon, stb. fejlesztő környezetek
  8. 8. Paravirtualizáció● Előnyök: – jó teljesítmény (2-5% veszteség, néha nyereség) – hardver támogatás● Hátrányok: – guest OS módosítását igényli – kiforrott management eszközök hiánya● Legismertebb megoldás: XEN
  9. 9. Xen felépítéseSzoftveresparavirtualizáció:Alkalmazások: Ring 3Operációs rendszer:Ring ½ (privilégizáltutasítások,hypercallok)XEN: Ring0
  10. 10. HVM – Hardware Virtual Machine● Ezzel tudunk Windowst futtatni Linuxon!● Közös interfész az Intel (VT-x vagy Vanderpool) és az AMD (SVM vagy Pacifica) saját hardveres virtualizációs megoldásához (hvmloader)● Új futási mód a hipervizornak, OS futhat ring0-ban.● Új utasítások a processzorban (Intel: VMLaunch, VMResume, VMExit, AMD: VMRUN)● dom0-ban ioemu (módosított qemu) a legtöbb eszköz (PCI, VGA, IDE, NE2000, stb.) emulációja ezen keresztül történik● nagy teljesítményt igénylő eszközök emulációja (IOAPIC, LAPIC, VPIT, stb.) magában a XEN-ben van.● Pl: Intel Pentium D 9xx, Core Duo, 2 Core Duo, egyes Xeonok AMD Athlon 64 3xxx+, X2 Dual-Core, Turion, Opteron [1,2,8]000● KVM: Kernel Virtual Machine (Linux)
  11. 11. Operációs rendszer szintű● Előnyök: – teljesítmény (2-5 % veszteség) – pehelysúlyú – jó virtuális gépenkénti erőforrás használat szabályozás● Hátrányok: – nem lehet több különféle OS típus – kernel módosítást igénye, host-on, guest-en egyaránt● Ismertebb megoldások: – chroot, BSD Jail – Linux-Vserver – OpenVZ – Solaris Container
  12. 12. Virtuális hálózat● Virtuális hálózati interfész: – virtuális interfész a host rendszeren (XEN) – TAP driver – TUN/Ethertap – UML, CoLinux – pcap könyvtár – userspace megoldás – UML switch – slirp● Hálózati kapcsolat: – bridge – NAT – route – fizikai eszköz delegálás
  13. 13. XEN hálózat● /etc/xen/scripts alatt – egy network script, ami a dom0-án állítja a hálózatot a xend indulásakor – egy vif script ami a dom0-án konfigurálja a virtuális interfészeket minden domaint vifX.Y  xenbr0 alakú hálózati interfész  reprezentál a domain0­ban.  (X=domainID, Y=interfész  szám) Alap scriptek: bridge, route,  xenbr1 nat (problémás lehet),  vegyes megoldások, saját
  14. 14. Lemez formátumok● Cél: – kis méret, gyors elérés. hatékony VM tárolás● Méret csökkentő megoldások: – „Lyukak” az állományrendszerben – COW (copy on write) – tömörítés● Sebesség növelő megoldások: – többszintű cache és clustering● Titkosítás● Típusok: – Raw (Qemu) – COW (UML, Vmware disk, MS Virtual PC) – Tömörített: QCOW (qemu)
  15. 15. XEN virtuális lemezkezelés● image állomány (loopback)● disk = [file:/var/images/debian.img,sda1,w]}● user space megoldások: blktap● disk =  [tap:aio:/dev/images/debian.img,sda1,w]}● külön partíció● disk = [phy:/dev/hda2,sda1,w]}● logikai kötet (LVM)● disk = [phy:/dev/xenimages/noc.grid,sda1,w]}● user space megoldás HVM esetén: qemu-dm● disk =  [phy:/dev/xenimages/win2003,ioemu:hda1,w]}● NFS root: konfigurációs állományban nfs_server,  nfs_root
  16. 16. VM Extrák● Snapshot mód● Migráció● P2V● Klónozás és template vezérelt management● Fizikai hibák szimulációja
  17. 17. XEN migráció
  18. 18. XEN Enterprise - Console
  19. 19. Mikor melyiket?● Új hardver platform: Emuláció pl.: Qemu, VMware● Hosting: – ha sok azonos rendszer: OS szintű virtualizáció - pl.: OpenVZ – ha sokféle rendszer: Paravirtualizáció – pl.: Xen, VMware ESX● Linux kernel fejlesztés: UML● Windows-on Linux, ha kell teljesítmény is: CoLinux● Oktatói tesz hálózat: XEN, UML● Desktop Virtualizációs: VMware
  20. 20. Milyen szolgáltatásokat?● Levelező rendszer, ha – nincs nagy forgalom vagy sok IMAP kapcsolat● Web szerver – ha az átlag terhelés < 10 rq/s● Adatbázis szerver – Oracle-vel óvatosan kell bánni● Tűzfal, ha nincs más megoldás● Alkalmazás szerver: – az enterpise JAVA kacatokkal bajok lehetnek● Állomány szerver: – irodai környezetben
  21. 21. Miért jó klaszter építeni?● Nagy rendelkezésre állás: HA klaszeterek – alkalmazás szintű megoldás: pl.: Heathbeat● Teljesítmény elosztás (Load balance klaszterek) – Layer 4 és Layer 7 szintű megoldások. Pl.: IPVS● Nagy teljesítményű számítás (HPC klaszterek) – beowulf● NUMA klaszterek● SSI (single system image) klaszterek: pl. OpenMosix, OpenSSI
  22. 22. Megfelelő tároló alrendszer● Klaszterek alapja a közös állomány és/vagy tároló alrendszer● Hol tároljuk a virtuális gépek virtuális lemezeket?● Lehetőségek tárolóra: – dom0-ba rakjunk sok lemezt: nehezen skálázható, nagy rendelkezésre állás kialakítása nehézkes – NAS (NFS): három egymástól független állományrendszer konzisztencia problémája – Fibre Channel/Infiniband SAN: jó de általában drága – IP/Ethernet SAN: jó kompromisszum lehet
  23. 23. IP/Ethernet SAN● forrás (target), cél (initiator) architektúra● IP SAN: iSCSI● Ethernet SAN: AOE (Ata-over-Ethernet)● AOE: egyszerű protokoll ATA üzenetek natív etherneten történő továbbítására – initiator 2.6.11 óta Linux kernel része – célhardver target (Coraid Inc.)
  24. 24. Egyszerű HA VM klaszter● Közös tároló vagy DRBD● A fizikai gép meghibásodás ellen védekezünk● floating IP● Heathbeat – domainek indítása – raid, lvm összeállítása – hálózat● Figyelem: Linux sw raid nem támogatja a klaszterezést!
  25. 25. Egyszerű terhelés kiegyenlítő VM klaszter● CLVM (GFS nem kell!)● XEN migráció● Külső monitorozás és automatizált domain áthelyezés (SLA)● HA IPVS 2 gépen
  26. 26. NONSTOP storage és XEN● Adattároló klaszter nem csak Xen-hez.● Moduláris adatkapcsolat, igény szerint● Egyszerű elemek● Skálázható a sávszélesség és a switchek erejéig● management eszköz kell hozzá● storage virtualizáció képességNONSTOP =NONSTOP Network Storage Platform
  27. 27. Tervezési szempontok● Előbb az adattároló alrendszer● 1-2 hónap monitorozási adatok kellenek (mit érdemes és mint nem virtualizálni)● VM hosting platform kialakítása és tesztelése● P2V migrációval test imagek készítése (Linux rendszerek esetén egy jól irányzott dd is megtesz, vagy ha van backup akkor az)● HA és Loadbalance tesztek, intenzíven● Migráció egyesével, esetleg szolgáltatásonként● Mérés

×