Virtualizáció - mikrokódfrissítés Intel és az AMD a vmware ESXi - hogyan működik
VMware van blogjában felvetette az érdekes téma - mikrokódfrissítés az Intel és az AMD processzor platform a hypervisor VMware ESXi, amely része a vSphere. A probléma lényege az, hogy - a modern processzorok biztosítja a képességét, hogy frissítsék a firmware a rendszer indításakor, amely lehetővé teszi, hogy kijavítsuk a hibákat, amelyeket a gyártó vagy megszünteti a problémás területeket. Jellemzően microcode frissítések jönnek a BIOS-frissítést, a felelősség az eladó processzor (Intel vagy AMD), valamint a szállító állványok (HP, Dell, és mások).
Eközben nem minden platformon gyártó teszi a BIOS-frissítés egy időben, így, hogy a firmware frissítés kell várni egy nagyon hosszú idő, ami súlyos következményei lehetnek, ha a hiba a jelenlegi változat a firmware nagyon súlyos. ESXi az a mechanizmus mikrokódhoz rakodógép, amely lehetővé teszi, hogy roll a firmware frissítése bootoláskor abban az esetben, hogy megkapja ezeket a frissítéseket a gyártó, és tudod, hogy mit csinálsz.
Azt kell mondanom, hogy a VMware vSphere 6.0 firmware frissítése hengerelt csak indításkor, és csak egy nagyon korai szakaszában, mivel a nagyobb terhelés megváltoztathatja az adatokat már inicializált letölteni VMkernel.
VMware használja maga is nem a legfrissebb firmware frissítés processzorok, mivel annak érdekében, hogy maximalizálja a biztonsági hengerelt csak a leginkább kritikus frissítések és platform szállítók kérnek ideje kipróbálni a frissítést.
Kétféle módon frissítheti a mikrokódhoz feldolgozók ESXi - keresztül telepítés VIB-csomagot és a frissítési fájlokat keresztül a csomag firmware ESXi tárolására. Ha megnézzük a mappában / bootbank. látni fogja fájlok vannak:
Ezek a fájlok tartalmazzák mikrokódfrissítés és menj a VIB-csomag cpu-microcode hypervisor ESXi. A következőkben ismertetjük a firmware-frissítési eljárást ESXi mindkét módszer. Az előnyös módszer -, hogy nem a frissítés keresztül VIB-pack, mivel ez a legbiztonságosabb. Azt is el kell Lunix gép manipuláció microcode. Az összes alábbi teszel a saját kockázatára.
1. Töltse le a frissítést.
Intel, az alábbi parancsot:
Kicsomagolás után kapsz microcode.dat fájlt. Ez a fájl ASCII formátumban, akkor át kell alakítani bináris. Az AMD az adattár csak bináris (3 darab, az összes szükséges).
2. Készítsen bináris csomag mikrokód.
Létrehozza a következő python-script és hívja meg intelBlob.py:
#! / Usr / bin / python A vonal sys.stdin: Ezután hozzon létre egy firmware bináris. Intel: cat intel / * dat. | ./intelBlob.py uc_intel 3. A módszer helyett a firmware frissítési fájlok. Minden egyszerű. Hajtsa végre a következő parancsot, hogy a fájl: Továbbá lehetőség van arra, hogy mozog az 5. lépéshez. 4. Az Eljárás VIB-csomagot és telepítsük. Itt kell a használatot VIB szerző. amely lehet helyezni egy Linux-gép (ebben a pillanatban van egy segédprogram On RPM-alapú formátum, amely optimalizált SuSE Enterprise Linux 11 SP2, amely azt javasolta, hogy kell használni). Töltse cpu-microcode.xml fájlt, és egymástól függetlenül módosíthatja azt a firmware verzióját. Akkor tegye VIB-csomag a következő parancsot: vibauthor -c -d cpu-microcode.xml \ Ha a VIB-fájl nem tartalmazza a firmware egyik gyártók CPU - csak vegye ki a részét a csapat a „-p”. Ezután telepítse VIB keresztül esxcli: esxcli program elfogadását meghatározott --level = CommunitySupported Ezután ellenőrizze uc _ * fájlokat. B00. Ön tett a 2. lépésben, a / altbootbank. Az újraindítás után a ESXi host a naplóban meg jelenlétére /var/log/vmkernel.log MicrocodeUpdate üzeneteket. Azt is nézd át Vish fájlokat / hardver / cpu / cpuList / *. hogy valahol a végén a következő sorokat: Száma mikrokód frissítést: 1 Ez azt jelenti, hogy a processzor mikrokód meg frissíteni. ESXi firmware frissítések minden CPU sorozat. Meg tudja nézni ezt nézi paraméter aktuális változat. Ön is tudja megakadályozni a fogadó frissítéseit firmware telepítése microcodeUpdate = FALSE opciót a VMkernel csomagtartó. Szintén alapértelmezés szerint ez tilos mikrokódfrissítés korábbi verziók (downgrade), valamint a kísérleti verzióját. Ezt ki lehet kapcsolni, amely az opciót microcodeUpdateForce = TRUE (de a legtöbb processzor firmware is frissíthető, ha a digitális aláírás az eladó). Továbbá annak érdekében, hogy egy kísérleti frissítés a firmware, engedélyezni kell a lehetőséget „debug mód” vagy „debug interface” a szerver BIOS, majd töltse ki teljesen.
# Készítsen nyers bináris blob Intel microcode formátumban.
# Szükséges Python 2.6 vagy későbbi (beleértve a Python 3)
# Használat: intelBlob.py
ha sorban [0] == '/':
folytatódik
hvals = line.split ( '')
A hval a hvals:
ha hval == '\ n' vagy hval == '\ r \ n':
folytatódik
Val = int (hval, 16)
az eltolódás (0, 8, 16, 24):
outf.write (ByteArray ([(Val >> shift) 0xff]))
gzip uc_intel
-p uc_intel.gz, csomagtartó, uc_intel, 200 \
-p uc_amd.gz, csomagtartó, uc_amd, 201
esxcli szoftver VIb install \
-v file: /vmfs/volumes/datastore1/cpu-microcode-6.0.0-0.test.0.vib
Eredeti Revision: 0x00000011
Jelenlegi Revision: 0x00000017