A blogban leírtak a szerzők saját véleménye, és nem a munkáltatójuké.

VMware ESXi telepítő indítása hálózatról interaktív módban

Újra előkerült az ESXi+PXE téma, most egy másik szemszögből. Az alap szituáció az volt, hogy az egyik szervert újra kellett telepíteni, és nem volt kedvem CD-t keresni a legfrissebb ESXi telepítő kiírásához;-). Ha már van úgyis PXE rendszerünk, és a 4.1-es ESXi-be bekerült valami PXE támogatás a telepítőbe, akkor gondoltam kipróbálom. Kezdésnek akkor egy összefoglaló, hogy mire lehet hálózati bootot használni ESXi esetén, mert könnyű elkeveredni:

  • Futtatás: nem akarunk mondjuk lemezt rakni az ESXi gépekbe vagy nem akarjuk a helyi lemezeket tartalmát bántani, így hálózatról indítjuk el az ESXi-t. (Figyelem, ez nem azonos a SAN-ról bootolással, ott csak a lemez van távoli szerverben és annak a tartalmát érjük el blokkos eszköz szintjén hálózatról, de azon rajta vannak az ESXi partíciói. Itt pedig PXE és TFTP segítségével töltjük le az induláshoz szükséges fájlokat.)
    • Állapotmentes: mivel az ESXi in-memory fájlrendszert használ (lásd Architecture of VMware ESXi vagy ESXi 4.1 felépítése és partíciói), ezért meg lehet azt csinálni, hogy hálózatról betöltjük a boothoz szükséges fájlokat és a becsomagolt fájlrendszert, majd ezek után kapunk egy teljesen friss, beállításokkal nem rendelkező ESXi-t. Erről már írtam korábban, ez működik már régóta a laborban nálunk a néhány mérésnél.
    • Állapotot megtartó: mivel az ESXi-n alapvetően nagyon kevés beállítást kell elvégezni, és ezeket lehet távolról is, ezért meg lehet azt csinálni, hogy minden egyes újraindítás után egy friss ESXi indul a fenti megoldással, és utána mondjuk PowerCLI segítségével beállítunk rajta mindent. ESXi 3.5-höz készült ez a proof-of-concept megoldás (ami egy úgynevezett bábát [midwife] használ), 4.1 esetén ehhez csináltak egy virtual appliance-t (VMware Auto Deploy), ami végigvezeti a teljes procedúrát Perl scriptek segítésével. Az Auto Deployhoz kell a vCenter host profile funkciója, ez pedig csak az Enterprise Plus csomagban van, úgyhogy egyelőre nem tudtam kipróbálni:)
  • Telepítés: lehetőség van arra, hogy csak a telepítőt indítjuk el hálózatról (mert pl. nincs CD olvasó / remote management kártya a szerverben vagy messze van a gép [az admin lustaságától függ, hogy ez a messze a másik szobát vagy másik várost jelent:]), de utána helyi lemezre telepítjük a szervert, és következő újraindításkor az már onnan fut.
    • Interaktív telepítés: hálózatról indítjuk a telepítőt, de utána kézzel akarjuk végigkattintgatni. Ezt fogjuk mindjárt megnézni részletesebben.
    • Automatikus telepítés (scripted): nem akarunk beavatkozni a telepítésbe. Ehhez egy kickstart fájlt (ks.cfg) kell írni, ami a telepítés során és utána elvégzendő lépéseket leírja (a linuxos kickstart megoldást szabta testre a VMware). A menete le van írva az ESXi leírásában, és rengeteg blogbejegyzést is találni hozzá, lásd később.

Interaktív telepítés

Az ESXi setup guide 4. fejezetének harmadik része (PXE Booting the ESXi Installer) elég részletesen leírja, hogy milyen fájlokat kell felmásolni a CD-ről a PXE szerverre, mit kell hozzáadni a PXE menühöz. Ha ezeket megcsináljuk, akkor szépen el is indul a telepítő, megadhatunk minden fontos adatot, viszont a telepítés megkezdésekor ez a hibaüzenet fogad: “Unable to find the system image to install”.

Ha belegondolunk, ez teljesen jogos is, hisz a boothoz szükséges fájlok között (menu.c32, mboot.c32, vmkboot.gz, vmkernel.gz, sys.vgz, cim.vgz, ienviron.vgz, install.vgz), amiket felraktunk a PXE szerverre és az telepítendő gép letölt TFTP segítségével, nincs közte az imagedd.bz2, amiben a lemez képfájl van, amit majd fel kell rakni a cél gépre.

Ha Alt+F1 után belépünk a konzolra (felhasználó: root, a jelszó üres), akkor a telepítő logjában is csak ennyit látni:

Hol lehet megadni, hogy hol keresse a telepítő maradék részét? A setup guide-ban csak annyi van, hogy: “In an interactive installation, omit the ks= option.”, de így nem megy. Ha megadnánk a ks kapcsolóban a kickstart konfigurációs fájlt, ott az install kulcsszóval meg lehet adni egy URL-t, ahonnan letöltheti a maradékot. De ha megadjuk a ks-t, akkor teljesen automatikus telepítést kell végezni, olyat nem lehet, hogy csak a válaszok egy részét automatizáljuk.

A megoldás ebben a blog bejegyzésben volt: PXE boot VMware ESXi 4.1 and Manual Install.

then rename the imagedd.bz file to VMware-VMvisor-big-260247-x86_64.dd.bz2
mv imagedd.bz2 VMware-VMvisor-big-260247-x86_64.dd.bz2

Create a folder structure that ESXi installer looks for the system file in
mkdir –p usr/lib/vmware/installer/

Move the file to the correct location
mv VMware-VMvisor-big-260247-x86_64.dd.bz2 usr/lib/vmware/installer/

The installer is looking for a tar tgz file named image.tgz, so lets create one.
tar cvzf image.tgz usr/

Now that we have the file in the correct format and folder structure lets add it to the pxe append command.
append vmware/esx4.1/vmkboot.gz --- vmware/esx4.1/vmkernel.gz --- vmware/esx4.1/sys.vgz --- vmware/esx4.1/cim.vgz --- vmware/esx4.1/ienviron.vgz --- vmware/esx4.1/install.vgz --- vmware/esx4.1/image.tgz

Így már ezt is letölti TFTP-vel, és megy a telepítő interaktív módban.

Automatikus telepítés

Ha már volt teszt rendszer az interaktív telepítőre, akkor csak egy lépés volt a scripted módszert is kipróbálni. Ez ment gond nélkül, sok részletes leírás is van hozzá.

Annyi pontosítás csak, hogy:

  • Annyi kell pluszba, hogy egy web szerverre felrakjuk a ks.cfg fájlunkat, és megadjuk a PXE konfigurációban a ks boot opciót ennek az elérhetőségével.
  • A web szerverre ezen kívül csak az az imagedd.bz2 és az imagedd.md5 fájlokat kell felrakni.
  • Ha IIS-t használunk, akkor be kell még állítani az adott webhelyen a MIME típusokat, hogy a fenti fájlokat kiszolgálja. Általában *.* szokott lenni a javaslat a leírásokban, ennél egy fokkal igényesebb, ha csak a következőket adjuk meg:
    • *.bz2 – application/bzip2
    • *.md5 – text/plain
    • *.cfg – text/plain

Így már ment szépen az automatikus telepítés:

Hasznos leírások:

Így már sikerült az összes lehetséges PXE telepítés/futtatás opciót végigpróbálni, remélhetőleg most egy ideig nem lesz gond ezzel;-)

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>