Назад | Перейти на главную страницу

Сбой при загрузке сервера UEFI PXE

В последнее время у меня было много проблем с загрузкой 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:07or 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.

У меня нет средств проверить эту теорию.