В последнее время у меня было много проблем с загрузкой UEFI. У меня есть две виртуальные машины, которые я использую для тестирования. Один работает под управлением DHCP / TFTP (CentOS 7), а другой - клиент, настроенный на загрузку UEFI. Я протестировал это с загрузкой Legacy, и он может загружаться и извлекать образ. Но не похоже, что клиент UEFI когда-либо использует свое назначение DHCP. Обе машины подключены к одному виртуальному проводу (группе портов), поэтому проблем с сетью быть не должно. Я отразил другую настройку, которую я делал ранее, которая не имеет той же проблемы, поэтому я как бы в растерянности. Я чувствую, что мне не хватает чего-то маленького, поэтому, если кто-то что-то заметит, я буду признателен за любой вклад! Спасибо вам!
Я взял pcap тестовой среды и вижу ответ DHCP от моего сервера:
# tcpdump -enli ens192 port 67
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens192, link-type EN10MB (Ethernet), capture size 262144 bytes
12:45:51.742154 00:0c:29:ae:ff:e7 > Broadcast, ethertype IPv4 (0x0800), length 389: 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:0c:29:ae:ff:e7, length 347
12:45:51.742436 00:0c:29:7a:7c:27 > Broadcast, ethertype IPv4 (0x0800), length 342: 132.0.101.2.bootps > 255.255.255.255.bootpc: BOOTP/DHCP, Reply, length 300
12:46:07.742311 00:0c:29:ae:ff:e7 > Broadcast, ethertype IPv4 (0x0800), length 389: 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:0c:29:ae:ff:e7, length 347
12:46:07.742506 00:0c:29:7a:7c:27 > Broadcast, ethertype IPv4 (0x0800), length 342: 132.0.101.2.bootps > 255.255.255.255.bootpc: BOOTP/DHCP, Reply, length 300
Затем я могу видеть в журналах, что DHCP фактически предоставляет адрес загрузочному серверу (обратите внимание, что это автономная среда, у которой нет доступа к NTP):
Aug 17 12:42:23 stager named[1148]: error (network unreachable) resolving './NS/IN': 2001:500:12::d0d#53
Aug 17 12:42:23 stager named[1148]: error (network unreachable) resolving '3.centos.pool.ntp.org/AAAA/IN': 2001:500:12::d0d#53
Aug 17 12:42:23 stager named[1148]: error (network unreachable) resolving '3.centos.pool.ntp.org/A/IN': 2001:500:12::d0d#53
Aug 17 12:42:28 stager dhcpd: DHCPDISCOVER from 00:0c:29:ae:ff:e7 via ens192
Aug 17 12:42:28 stager dhcpd: DHCPOFFER on 132.0.101.11 to 00:0c:29:ae:ff:e7 via ens192
Тем не менее, клиент никогда не загружается и остается на экране ниже, пока не сдастся:
Мой dhcpd.conf:
max-lease-time 7200;
ddns-update-style none;
authoritative;
log-facility local7;
allow booting;
allow bootp;
option client-system-arch code 93 = unsigned integer 16;
class "pxeclients" {
match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
#TFTP Server
option tftp-server-name "132.0.101.2";
next-server 132.0.101.2;
if option client-system-arch = 00:00 {
filename = "bios/pxelinux.0";
} elsif option client-system-arch = 00:07 {
filename = "images/esxi6.7/efi/boot/bootx64.efi";
option boot-size 344;
}
}
subnet 132.0.101.0 netmask 255.255.255.0 {
option routers 132.0.101.1;
option domain-name-servers 132.0.101.2;
range 132.0.101.11 132.0.101.99;
}
DHCP Вариант типа архитектуры клиентской системы определяет несколько архитектур для клиентов PXE EFI. Из них представляют интерес два:
Type Architecture Name ---- ----------------- [...] 7 EFI BC [...] 9 EFI x86-64
EFI BC
является независимая от процессора реализация байтового кода для драйверов и часто используется при загрузке UEFI PXE.
Теперь в любой недавней документации VMware фильтр принимает оба типа 00:07
или 00:09
, например, этот PDF-документ Установка ESXi с помощью PXE - VMware vSphere 6.0, или Примеры конфигураций DHCP, оба включают:
if option client-system-arch = 00:07
or option client-system-arch = 00:09
{
Это ожидание заставляет меня поверить, что эмулированная прошивка UEFI VMware отправляет 00:09
и не более распространенный 00:07
тип архитектуры, поэтому они предлагают установить оба на DHCP-сервере.
ОБНОВЛЕНИЕ: из комментария OP кажется, что в зависимости от поставщика оборудования x86-64 (или виртуального) реализация EFI может отличаться и, следовательно, тип отправки 00:07
или введите 00:09
.
Вы должны добавить тип 00:09
и посмотрите, предлагается ли теперь TFTP клиенту ESXi.
У меня нет средств проверить эту теорию.