xen klaszterek
DESCRIPTION
2006TRANSCRIPT
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
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)
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,
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
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
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
http://www.avaxio.hu
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
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 domain0ban. (X=domainID, Y=interfész szám)Alap scriptek: bridge, route, nat (problémás lehet), vegyes megoldások, saját
http://www.avaxio.hu
Xen kezelése I.Management: Xend daemon, xm parancsok# cat /etc/xen/noc.grid.conf name = "noc.grid"kernel = "/boot/vmlinuz2.6.162xen686"ramdisk = "/boot/initrd.img2.6.162xen686"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)Domain0 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
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 memset noc.grid 270# xm migrate noc.grid dom01
http://www.avaxio.hu
XEN migráció
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: qemudm● disk = ['phy:/dev/xenimages/win2003,ioemu:hda1,w']}
● NFS root: konfigurációs állományban nfs_server, nfs_root
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
http://www.avaxio.hu
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
XEN Enterprise - Console
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
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:
– 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
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
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
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
NONSTOP storage és XEN
NONSTOP = NONSTOP Network Storage Platform
● 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
http://www.avaxio.hu
Hova tovább hovatovább?● teljesítmény elemzés: xenoprofile● 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? VMwarevel
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, XENXML RPC
● lemez formátumok: VMDK, MS VHD, Copyonwrite (userspace)
● erőforrás kezelés (VCPU fizikai CPUhoz rendelése futásidőben változhasson, QoS)
● HVM támogatás javítása: Qemudmtől szabadulni, video, usb támogatás javítása
● XENFS: közös állomány rendszer VMek között
● IA64 port, Power PC port● STB.
http://www.avaxio.hu
Kalandra fel!