ESX szerverek felügyelete – VI3/HA (magas rendelkezésre állás)

clip_image001

Előző cikkeimben „szigetszerűen” telepítettem ESX 3.5 vagy ESXi 3.5 kiszolgálókat. Felügyeletükhöz a szerverre kapcsolódva letölthető VI klienst használtuk. Természetesen ez csak a kezdet, az ESX VI környezet előnyeit több fizikai gépből álló fürt (clusa ter) estén tudjuk kamatoztatni. Ehhez azonban egy központi felügyeleti szerver kell telepítenünk, melynek neve Virtual Center. Ez egy Windows 2003 szerverre épülő szoftver, mely egy MS SQL (vagy Oracle) adatbázis háttérrel támogatva az összes ESX/ESXi kiszolgáló együttes felügyeletét ellátja. Ilyenkor a VI kliens nem a fizikai kiszolgálóhoz, hanem a Virtual Center szerverhez kapcsolódik. Ebben a formában már definiálhatunk szerverek közötti kapcsolatokat, úgymint „Adatközpontok/DataCenter” vagy „Fürtök/Cluster”. Az így definiált gépcsoportokon már elérhetőek olyan szolgáltatások is, melyek a folyamatos üzemet támogatják (COS). Ide tartozik a virtuális gépek fizikai kiszolgálók közt történő tervezett mozgatása (VMotion) illetve az erre épülő szolgáltatások úgymint DRS vagy DPM. A magas rendelkezésre állást a 3.5-ös ESX szerverek esetén a HA agent biztosítja, mely nem tervezett esetekben valamely kiszolgáló kiesése esetén a leállt virtuális gépeket a fürtben elérhető szabad kapacitású kiszolgálókon újraindítja. A kiesés ilyenkor az észrevételi idő (15 mp, de állítható) plusz a virtuális gépek újraindítási idejével arányos. Akinek ez nem volna elég, és katasztrófatűrő telephelyek építésén gondolkoznak, ők a VMware SRM-et nézegessék. Egy másik irány a hibatűrő rendszerek világa, vagyis az FT (Fault Tolerance). Jelenleg az ESX 3.5-ben ilyen jellegű támogatás még nem elérhető. Termszetesen továbbra is lehet szoftveres clustering-et alkalmazni a különböző fizikai gépek azonos virtuális hálózatára kapcsolódó virtuális gépei között (DNS, MS Clustering, Linux Clusterek, stb. Lehet próbálkozni Oracle RAC-cal is, működik, de a támogatást ekkor inkább valamely szolgáltató partnertől kérjük, mint közvetlen a RAC gyártójától).


Tesztkörnyezet a bemutatóhoz

Az egyszerűség kedvéért olyan tesztkörnyezetet választottam, amit bárki kipróbálhat otthon is. Nem kell hozzá más, mint 1-2 olyan desktop vagy notebook, melynek a CPU-ja Intel-VT képes.

Az alábbi virtuális gépeket hoztam létre VMware Workstation 6.5.1 alatt:

· SAN01, egy Openfiler gép (iSCSI megosztott hálózati tárolónak fogom használni)

· ESX01 az egyik ESX hoszt

· ESX02 a másik ESX kiszolgáló

· Windows 2003 R2 Standard x32, ez a VirtualCenter kiszolágóia

· Valamint egy gazdagép, ahol a VI kliens fut, illetve a virtuális gépekre lehet kapcsolódni

Természetesen, a valóságban fizikai gépekre telepítünk, lehetőség szerint helytakarékos BLADE szerű gépekre. Az iSCSI helyett inkább FC hálózatokat használunk. A Virtual Center lehet itt is virtuális gép. 5 fizikai szerver felett célszerű külön MS SQL szervert is üzembe helyezni a Virtual Center-be beépített MSDE használata helyett.

