ESXi 4.1 felépítése és partíciói

A Virttech tárgyunk keretében előkerültek a különböző hypervisorok architektúrái, és ennek kapcsán megnéztem kicsit közelebbről az ESXi 4.1 felépítését. Ez úgyis kellett a PXE boot beállításához is. Ez egy jó bevezető cikk:

Architecture of VMware ESXi: This paper describes the architecture and operation of VMware ESXi and discusses the new management model associated with it.

Ez viszont 4.0-hoz van, és a pontos részletek azért nincsenek benne. Ami érdekelt, hogy hogyan tárolja a lemezen a fájljait, és hogyan oldják meg azt, hogy induláskor a memóriába kicsomagolja az alap image tartalmát, és később egy in-memory fájlrendszert használ a rendszer, mégis van perzisztens állapota a rendszernek.

A fenti cikkben van egy jó ábra, hogy milyen partíciókat használ az ESXi 4.x:

image

Tehát van egy boot loader, van két boot bank, amin maga a rendszer van (azért van kettő, mert frissítéskor mindig az egyiket frissíti, így gond esetén vissza lehet állni a másikra), van egy nagyobb partíció a kiegészítő fájlok tárolására és egy másik a dump fájloknak.

Elméletben legalábbis így néz ki:-). Meg is akartam nézni ezt, így felraktam egy virtuális gépbe egy ESXi 4.1-et, beállítottam rajta a gép nevét és egy fix IP címet, majd bebootoltam a virtuális gépen egy live Linuxot.

A következő partíciós táblát látta a lemezen:

image

Látszik, hogy a méretek kicsit változtak a cikkben lévőhöz képest, az még 4.0-hoz készült.

sda4:

Az sda4 a bootloader partíció, a tartalma így néz ki:

image

A partíción tehát a syslinuxos bootloader fájljai vannak. A syslinux.cfg tartalma:

default safeboot.c32

Syslinux boot folyamatáról itt van pl. pár szó.

sda5

Az sda5 az aktív boot bank partíció a hypervisor fájljaival és beállításaival:

image

A fájlok nagy része tömörített formában van a lemezen, az alábbi listában a fájlok alatt a tartalmuk szerepel. A fájlokat megpróbáltam összevetni az ESXi telepítő ISO-n lévő fájlokkal, ott egy kicsit beszédesebb nevük van, ez a név a fájlnév után zárójelben szerepel.

  • a.z (a.z az ISO-n is)
    • a – bináris. Nem találtam leírást, hogy mit csinál, a benne lévő stringek alapján (Intel(R) TXT, TPM) tudok csak tippelni rá.
  • b.z (vmkboot.gz)
    • vmkBoot.ELF32, ezt indítja el a boot loader, a benne lévő stringek (pl. “Can’t map VMKernel code pages”) alapján úgy tűnik a fő feladata, hogy betöltse a vmkernelt.
  • boot.cfg

image

  • c.z (cim.vgz)
    • SFCB meg egyéb CIM közeli dolgok
  • cimstg.tgz (cimstg.tgz)
    • /var/lib/sfcb/* — MOF fájlok meg egyéb CIM kiegészítések
  • k.z (vmkernel.tgz)
    • vmvisor64-vmkernel.stripped, maga a vmkernel bináris
  • license.tgz
    • .emptytgz — üres fájl alapból, ide kerülne gondolom a licenc.
  • m.z (?)   
    • m – tgz
      • .emptytgz — üres fájl
  • oem.tgz – archive
  • pkgdb.tgz
    • status — szöveges leíró a tartalmazott csomagok verzióiról
  • s.z (sys.vgz)
    • vmvisor-sys.tar.vtar, ez a fájlrendszer, amit kicsomagol induláskor. A vtar fájlokat az ESXi-n lévő /sbin/vmtar fájllal lehet tar fájllá konvertálni (lásd itt). Kicsomagolva így néz ki a felső szint:

image

  • state.tgz
    • ez tartalmazza az ESXi állapotát, azokat a fájlokat, amiket az in-memory fájlrendszerből elment. Tartalmát lásd később.
  • tboot.gz (tboot.gz)
    • tboot — binary

A pkgdb.tgz-ben lévő status egy jó hosszú szöveges fájl, a tartalma ilyesmi:

image

A lényeg pedig a state.tgz, abban a következő fájl hierarchia van becsomagolva:

etc   
    dhclient-vmk0.leases
    dropbear/
        dropbear_dss_host_key
        dropbear_rsa_host_key
    hosts
    list.txt
    random-seed
    resolv.conf
    security/
        access.conf
    sfcb/
        repository/
            root/
                interop/
                    cim_indicationfilter.idx
                    cim_indicationhandlercimxml.idx
                    cim_indicationsubscription.idx
                    cim_listenerdestinationcimxml.idx
    shadow
    syslog.conf
    vmware/
        dvsdata.db
        esx.conf
        hostd/
            hostsvc.xml
            pools.xml
            vmAutoStart.xml
        license.cfg
        locker.conf
        snmp.xml
        ssl/
            rui.crt
            rui.key
        vmkiscsid/       
            initiatorname.iscsi
            vmkiscsid.db

Egy része sima linuxos konfigurációs fájl (ezekben tárolja pl. a hálózati beállításokat), a másik pedig a VMware specifikus beállításokat tartalmazza (esx.conf. rui.crt a tanúsítvány, stb.).

sd6

Az alternate boot bank, mivel friss telepítésről van szó, ezért erre még nem volt szükség.

sd7

Itt nem ismerte fel a fájlrendszert, de a méret alapján gondolom ez lesz a dumpok tárolására szolgáló partíció.

sd8

Itt tárolja a VMware tools telepítőket:

image

sd2

Ezen a következő fájlok voltak:

image

Csak a log könyvtárban volt valami, ott pedig az ESXi messages log fájljának egy példánya volt.

sda3

Ez már egy VMFS fájlrendszer, itt tárolná a virtuális gépeket az ESXi.

Így már kicsit tisztább a kép az ESXi image szerkezetéről:-)

Reklámok
Kategória: Tech
Címke: ,
Közvetlen link a könyvjelzőhöz.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s