vSphere 5.0 – Image Builder
Egyik előző cikkemben, a vSphere 5.0-ban megjelent Auto Deploy lehetőségeit, és alapvető beállításait mutattam be, és csak utaltam arra, hogy az Image Builder segítségével a gyakorlatban nagyon hatékonyan hozhatunk létre saját ESX profilokat.
Éppen ezért, folytatásként az Image Builder-ben rejlő hatalmas lehetőségeket fogom részletesen bemutatni.
Igen nagyon fájó pont, hogy az egész Image Builder-t egyelőre kizárólag Windows alól lehet birizgálni, ami eléggé kiábrándító egy Linux alapú appliance megoldás esetén…
Szóval, kerítsünk egy PowerCLI-vel felvértezett windows-t, és csatlakozzunk az vCenter Server-hez:
PowerCLI C:\> Connect-VIServer -server 192.168.201.50
Majd, nézzük meg milyen Profile-ok állnak a rendelkezésünkre:
PowerCLI C:\> Get-EsxImageProfile Name Vendor Last Modified Acceptance Level ---- ------ ------------- ---------------- ESXi-5.0.0-469512-no-tools VMware, Inc. 19/08/2011 1... PartnerSupported ESXi-5.0.0-469512-standard VMware, Inc. 19/08/2011 1... PartnerSupported
Ha az előző cikkben leírtak alapján jártunk el, akkor a fenti kimenetet kapjuk.
Lássuk, melyik oszlop mit is jelent számunkra:
- Name
Ez ugye nem kíván túl sok magyarázatot. Fontos azonban, hogy egyedi nevet adjunk a leendő saját profiloknak, és praktikus ha benne van a kiinduló ESX csomag pontos verziója, és a patch level is.
- Vendor
Cégünk nevét írhatjuk ide, nem árt ha tudják a későbbi felhasználói kiket kell szidni, ha valami nem okés vele kapcsolatban ;)
- Last Modified
Magáért beszél…
- Acceptance Level
Ez egy igen fontos paraméter, ugyanis ezzel határozhatjuk meg, hogy kitől származó csomagokat (VIB’s) pakolhatunk bele. A lehetséges értékei megbízhatósági sorrendben: VMwareCertified, VMwareAccepted, PartnerSupported, and CommunitySupported
Saját profil létrehozása
A fentiek ismeretében, hozzunk létre egy másolatot az egyik meglévő profile-ból, amit később majd jól testre szabunk az igényeinknek megfelelően:
PowerCLI C:\> New-EsxImageProfile -CloneProfile ESXi-5.0.0-469512-standard -Name "ESXi-5.0.0-469512-v" -Vendor "Andrews Kft." -Description "Image Profile optimized for virtual ESX servers"
És Íme az eredmény:
PowerCLI C:\> Get-EsxImageProfile Name Vendor Last Modified Acceptance Level ---- ------ ------------- ---------------- ESXi-5.0.0-469512-no-tools VMware, Inc. 2011.08.19. ... PartnerSupported ESXi-5.0.0-469512-standard VMware, Inc. 2011.08.19. ... PartnerSupported ESXi-5.0.0-469512-v Andrews Kft. 2011.08.19. ... PartnerSupported
Innentől, neki is állhatunk „testre szabni”. Ezzel azonban csak óvatosan, ugyanis igen könnyen elérhetjük, hogy az adott profile használhatatlan legyen. Éles környezetben használt profile-et SOHA ne piszkáljunk!
De mit is értünk a ‘testreszabás’ alatt? Egy-egy ilyen profile, különböző csomagok együttese, aminek a végeredménye – jó esetben – egy bootolható ESX image.
Lássuk, milyen csomagokból áll a gyári profile:
Csomagok listázása
PowerCLI C:\> Get-EsxSoftwarePackage Name Version Vendor Release Date ---- ------- ------ ------------ net-ixgbe 2.0.84.8.2-10vmw.500.0.0.46... VMware 2011.08.19. 1... ata-pata-hpt3x2n 0.3.4-3vmw.500.0.0.469512 VMware 2011.08.19. 1... ehci-ehci-hcd 1.0-3vmw.500.0.0.469512 VMware 2011.08.19. 1... ata-pata-atiixp 0.4.6-3vmw.500.0.0.469512 VMware 2011.08.19. 1... scsi-megaraid2 2.00.4-9vmw.500.0.0.469512 VMware 2011.08.19. 1... scsi-aic79xx 3.1-5vmw.500.0.0.469512 VMware 2011.08.19. 1... net-r8168 8.013.00-3vmw.500.0.0.469512 VMware 2011.08.19. 1... ohci-usb-ohci 1.0-3vmw.500.0.0.469512 VMware 2011.08.19. 1... scsi-qla4xxx 5.01.03.2-3vmw.500.0.0.469512 VMware 2011.08.19. 1... ata-pata-sil680 0.4.8-3vmw.500.0.0.469512 VMware 2011.08.19. 1... scsi-megaraid-sas 4.32-1vmw.500.0.0.469512 VMware 2011.08.19. 1... uhci-usb-uhci 1.0-3vmw.500.0.0.469512 VMware 2011.08.19. 1... ata-pata-amd 0.3.10-3vmw.500.0.0.469512 VMware 2011.08.19. 1... net-bnx2 2.0.15g.v50.11-5vmw.500.0.0... VMware 2011.08.19. 1...
A fenti lista (ami persze nem teljes) az összes rendelkezésre álló depot-ban található, összes csomagot (VIB) tartalmazza! – Számomra érthetetlen okokból egy konkrét profile-ban található csomagokat egyelőre nem lehet kilistázni :o
Összehasonlíani viszont lehet:
PowerCLI C:\> Compare-EsxImageProfile -ReferenceProfile ESXi-5.0.0-469512-standard -ComparisonProfile ESXi-5.0.0-469512-no-tools Equal : False PackagesEqual : False RefAcceptanceLevel : PartnerSupported CompAcceptanceLevel : PartnerSupported OnlyInRef : {VMware_locker_tools-light_5.0.0-0.0.469512} OnlyInComp : {} UpgradeFromRef : {} DowngradeFromRef : {}
Aki a Linux/Unix parancssorhoz szokott szokott – mint én – az kicsit meglepődik a kimenet gagyiságán ;) De persze mit vártam? Az egész PowerCLI egy vicc, néha már-már sírva fakadtam használata közben :O
Ám, ha ezen valahogy túltesszük magunkat, akkor megtalálhatjuk hogy a két profile egyetlen csomagban (VMware_locker_tools-light_5.0.0-0.0.469512) tér el egymástól – ahogy az várható is volt…
Persze, a csomag neve is zanzásítva van, a listában ezt így találjuk meg: ‘tools-light‘ – Ezúton is csókoltatom a kedves fejlesztőket :P
Innentől viszont, már szinte minden egyértelmű, szabjuk hát saját igényeinkhez az újonnan létrehozott profile-unkat!
Csomag (VIB) hozzáadása
Ehhez persze csomag is kell, amiket általában a hardvergyártók bocsájtanak rendelkezésünkre, és tartalmuk ennek megfelelően driver vagy kiegészítő szoftver a saját hardvereikhez. Tehát, amit tőlük kapunk az egy kupac szoftver (depot) amit először hozzá kell adnunk az Image Builderhez, csak úgy mint a VMware által adott alap csomagot:
PowerCLI C:\> Add-EsxSoftwareDepot <csomagnév>.zip
Majd, a benne lévő VIB-ek közül, adjuk hozzá a nekünk szükségeset a profilunkhoz:
PowerCLI C:\> Add-EsxSoftwarePackage –ImageProfile ESXi-5.0.0-469512-v -SoftwarePackage <csomagnév>
Csomag (VIB) eltávolítása
Na, ilyenkor hiányzik igazán az a parancs, amiből megtudhatnánk, hogy mit is tartalmaz a profil tulajdonképp – de ha valahogy kitaláltuk, akkor törölhetünk közűlük ;)
PowerCLI C:\> Remove-EsxSoftwarePackage -ImageProfile ESXi-5.0.0-469512-v -SoftwarePackage <csomagnév>
Ha jól megnézzük, egy adott hardver használata esetén rengeteg számunkra teljesen felesleges csomag törölhető! Így, sokkal kisebb lesz a végső image mérete, aminek következtében kevesebb memóriát pazarol, gyorsabban bootol, és kevesebbszer kell frissíteni – hiszen, biztosan nem lesz minden frissítésnél érintett az a maradék pár csomag, ami az adott hardverhez kell…
Profile exportálása
Az így elkészült, saját igényeinkhez igazított telepítőkészlet többféle formában használható fel
- Auto Deploy
Vagyis a profilt Auto Deploy profilként használjuk, ehhez persze előbb hozzá kell rendelni az Auto Deploy szerverben – különböző szabályok alapján – az ESX szervereink egy részéhez. Lásd később…
Figyelem! – A profile ezen formája csak az aktuális PowerCLI session-ben létezik. Tehát, ha kilépünk, többé már nem használhatjuk, hacsak nem exportáljuk .zip formába!
- .zip
Ha saját profilt készítettünk, és később is szeretnénk még használni, mindenképp exportáljuk .zip formába! Persze, az is lehet cél, hogy ezt a remek új csomagot terjeszthetővé tegyük – például ügyfeleink számára. Ehhez nincs más teendőnk, mint kiexportálni .zip formátumba a következő parancs segítségével:
PowerCLI C:\> Export-EsxImageProfile –ImageProfile ESXi-5.0.0-469512-v –FilePath D:\VMware\depots\Andrews-ESXi-5.0.0-469512-v.zip –ExportToBundle
- .iso
Hasznos lehet néha, ha telepítőmédiát (CD/DVD) is tudunk készíteni a profilunkból:
PowerCLI C:\> Export-EsxImageProfile –ImageProfile ESXi-5.0.0-469512-v –FilePath D:\VMware\depots\Andrews-ESXi-5.0.0-469512-v.iso –ExportToIso
AutoDeploy szabályok
Az elkészült ESX profilakat ezek után, különbözős szabályoka alapján rendelhetjük a megfelelő ESX csoporthoz. A legegyszerűbb szabály, ami minden ESX-re érvényes:
PowerCLI C:\> New-DeployRule -Name "Initial ESXi5" -Item "ESXi-5.0.0-469512-standard" -AllHosts
Ezt azonban lehet tovább finomítani, hiszen nem biztos, hogy minden ESX-re ugyan azt az image-et szeretnénk bootolni: Ezesetben, az ‘-AllHosts‘ paramétert a ‘-Pattern’ -re kell cserélni, és megadni az ESX-ek azonosításához szüksége paramétereket…
Igen ám, de mik is lehetnek ezek a paraméterek?
Ez sajnos egyelőre nincs túldokumentálva, a legbiztosabb, ha direkt olyan rule-t hozunk létre (vagy egyátalán nem hozunk létre) ami nem illeszkedik az érintett ESX-re, és akkor a boot során hibaüzenetet kapunk, ahol az adott hardverre érvényes összes paramétert felsorolja:
Ezek valahol a logokban is meg kellene hogy jelenjenek, ám én sehol sem találtam ezeket…
Hasznos dolog még, hogy vCenter szabályokat is lehet megadni a ‘-Item‘ kapcsolóval. Ennek hatására a frissen bootolt gép, automatikusan bekerülhet a megadott vCenter objektumba, amik a következők lehetnek:
- cluster
- folder
- host profile
- image profile
Ezeket a szabályokat aztán, hozzá is kell adni az aktív szabályokhoz:
PowerCLI C:\> Add-DeployRule -DeployRule "Initial ESXi5"
Mivel egy ESX-re akár több szabály is illeszkedhet, fontos hogy egyféle objektum típus hozzárendelésből csak egy lesz érvényes! – Tehát, ha ugyan azt a host-ot két különböző clusterhez is hozzáadná két rá illeszkedő szabály, csak a magasabb prioritású lesz érvényes, több különböző típusú objektumba helyezés esetén viszont mindegyik érvényesül!
A szabályok prioritását az -At <prioritás> kapcsolóval szabályozhatjuk, ahol a kisebb érték jelenti a magasabb prioritást. – Szintén kezdeti hiányosság, hogy a listázásnál ezt egyáltalán nem mutatja :o
A fenti parancsok teljes dokumentációja természetesen megtalálható a VMware oldalain. Ennek tanulmányozását ajánlom mindekinek.
Összefoglalás
Ezekkel a lehetőségekkel rendkívül rugalmas, és könnyen kezelhető virtuális környezetet hozhatunk létre. Természetesen, ezen megoldások nagy része még igencsak gyerekcipőben jár – még akkor is ha a marketingesek az érintett termékek eladásakor nem így nyilatkoztak – ezt, többek között a hiányos parancsok, a PowerCLI-hez való értelmetlen ragaszkodás, és az appliance szervizeinek debug szintű logolása is bizonyítja
Azonban, mindez agyon ígéretes, érdemes vele foglalkozni! Főleg, nagy számú ESX-et tartalmazó virtuális környezetek esetében :)