Ennek a leírásnak nem célja a teljes hálózat bemutatása, melyet a teszt környezetez használtam. Célom elsősorban az volt, hogy bemutassam, milyen szolgáltatások érhetőek el az ESX szerverekből épített VI3 környezet alatt.

Openfiler 2.3 (NAS/SAN) mint a legegyszerűbb közös iSCSI alapú hálózati tároló

Miután otthon nem igazán szokott lenni FC hálózat és közös pl. EMC lemezrendszer, valamint a HBA kártyákat nem igazán desktop gépekbe szokták tenni így a legkézenfekvőbbnek a mostani teszthez egy bárki számára ingyenesen elérhető Openfiler iSCSI tároló bizonyult.

clip_image002

http://www.openfiler.com/about [1]

clip_image003

A virtuális gépet még csak telepíteni sem kellett, mert az Openfiler honlapjáról többféle VMware image is letölthető volt. A virtuális gépet csak el kellett indítani. Célszerűen hozzáadtam még pár virtuális merevlemezt indítás előtt.

clip_image004

Az Openfiler divatos webes felületen konfigurálható ingyenes NAS/SAN megoldás. Mindenféle protokolon keresztül kínálja a gépbe helyezett fizikai lemezeket. Nekünk az ESX szempontjából az NFS vagy iSCSI tudása jelent segítséget a (ESX kiszolgálók számára) közös (hozzáférésű) tárolók létrehozásában. Mivel a VMFS fájlrendszer egy fürtözött fájlrendszer, így ha egyszerre több kiszolgáló fér hozzá ugyanahhoz a kötethez, a kiszolgáló csak a fájl szinten helyez el lock-okat és nem a kötet szintjén. Így egyszerre több kiszolgáló is ugyanazt a „fizikainak látszó” merevlemezt láthatja.

clip_image005

Az Openfiler ezzel a képernyővel fogad telepítés után.

clip_image006

A hozzáadott lemezen először fizikai partíciót kell létrehozni.

clip_image007

Ezt követi a kötet csoport, azaz a Volume Group létrezása.

clip_image008

A volume group létrehozás után (illeve ezt már korábban kellett volna) kapcsoljuk be az iSCSI szervert, mert csak akkor tudunk iSCSI-ra formázott lemezeket kiajánlani.

clip_image009

Ne felejtsük el az iSCSI target-et beállítani, ezen az IQN-en lehet majd megkeresni a lemezeket az ESX szerverek alól.

clip_image010

Az előbb létrehozott kötet csoport után most már hozzunk létre egy kötetet.

clip_image011

Figyeljünk, hogy a típusa iSCSI legyen!

clip_image012

Végezetül használjuk a LUN mapping részt, ahol a LUN és VOLUME összerendelés történik. Legyen a kötet írható olvasható. A CHAP-ot nem használtam, inkább külön izolált storage hálózatot hoztam létre. Ez fizikai környezetben lehet külön kábelezve is. Az ESX szerver csak 1 CHAP felhasználónév/jelszó párt tud megjegyezni, de támogatja a CHAP azonosítást.

A VirtualCenter háttere: DNS, Microsoft AD (Active Directory)

Mielőtt nekifognánk a Virtual Center telepítéséhez, pár dolgot meg kell vizsgáljunk. Normál vállalati környezetben szokott lenne DNS illetve AD szolgáltatás. Nekem most nem volt itthon, így gyorsan összedobtam ezeket a VirtualCenter virtuális gépen.

A DNS kritikusan fontos az ESX VI környezetben. Ha valami nem megy (HA agent, vagy VI konzol elérés) minden esetben a DNS-re kezdjünk gyanakodni! A hibák 95%-ában a hibás DNS konfiguráció a felelős!

A következő képsort nem szeretném túlmagyarázni, mert nem része a cikkemnek, csak nálam kellett a demó környezet összeállításához.

clip_image013

clip_image014

clip_image015

clip_image016

clip_image017

clip_image018

