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:

 

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 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 :)