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 a 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-t 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 boot-olható 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ítani 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 – 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 a 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 boot-ol, é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:VMwaredepotsAndrews-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:VMwaredepotsAndrews-ESXi-5.0.0-469512-v.iso –ExportToIso

AutoDeploy szabályok

Az elkészült ESX profilokat ezek után különböző szabályok 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 ugyanazt az image-et szeretnénk boot-olni: Ez esetben, az ‘-AllHosts‘ paramétert a ‘-Pattern’ -re kell cserélni, és megadni az ESX-ek azonosításához szükséges 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általá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:

screenshot-tftp-error-00

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 az ‘-Item‘ kapcsolóval. Ennek hatására a frissen boot-olt 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 objektumtípus hozzárendelésből csak egy lesz érvényes! – Tehát, ha ugyanazt 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 mindenkinek.

Ö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 nagyon ígéretes, érdemes vele foglalkozni! Főleg, nagy számú ESX-et tartalmazó virtuális környezetek esetében :)