clip_image019

clip_image020

clip_image021

clip_image022

clip_image023

clip_image024

clip_image025

Minden rendben, működik a DNS feloldás.

Az AD nem kötelező, de használata erősen ajánlott Windows Domain környezetben. Ha a VI3 környezetre később View3-at is tervezünk, akkor pedig kifejezetten hasznos a jogosultsági rendszerhez. Ha nincs AD, akkor a Virtual Center alatti Windows 2003 szerver helyi felhasználóiból gazdálkodhatunk.

clip_image026

clip_image027

clip_image028

clip_image029

clip_image030

clip_image031

clip_image032

clip_image033

Virtual Center telepítése

A következő néhány kép a Virtual Center telepítését tekinti át. Ahogy a cikk elején is említettem, erre a célra külön létrehoztam egy virtuális gépet. Valódi éles környezetben is szokták virtuális gépként létrehozni a VirtualCenter-t. A telepítés esetemben a DNS és AD mellé kerül. A valóságban az AD és DNS összevonható, de a VirtualCenter-t mindenképpen egy külön erre a célra dedikált Windows szerverre tegyük!

clip_image034

clip_image035

clip_image036

clip_image037

clip_image038

Válasszuk a VirtualCenter szerver lehetőséget!

clip_image039

Ahogy említettem, ha 5-nél több ESX-et akarunk felügyelni, akkor ne a helyi MS SQL 2005 expressz változatot használjuk, hanem egy meglévő teljes MS SQL 2005+ szerveren hozzunk létre a VIM számára egy külön adatbázist!

clip_image040

Ha van liszenszünk, már a telepítés elején megetethetjük vele! Az EVAL idő lejárta előtt a liszenszt a VirtualCenter szerveren egy kis eszköz segítségével lehet kicserélni (liszensz tool) a szerviz újraindításával.

clip_image041

Útmutató az ajándék (kölcsön) lóhoz. Sokan nem tudják pontosan mi lesz, amikor lejár a 60 nap? Az adatok természetesen nem vesznek el, de virtuális gépeket nem tudunk majd elindítani az ESX hosztokon. Az ESXi-n amúgy igen, de csak szigetszerűen újra VirtualCenter nélkül.

clip_image042

Becsapós, de ez nem új felhasználót hoz létre, hanem meglévő admin felhasználóra kérdez rá.

clip_image043

clip_image044

Ha még nem lenne, a telepítés során kapunk ajándékba egy .NET FrameWork 2.0-át.

clip_image045

Illetve az említett helyi MS SQL adatbázist.

clip_image046

clip_image047

clip_image048

Kész is van. Most akár a VirtualCenter szerveren, akár távolról is rá tudunk kapcsolódni a Management szerverre.

Virtual Center Server, első lépések (adatközpont létrehozása, fizikai gépek regisztrációja)

A VirtualCenter szerver egyszerű telepítését követően csatlakozzunk a szerverhez pontosan úgy, ahogy korábban az ESX szerverekhez kapcsolódtunk, csak más az IP cím, és itt jellemzően nem root hanem  administrator lesz a felhasználónév (Windows környezet, AD backend).

Sajnos a Virtual Center jelenlegi változata nem tud még Linux-on futni és nem ismeri az LDAP-ot sem, de szerintem csak idő kérdése, hogy teljesen „Microsoft mentes” VMware környezet lesz majd létrehozható. Ezzel is csökkentve a felesleges liszensz költségeket.

clip_image049

Belépés hasonlóan, mint az egyedi szerverek esetén.

clip_image050

No, hát megjöttünk. Az első feladat a hierarchia legmagasabb szintjének létrehozása, az ADATKÖZPONT (DC) regisztrációja. Kevesen tudják, de az adatközpont szab határt például a VMotion-nak, tehát Szegedről-Debrecenbe nem lehet költöztetni leállás nélkül a virtuális gépeket, legalábbis még nem (kivéve, ha transzparens bérelt FC hálózat van a telephelyek közt).

