Régebben ismertettem a Oracle (SUN) LDOM virtualizációját. Ez a SPARC alapú virtualizáció legdinamikusabb formálja, és a leginkább párhuzamba állítható technológia az X86-os platformok virtualizációs megoldásával. Természetesen semmilyen virtualizáció sem használható igazán komoly körenyezetben, ha nincs valamilyen High Availability megoldás mögötte. A továbbiakban azt kívánom bemutatni, hogy a Symatenc Storage Foundation HA (VCS) segítségével, hogyan lehet magas rendelkezésre állású LDOM-ot konfigurálni.

Mit tud és mit nem a VCS?

A Veritac Clusterről már régebben is írtam. A Veritas sajnos nem az Oracle saját megoldása, így ahogy várni lehetett nem lesz alkalmas, minden az LDOM technológiában megtalálható funkció kiaknázására.

Sajnos Veritas Clusterrel nem lehet a Hot, vagy Live Migration-t lekezelni. Csupán a Cold migration-t. Azaz, az LDOM leáll teljesen, majd elindul a másik oldalon megint az elejéről.

A mi struktúránk

Ahogy azt minden Veritas Cluster adminisztrátor tudja, a VCS resource elemekkel dolgozik. Minden resource-nek van START/STOP/MONITOR scriptje. Először is meg kell terveznünk, hogy az LDOM-unk milyen erőforrásokat és hogyan fog kezelni. A legnagyobb hangsúly persze itt is az I/O-nál lesz. Megannyi lehetőséget megvizsgálva, mi végül a következő mellett döntöttünk.

Control Domain (, ami egyben a Service Domain is) kezeli az összes I/O eszközt. A Storage-ből származó diszkeket két felé vesszük. Először is tükrözünk két disket egy ZPOOL-ban. Ebből kivágott ZVOL lesz az LDOM első virtuális disk-je. Erre fog maga az LDOM operációs rendszer települni. Minden egyes további Storage Disket nyersen adunk tovább az LDOM-nak. Az LDOM-ban lévő szintén Solaris operációs rendszer saját Veritas Volume Manager-rel fogja ezeket a diskeket kezelni, Disk Group-okba szervezni. Az LDOM disk bővítése tehát ezek után csak annyiból fog állni, hogy a Control Domain-nak kizónázzuk a DISK-et. A Control Domain-ből az új DISK-et pedig tovább adjuk az LDOM-nak. Az LDOM-ban is feltűnik a disk, amit inicializálunk és hozzáadjuk a Disk Group-hoz. Az elvétel szintén egyszerű. Az LDOM-ban lévő Disk Group-ból kikonfiguráljuk a Disk-et, majd eltudjuk venni az LDOM-ból a Control Domain-en keresztül. Ezek után a Storage BOX-ból is kikonfigurálhatjuk, hogy a Control Domain se lássa.

Ezáltal nincs szükségünk sok mindenre. Kell egy ZPOOL vezérlő resource, egy NIC, és magát az LDOM-ot vezérő resouce. Sajnos a hátránya viszont, hogy nyers diskeket ezáltal nem fogjuk tudni monitorozni.

Hozzuk létre az LDOM-ot

A megbeszélt struktúra szerint, akkor kezdjük el létrehozni az LDOM-ot, amit később cluster-be integrálunk.
Alkalmaznunk kell egy kis cselt! Ugyanis a Veritas beleőrül ha a Control Domain-en lévő Veritas Volume Manager és az LDOM-ban lévő Veritas Volume Manager is egyszerre akarja kezelni a disket. Nagyon hamar adat korripció fog kialakulni. Ezért a Control Domain-en ki kell kapcsolnunk, hogy a nyersen átadott diskeket kezelje a Control Domain Veritas Volume Managere.

control-domain# vxdisk scandisks
control-domain# vxdisk list

Ahogy látszik, két új disk-et is lát a control domain.

Ezeket ki kell konfigurálnunk. Ehhez használjuk a következő parancsokat:

control-domain# vxdmpadm exclude dmpnodename=hitachi_vsp1_2
control-domain# vxdmpadm exclude dmpnodename=hitachi_vsp1_7

A következő paranccsal ellenőrizhetjük, hogy miket raktunk tiltó listára:

control-domain# # vxdmpadm listexclude

Ezek után akkor kezdjük létrehozni az LDOM-ot:

control-domain# ldm create ldom03
control-domain# ldm set-vcpu 32 ldom03
control-domain# ldm set-memory 16g ldom03

control-domain# zpool create ldom03_rootpool c13t60060E801651A400000151A400000075d0
control-domain# zfs set canmount=off ldom03_rootpool (< --ez azért kell,hogy df -h kimenetben ne legyen ott, ne legyen mountolva) control-domain# zfs create -V 50g ldom03_rootpool/ldom03-rootdiskcontrol-domain# ldm add-vdsdev /dev/zvol/dsk/ldom03_rootpool/ldom03-rootdisk ldom03-rootdisk@primary-vds0 control-domain# ldm add-vdisk ldom03-rootdisk ldom03-rootdisk@primary-vds0 ldom03 control-domain# ldm add-vnet ldom03-adm adm-ABN-vsw ldom03 control-domain# ldm add-vnet ldom03-bk bk-ABN-vsw ldom03 control-domain# ldm add-vnet ldom03-sto sto-ABN-vsw ldom03 control-domain# ldm add-vnet ldom03-cus cus-ABN-vsw ldom03control-domain# ldm set-variable auto-boot?=false ldom03 control-domain# ldm set-vconsole port=5003 service=primary-vcc0 ldom03 (<-- a console portja egyedi legyen , mindig meg kell nézni mi van már használva)control-domain# ldm bind ldom03 control-domain# ldm start ldom03 (<-- ezen parancs után az ldom-unk OK> -ban lesz várva, hogy valaki felinstallálja)

