Per aspera ad grid To the grid computing through difficulties
Xen klaszterek
1. XEN klaszterek
Szalai Ferenc
szferi@avaxio.hu
http://www.avaxio.hu
2. Bevezető
●
Mit?
– intézményi vállalati szolgáltatásokat (web,
állomány, levelező szerver, egyedi teszt
rendszerek, virtuális oktatási hálózatok)
●
Miért?
– sok egyedileg felügyelt rendszer alacsony
kihasználtsággal (< 10%)
– sok vas, magas fenntartási költségek (pl.:
áramszámla)
●
Hogyan?
– Linuxszal, szabad szoftverekkel, technológiákkal
http://www.avaxio.hu
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)
http://www.avaxio.hu
4. Virtualizációs technológiák
●
emuláció: teljes utasítás készlet transzformáció pl.:
VMware, MS Virtual PC/Server, QEmu
●
paravirtualizáció: pl.: XEN, User Mode Linux
●
hardverrel támogatott paravirtualizáció: Intel VT,
AMD SVM
●
operációs rendszer szintű: pl.: chroot, jail, openVZ,
linuxvserver, solaris containers
●
alkalmazás és API szintű: pl.: cygwin, wine
●
egzotikumok: IBM S/360 hypervisor OS, Power 5
(mikrovirtualizáció)
http://www.avaxio.hu
5. Virtualizáció – XEN
●
Hipervizor: a XEN maga, ring0ban fut, virtuális gépeknek
(VM) biztosít fizikai erőforrásokat, ütemezi a VMeket,
operációs rendszer hypercallokon keresztül kommunikál
vele.
●
Előnyök:
– fizikai géphez közeli teljesítmény (23 % veszteség)
– nyílt forrás, ipari támogatás (XenSource, IBM, SUN, Novell stb.)
– Linux terjesztések része (Debian, SuSE, RedHat EAL)
– speciális virtualizációt támogató processzotokat használni tudja
●
Hátrányok:
– operációs rendszert módosítani kell (no Windows)
– nyílt management eszközök kiforratlansága
http://www.avaxio.hu
7. HVM – Hardware Virtual Machine
●
Ezzel tudunk Windowst futtatni Linuxon!
●
Közös interfész az Intel (VTx 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 ring0ban.
●
Új utasítások a processzorban (Intel: VMLaunch, VMResume,
VMExit, AMD: VMRUN)
●
dom0ban 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 XENben van.
●
Pl: Intel Pentium D 9xx, Core Duo, 2 Core Duo, egyes Xeonok
AMD Athlon 64 3xxx+, X2 DualCore, Turion, Opteron [1,2,8]000
http://www.avaxio.hu
8. 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 domain0ban.
(X=domainID, Y=interfész
szám)
Alap scriptek: bridge, route, xenbr1
nat (problémás lehet),
vegyes megoldások, saját
http://www.avaxio.hu
12. 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: qemudm
● disk =
['phy:/dev/xenimages/win2003,ioemu:hda1,w']}
●
NFS root: konfigurációs állományban nfs_server,
nfs_root
http://www.avaxio.hu
13. XEN teljesítmény - skálázhatóság
1000
Kiszolgált kliensek száma
800
600
400
200
0
L X L X L X L X
2 4 8 16
SPEC WEB99 futtatása Linux (L) és Xen(X)
http://www.avaxio.hu
14. XEN Enterprise
●
XenSource által támogatott XEN változat
●
Nyílt forrású XENre épül
●
Javított teljesítmény különösen a HVM
rendszerben, I/O és VGA
●
speciális hardverek támogatása (néhány
speciális FC, iSCSI kártya)
●
licencelt technológiák (pl.: MS VHD format)
●
P2V eszköz (fizikai gép virtualizálása)
●
grafikus távoli management felület
http://www.avaxio.hu
16. 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
http://www.avaxio.hu
17. 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:
– dom0ba 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
http://www.avaxio.hu
18. IP/Ethernet SAN
●
forrás (target), cél (initiator) architektúra
●
IP SAN: iSCSI
●
Ethernet SAN: AOE (AtaoverEthernet)
●
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.)
http://www.avaxio.hu
19. Egyszerű HA XEN 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!
http://www.avaxio.hu
20. Egyszerű terheléskiegyenlítő
●
CLVM (GFS nem
kell!)
●
XEN migráció
●
Külső
monitorozás és
automatizált
domain
áthelyezés (SLA)
●
HA IPVS 2
gépen
http://www.avaxio.hu
21. NONSTOP
storage és XEN
●
Adattároló klaszter nem csak
Xenhez.
●
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ég
NONSTOP =
NONSTOP Network Storage Platform
http://www.avaxio.hu
22. Hova tovább hovatovább?
●
teljesítmény elemzés: xenoprofile ●
lemez formátumok: VMDK, MS
●
Guest API: hipervizor VHD, Copyonwrite
inkompatibilitások csökkentése (userspace)
(Virtual I/O interfész kód tisztítása) ●
erőforrás kezelés (VCPU fizikai
●
IOMMU – I/O virtualizáció CPUhoz rendelése futásidőben
●
Infiniband – I/O virtualizáció változhasson, QoS)
●
vanilla kernel része? VMwarevel ●
HVM támogatás javítása:
közös API Qemudmtől szabadulni,
●
OS támogatás: Linux, NetBSD 3.1, video, usb támogatás javítása
FreeBSD 7.0, OpenSolaris 10, Plan 9 ●
XENFS: közös állomány rendszer
●
XML konfig állományok mindenhol VMek között
●
management: DTMF cím ●
IA64 port, Power PC port
támogatás, XENXML RPC ●
STB.
http://www.avaxio.hu