clip_image051

Első feladat a fizikai gépek Virtual Center alá történő regisztrációja.

Mi történik ilyenkor? A korábbi hostd (hoszt démon) leáll, és helyette a Virtual Center démon indul el, és jegyzi be, hogy melyik Virtual Center alá lett bekötve az ESX host.

clip_image052

Innentől kezdve lehet, de nem javasolt a fizikai gépek VirtualCenter megkerülésével történő felügyelete. Figyelmeztet is a rendszer, ha erre készülne valaki (VI klienssel közvetlenül kapcsolódna az ESX kiszolgálóhoz).

clip_image053

Adatközpont kiválasztása.

clip_image054

Egy fizikai szerver jellemzően egy Virtual Center alá tartozik. Ha több Virtual Center-ünk lenne, és a host gépet egy már egy korábbi VC-nek odaadtuk, akkor figyelmeztet, de a host átregisztrálható másik VirtualCenter alá (ilyenkor számolni kell a következményekkel, hiszen különálló hostra butul vissza az a gép olyankor) szóval ez nem javasolt művelet. Célszerűen egy adatközpontban egy Virtual Center fut, és a telepítés előtt tervezéssel indul a feladat (átgondoljuk az igényeket, LAN, FC, stb.)

clip_image055

Ez és a következő képek a hálózat beállításáról szólnak. Erről egy külön cikket írhatnék, itt csak igyekszem összefoglalni a fontosabb szabályokat:

· A HA használatához két független szerviz konzolra lesz szükség

· A VMkernel-nek külön IP címet kell adni, a VMkernel felel a VMotion illetve a IP alapú tárolók kezeléséért. Itt az iSCSI esetén ez fontos, hogy létezzen.

· A Virtual Machine típusú hálózatokat lehet kiválasztani a virtuális gépek esetén.

· Minden egyes host esetén ugyanúgy kell kinéznie a hálózati beállításoknak, ha azokból a gépekből fürtöt akarunk készíteni! Ez nagyon fontos. A felületen kattintgatásnál ügyesebb ezt ESX konfig parancssor segítségével végezni (esxcfg-vswitch)! Erről már nem írok, mert lehet a VI4-ben ez a probléma megoldódik J Amúgy számos ilyen videó található az interneten.

clip_image056

Sokan meglepődnek, de az ingyenes ESXi telepítése során az egyetlen észrevehető különbség a VC alól, hogy a Service Console eltűnik (pontosabban összeolvad a VMkernel-el).

clip_image057

IP címet adok a VMkernel-nek!

clip_image058

clip_image059

A VMkernel esetén nem szükséges Gateway címet megadni, mert a VMkernel csak az ESX gépek közti belső kommunikációért felel. Ezen keresztül meg pl. a VMotion is. Ha IP storage célokra is használjuk (ahogy én is tettem), célszerű a tárolót vele azonos subnet-en elhelyezni, hogy lássák egymást átjáró hiányában is.

clip_image060

Hozzáadom a másodlagos szerviz konzolt is.

clip_image061

clip_image062

A másodlagos szerviz konzol esetén később is meg lehet adni az Gateway IP címét.

clip_image063

clip_image064

Így néz ki a teszt hálózatom. Készen van!

clip_image065

Nagyon fontos, hogy az ESX kiszolgálók órája együtt járjon! Ehhez mindenképpen aktiváljuk és állítsuk be az NTP klienst!

clip_image066

Példámban itt a kfki.hu szerverét használom.

clip_image067

clip_image068

Új fürt létrehozás (VMware HA és DRS beállítása)

A következő lépésekben egy új fürtöt fogok létrehozni.

clip_image069

