ПредишенСледващото

VMware има в своя блог повдигна интересна тема - актуализацията микрокод за Intel и AMD процесор платформа в хипервайзора VMware ESXi, която е част от vSphere. Същността на проблема е, че - съвременни процесори осигуряват възможността да актуализират фърмуера по време на зареждане, което ви позволява да се коригират грешки, направени от продавача или премахване на проблемните зони. Обикновено, актуализации микрокод идват с актуализацията на BIOS, отговорността на процесора продавач (Intel или AMD,), както и на доставчици платформи (HP, Dell, и други).

В същото време, не всички производители платформи правят актуализация на BIOS своевременно, така че да се получи актуализацията на фърмуера е необходимо да се чака много дълго време, което може да бъде от решаващо значение, ако грешката в текущата версия на фърмуера е много сериозен. ESXi има механизъм микрокод товарач, който ви позволява да се търкаля фърмуер ъпдейт по време на зареждане, в случай, че вие ​​получавате тези актуализации от страна на продавача, и знаете какво правите.

Аз трябва да кажа, че в VMware vSphere 6.0 ъпдейт завъртя само при стартиране и само на един много ранен етап, тъй като по-високата натоварването може да се променя данните вече подготвен да изтеглите VMkernel.

VMware използва самата също не е на най-новите процесори надстройка на фърмуера, тъй като, за да се максимизира безопасността завъртя само най-важните актуализации и продавачите платформа искат време, за да се тества на актуализацията.

Има два начина за актуализиране на микрокод процесори ESXi - чрез инсталиране ВИБ-пакет и актуализиране на файлове чрез вградения софтуер пакет за съхранение ESXi. Ако се вгледате в папка / bootbank. ще видите, че има файлове:

Тези файлове съдържат актуализацията на микрокод и ходят на ВИБ-пакет процесора-микрокод хипервайзорна ESXi. По-долу ще опишем процедурата по актуализация на фърмуера за ESXi, използвайки и двата метода. Предпочитаният метод - да се направи актуализацията чрез ВИБ-пакет, тъй като това е най-сигурните. Вие също ще трябва Lunix-машина манипулация микрокод. Всички от изброените можеш ли на свой собствен риск.

1. Изтеглете актуализацията на фърмуера.

За Intel, изпълнете следната команда:

След разопаковане, вие ще получите microcode.dat файл. Този файл е в ASCII формат, тя трябва да се преобразува в двоичен. AMD има в хранилището има само бинарни файлове (3 броя, всичко необходимо).

2. Уверете двоичен пакет от микрокод.

Създава следния питон-скрипт и го наричат ​​intelBlob.py:

#! / ЮЕсАр / хамбар / питон
# Направете двоични петно ​​от Intel микрокод формат.
# Изисква Python 2.6 или по-късно (включително Python 3)
# Предназначение: intelBlob.py

за линия в sys.stdin:
ако линия [0] == '/':
продължавам
hvals = line.split ( ",")
за hval в hvals:
ако hval == '\ Н "или hval ==' \ R \ Н":
продължавам
Val = междинно съединение (hval, 16)
за промяна в (0, 8, 16, 24):
outf.write (bytearray ([(Вал >> смяна) 0xff]))

Тогава се създаде фърмуер бинарни файлове. За Intel:

котка Intel / * DAT. | ./intelBlob.py uc_intel
софтуерна uc_intel

3. Методът на замяната файловете за актуализация на фърмуера.

Всичко е просто. Изпълнете едно от следната команда за зареждане на файла:

Освен това е възможно да се премине към стъпка 5.

4. Методът за получаване на ВИБ-пакет и да го инсталирате.

Тук е необходимо да се използва помощна програма ВИБ автора. който може да се постави на Linux-машина (в момента има една програма На формат RPM базирани който е оптимизиран за SuSE Linux Enterprise 11 SP2, който се предлага да се използва). Свали CPU-microcode.xml файл и независимо да го промените на версията на фърмуера.

След това направете ВИБ-пакет със следната команда:

vibauthor -C -d процесора-microcode.xml \
-р uc_intel.gz, обувка, uc_intel, 200 \
-р uc_amd.gz, обувка, uc_amd, 201

Ако ВИБ-файла не включват фърмуера от един от процесора на продавачите - просто премахнете част от този отбор, който "-p".

Следваща инсталирате ВИБ чрез esxcli:

esxcli софтуер приемане настроен --level = CommunitySupported
esxcli софтуер ВИБ инсталирате \
-о файл: /vmfs/volumes/datastore1/cpu-microcode-6.0.0-0.test.0.vib

След това проверете UC _ * файлове. B00. сте направили в Стъпка 2, в директорията / altbootbank.

След рестартиране на ESXi домакин в лог вид за наличие на /var/log/vmkernel.log MicrocodeUpdate съобщения. Можете също да търсите чрез Vish до файлове / хардуер / CPU / cpuList / *. че някъде в края са в следните направления:

Брой новини микрокод: 1
Оригинален контрол: 0x00000011
Текущ контрол: 0x00000017

Това означава, че микрокод на процесора ви се актуализира. ESXi фърмуер актуализации на всички CPU серия. Можете да проверите това, като погледнете параметър текущата версия.

Също така можете да предотвратите домакин всички актуализации на фърмуера, инсталиране microcodeUpdate = FALSE опция в багажника VMkernel. Също така по подразбиране това е забранено микрокод актуализация на по-ранни версии (редуциране на някои) и експерименталната версия. Това може да бъде прекратен, като се използва опцията microcodeUpdateForce = TRUE (но повечето процесори на фърмуера може да се актуализира само ако цифровия подпис на продавача). Освен това, за да се сложи една експериментална актуализация на фърмуера, трябва да активирате опцията "режим за отстраняване на грешки" или "отстраняване на грешки интерфейс" в BIOS на сървъра, и след това да го презареди напълно.

Подкрепете проекта - споделете линка, благодаря!