23
http://www.avaxio.hu XEN klaszterek Szalai Ferenc [email protected]

Xen klaszterek

Embed Size (px)

DESCRIPTION

2006

Citation preview

Page 1: Xen klaszterek

http://www.avaxio.hu

XEN klaszterek

Szalai [email protected]

Page 2: Xen klaszterek

http://www.avaxio.hu

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 

Page 3: Xen klaszterek

http://www.avaxio.hu

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)

Page 4: Xen klaszterek

http://www.avaxio.hu

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, 

linux­vserver, solaris containers● alkalmazás és API szintű: pl.: cygwin, wine ● egzotikumok: IBM S/360 hypervisor OS, Power 5 

(mikrovirtualizáció)

Page 5: Xen klaszterek

http://www.avaxio.hu

Virtualizáció – XEN ● Hipervizor: a XEN maga, ring0­ban fut, virtuális gépeknek 

(VM) biztosít fizikai erőforrásokat, ütemezi a VM­eket, operációs rendszer hypercall­okon keresztül kommunikál vele.

● Előnyök:– fizikai géphez közeli teljesítmény (2­3 % 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

Page 6: Xen klaszterek

http://www.avaxio.hu

Xen felépítése

Szoftveres paravirtualizáció:

Alkalmazások: Ring 3Operációs rendszer: Ring ½ (privilégizált utasítások, hypercallok)XEN: Ring0

Page 7: Xen klaszterek

http://www.avaxio.hu

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

Page 8: Xen klaszterek

http://www.avaxio.hu

XEN hálózat

xenbr1

xenbr0

● /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 alakú hálózati interfész reprezentál a domain0­ban. (X=domainID, Y=interfész szám)Alap scriptek: bridge, route, nat (problémás lehet), vegyes megoldások, saját

Page 9: Xen klaszterek

http://www.avaxio.hu

Xen kezelése I.Management: Xend daemon, xm parancsok# cat /etc/xen/noc.grid.conf name = "noc.grid"kernel = "/boot/vmlinuz­2.6.16­2­xen­686"ramdisk = "/boot/initrd.img­2.6.16­2­xen­686"memory = 256vif = [ 'mac=00:16:3E:00:00:13, bridge=xenbr1' ]disk = [ 'phy:/dev/xenimages/noc.grid,sda1,w' ]root = "/dev/sda1 ro"extra = "2"on_poweroff = 'destroy'on_reboot   = 'restart'on_crash    = 'restart'# xm create noc.grid.conf# xm listName                       ID Mem(MiB) VCPUs State  Time(s)Domain­0                   0      250     4 r­­­­­ 47073.3noc.grid                   7      256     1 ­b­­­­ 101501.6service.grid               8      128     1 ­b­­­­  4728.6# xm console noc.grid# xm shutdown noc.grid 

Page 10: Xen klaszterek

http://www.avaxio.hu

Xen kezelése II.# xm save noc.grid /var/xen/noc.grid.save

(dom le is áll)

# xm restore noc.grid# xm pause noc.grid

noc.grid                   7      256     1 ­­p­­­ 101501.6

# xm unpause noc.grid

CPU, Memória, Hálózat használat# xm top# xm mem­set noc.grid 270# xm migrate noc.grid dom0­1

Page 11: Xen klaszterek

http://www.avaxio.hu

XEN migráció

Page 12: Xen klaszterek

http://www.avaxio.hu

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

Page 13: Xen klaszterek

http://www.avaxio.hu

XEN teljesítmény - skálázhatóság

L X

2

L X

4

L X

8

L X

16

0

200

400

600

800

1000

SPEC WEB99 futtatása Linux (L) és Xen(X)

Ki s

zolg

ál t

klie

nse

k sz

ám

a

Page 14: Xen klaszterek

http://www.avaxio.hu

XEN Enterprise

● XenSource által támogatott XEN változat● Nyílt forrású XEN­re é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

Page 15: Xen klaszterek

http://www.avaxio.hu

XEN Enterprise - Console

Page 16: Xen klaszterek

http://www.avaxio.hu

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

Page 17: Xen klaszterek

http://www.avaxio.hu

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

Page 18: Xen klaszterek

http://www.avaxio.hu

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.) 

Page 19: Xen klaszterek

http://www.avaxio.hu

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! 

Page 20: Xen klaszterek

http://www.avaxio.hu

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 

Page 21: Xen klaszterek

http://www.avaxio.hu

NONSTOP storage és XEN

NONSTOP = NONSTOP Network Storage Platform

● 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ég

Page 22: Xen klaszterek

http://www.avaxio.hu

Hova tovább hovatovább?● teljesítmény elemzés: xen­oprofile● Guest API: hipervizor 

inkompatibilitások csökkentése (Virtual I/O interfész kód tisztítása)

● IOMMU – I/O virtualizáció● Infiniband – I/O virtualizáció● vanilla kernel része? VMware­vel 

közös API● OS támogatás: Linux, NetBSD 3.1, 

FreeBSD 7.0, OpenSolaris 10, Plan 9● XML konfig állományok mindenhol● management: DTMF cím 

támogatás, XEN­XML RPC

● lemez formátumok: VMDK, MS VHD, Copy­on­write (userspace)

● erőforrás kezelés (VCPU fizikai CPU­hoz rendelése futásidőben változhasson, QoS)

● HVM támogatás javítása: Qemu­dm­től szabadulni, video, usb támogatás javítása

● XENFS: közös állomány rendszer VM­ek között

● IA64 port, Power PC port● STB.

Page 23: Xen klaszterek

http://www.avaxio.hu

Kalandra fel!