Az adatközpont definiálása után (nálam itt VMUG) a következő szint a Cluster-ek szintje. Gyakori kérdés, hogy milyen gépeket lehet egy fürtbe szervezni? Röviden a válaszom, az egy processzor családba tartozó gépeket (tehát nem lehet keverni az INTEL-VT és AMD-V technológiákat, azaz nem lehet egy fürtön belül INTEL és AMD processzorral szerelt gép). További korlátozás, hogy a CPU-k utasításkészletének egyeznie kell pl. INTEL esetén. Ezt azonban egy felület segítségével lehet finomítani, vagyis megoldható, hogy a régebbi szerverekhez vásárolt új szerverek processzoraiban megjelent új utasításkészleteket letiltsuk (CPU masking).

clip_image070

Az új fürtvarázsló a VMware HA (magas rendelkezésre állás) és DRS (terhelés-elosztó) szolgáltatások beállításában nyúlt segítséget.

clip_image071

Az RDS működése kapcsán három lehetőség közül választhatunk. Itt az utóbbi kettő jellemző: félig automatizált illetve teljesen automatizált. Félig automatizált beállítás esetén a rendszer csak javaslatokat tesz, hogy mely gépeket kellene átmozgatni a fizikai hosztokról, egyenletesebb terhelés érdekében. Itt a VMware a VMotion technológiát használja a háttérben. A képen található csúszka segítségével lehet „adjust-olni” az ajánlások érzékenységé: agresszív módban már kisebb CPU terhelések esetén is javaslatot tesz a rendszer. Ilyenkor félig automatizált módban a rendszergazda munkakedve alapján tesztre szabható, hogy naponta hány ajánlást van kedve a rendszer üzemeltetőjének feldolgozni (átolvasni). Lusta rendszergazdáknak a konzervatív beállítás a barátjuk. Természetesen a gyártó is tudja, hogy a terhelés elosztás pusztán a számok alapján (CPU%) nem teljesen optimális, a fejlődés az irányba megy tovább, hogy pontosan tudjuk, mi történik a dobozban. Egy komolyabb adatbázis tranzakció vagy egy vírusellenőrzés miatt nem oldódik meg a probléma, ha egy másik gépre mozgatjuk a gépet (ott is megeszi ugyanazt az erőforrást). Tehát olykor szervezési feladatok is szükségesek a rendhez: lehetőleg ne egy időben fusson a vírusirtó, mint az adatbázis tranzakció. Ez csak egy buta nem életszerű példa, de segítségével remélem érthető a DRS lehetséges továbbfejlesztési iránya. Ez a probléma amúgy bármely más hasonló szolgáltatást ajánló gyártónál jelentkezik. A megoldásban a szoftvereknek kell majd üzenniük állapotukról egy jövőbeni API segítségével, melyeket a Hypervisorra épülő management ért, és a mozgassuk / ne mozgassuk döntéseknél felhasználni. Pl. a Microsoft ez ügyben már tett ajánlásokat, de még inkább kísérleti stádiumban jár a probléma megoldás náluk is.

clip_image072

A HA kapcsán számos lehetőség beállítható. Akinek ez nem elég, az ADVANCED beállítások résznél lehet pöcögtetni, hogy hány másodperc után gondolja, hogy kiesett egy host, stb.

clip_image073

Összefoglalás, majd készen van az új fürt.

clip_image074

Én a fürt létrehozása után tettem bele a korábban hozzáadott gépeket, valójában célszerű előbb a fürtöt elkészíteni, majd a gépeket egyből oda regisztrálni.

clip_image075

clip_image076

A gépek (fizikai ESX-ek)  fürhöz való hozzáadáskor egy HA ügynök is települ a gépekre.

A fürt maximum 32 gépből állhat. FONTOS, hogy az első 5 gép őrzi a fürt adatbázisát, ők az úgynevezett „primary node”-ok. Pl, amikor blade-ekre telepítünk és több keretünk van, célszerű elosztani az első 5 gépet a keretek között és nem mindet az első keretből választani, mert annak tápegység hibája esetén a teljes fürt fejre állhat. Tervezési hiba miatt (hiszen ez világosan benne van a dokumentációban).