control-domain# ldm list-constraints -x ldom03 > /etc/ldom/ldom03.xml (< -- generálni xml file-t, melyet majd a crontabból futó script másolgat)Fontos, hogy a VCS csak úgy tudja egy másik NODE-n elindítani az LDOM-ot, ha ismeri a konfigurációs állományt. Ezért erről manuálisan kell gondoskodnunk. Vagy mindig kézzel kiexportáljuk egy olyan központi helyre, amit az összes NODE lát, vagy pedig magunk gondoskodunk arról, hogy az állomány szinkronban maradjon. Mi ezt a következő egyszerű cron script-el oldjuk meg.node1-control-domain# crontab -l # node1- LDOM config saver 0,10,20,30,40,50 * * * * /usr/sbin/ldm list | grep -v primary | awk '$2~/active/ {print $1}' | while read ldom; do ldm list-constraints -x $ldom > /etc/ldom/$ldom.xml; chmod -R 777 /etc/ldom/; scp -q /etc/ldom/$ldom.xml soladm@node2:/etc/ldom/; done

node2-control-domain# crontab -l
# node2- LDOM config saver
0,10,20,30,40,50 * * * * /usr/sbin/ldm list | grep -v primary | awk ‘$2~/active/ {print $1}’ | while read ldom; do ldm list-constraints -x $ldom > /etc/ldom/$ldom.xml; chmod -R 777 /etc/ldom/; scp -q /etc/ldom/$ldom.xml soladm@node1:/etc/ldom/; done

Innentől kezdhetjük az LDOM-ba installálni az operációs rendszert. Ezt mi egy központi NetBoot JET installerrel tesszük

contro-domain# telnet localhost 5003
ok> boot net -vV install

Siker esetén már lennie kell egy működő Solaris-unknak, ami virtuális erőforrásokkal működik.

Nyers Storage Diskek hozzáadása

Akkor most adjuk hozzá a nyers storage diskeket az LDOM-hoz, amiket az LDOM-ban lévő Veritas Volume Managerrel akarunk kezelni.

control-domain# ldm add-vdsdev /dev/dsk/c13t60060E801651A400000151A400001020d0s2 ldom03-1020@primary-vds0
control-domain# ldm add-vdisk ldom03-uisia-hahn-1020 ldom03-1020@primary-vds0 ldom03

Ezek után az LDOM-ban meg kell, hogy automatikusan jelennie a Disk-nek, és elkezdhetjük a megfelelő volume struktúra létrehozását.

Cluster integráció

Nézzük meg, milyen parancsok segítségével tudjuk a meglévő LDOM-unkat Veritas Cluster-be ágyazni. és ezzel magas rendelkezésre állással felruházni a rendszerünket.

control-domain# hagrp -add SG_LDOM03
control-domain# hagrp -modify SG_LDOM03 SystemList node2 0 node1 1
control-domain# hagrp -modify SG_LDOM03 AutoStartList node2 node1

Létrehoztuk a Service Group-ot és Beállítottuk, hogy min futhat.

control-domain# hares -add LDOM03_LDOM LDom SG_LDOM03
control-domain# hares -modify LDOM03_LDOM LDomName LDOM03
control-domain# hares -modify LDOM03_LDOM CfgFile “/etc/ldom/LDOM03.xml”
control-domain# hares -modify LDOM03_LDOM Critical 1
control-domain# hares -modify LDOM03_LDOM Enabled 1

Létrehoztuk az LDOM resourcet. Megadtuk neki, a nevét, hogy hol található a közös konfigurációs állomány.

control-domain# hares -add LDOM03_ZPOOL Zpool SG_LDOM03
control-domain# hares -modify LDOM03_ZPOOL PoolName LDOM03_rootpool
control-domain# hares -modify LDOM03_ZPOOL AltRootPath /
control-domain# hares -modify LDOM03_ZPOOL ChkZFSMounts 0
control-domain# hares -modify LDOM03_ZPOOL Critical 1
control-domain# hares -modify LDOM03_ZPOOL Enabled 1

Beállítjuk a ZPOOL-t, ami az LDOM root disk-ért felel.

control-domain# hares -add LDOM03_PROXY Proxy SG_LDOM03
control-domain# hares -modify LDOM03_PROXY TargetResName nic_abn_311
control-domain# hares -modify LDOM03_PROXY Enabled 1

Adjunk meg egy PROXY resource-t, ami azért felel, hogy LINK legyen az interface-n.

control-domain# hares link LDOM03_LDOM LDOM03_ZPOOL
control-domain# hares -link LDOM03_LDOM LDOM03_PROXY

Linkeljük össze a resource-kat. Amíg nincs hálózat, illetve nem elérhető a ZPOOL, addig ne induljon el az LDOM.

Összegzés

A Veritas Volume Manager és a Cluster megoldás príma lehetőséget nyúlt az LDOM-ok managelésére. Sajnos azon túl, hogy minden Veritas lehetőséget, kényelmet, és professzionalizmust használhatunk, sajons le kell mondanunk az LDOM-ok migrációs képességéről. Ezt ugyanis nem tudja az VCS lekezelni. További kényelmetlenség az I/O. Sajnos rengeteg kényelmetlenségbe lehet belefutni abban az esetben, ha a Control Domain-en, is Veritas Volume Manager van. Sajnos az egyetlen dinamikus és működő megoldás számunkra csak a fent említett nyers disk átadás volt.