clip_image077

A HA agent telepítése viszonylag gyorsan végez.

clip_image078

Összefoglalás

Ezzel elkészítettük a virtuális gépeink számára magas rendelkezést biztosító fürtöt. Ugye nem is volt bonyolult? Tényleg nagyjából igaz a marketing blabla, hogy egyetlen pipa a magas rendelkezésre állás beállítása. Minden esetre, aki küzdött már a Linux-HA heartbeat beállítással, az ezt most biztosan nagyra értékeli. A 2003-as MS Clusteringről sokaktól hallom, hogy nem triviális annak beállítása. Igaz, a 2008 szerver esetén ez sokat javult. VMware virtualizált környezetben is támogatott effélét művelni, de szinte itt találkozunk a legtöbb korlátozással (RAW disk, stb). Elnézést, nem akartam keverni a HA és FT-t, de lássuk be hasonló dolgokról van szó, csak a HA esetén van (egy rövid) szolgáltatás kiesés, FT esetén nincs. A szoftveres clustering-gel szemben van egy hihetetlen előnye a VMware HA-nak. Operációs rendszertől függetlenül működik, mindenféle további ráfordítás (programozás vagy konfiguráció) nélkül. Gondoljuk csak át, micsoda előnye van ennek valami olyan kliens-szerver alkalmazásnál, ahol a szerver oldali szolgáltatást fejlesztő cég több milliós ajánlatot ad, hogy a szerver fürt képes tudjon lenni. Ha egyáltalán meg tudják csinálni (pl. valamilyen speciális .NET vagy Delphi egyedi fejlesztés esetén). Minden olyan esetben, ahol az SLA megengedi a szolgáltatás néhány percre való kiesését a VMware HA a barátunk. Azt gondolom ez nem csak nagy, hanem egyre inkább a kis és középvállalatok igényeiben is megfogalmazódik. Ahol heterogén környezetet használnak (Linux és Windows alapú operációs rendszerek egyaránt) a legegyszerűbb működő megoldás a VMware HA szolgáltatás beszerzése.

clip_image079

A HA már a Standard (közepes) változatban is elérhető szolgáltatás. Sokan nem tudják, hogy a kb. 3000 dollár befizetésekor a liszensz megosztható 2 fizikai vas közt (bizonyos vasak esetén), amennyiben a magok száma ezt lehetővé teszi. Tehát, már 1 ESX Standard liszensz segítségével is biztosítható a magas rendelkezésre állás egy két fizikai tagból álló fürt esetén!

A nyugalom ára

Vajon, kb. 740 ezer forintért (mai USD árfolyam alapján) átírja-e egy fejlesztő cég a kliens/szerver alkalmazását cluster baráttá? Vajon, hányszor lehet hétvégi túlórát fizetni ebből a pénzből a rendszergazdá(k)nak, aki(k) a meghibásodott Exhange kiszolgálót állítja(k) vissza éppen a mentésekből? Nekem a nyugodt éjszakáim ennél többet is megérnének, nem beszélve a szolgáltatás kiesése miatti kellemetlenségekről, és pénzben nem kifejezhető szégyenről, amikor az ügyfeleknek magyarázkodni kell, hogy éppen az alaplap vagy a tápegység sült el valamelyik fizikai gépben. Szerintem, a folyamatos szolgáltatás kiesés a mai napig minden szolgáltató cég rémálma, legyen az LAN vagy WAN környezet.

VN:F [1.8.2_1042]
Rating: 10.0/10 (1 vote cast)
ESX szerverek felügyelete – VI3/HA (magas rendelkezésre állás)10.0101

Comments are closed.

Cimkék
Média partnereink
Média partnereink
Támogatóink
netapp
Legutóbbi Hozzászólások
Keresés