HOS 2.X PXE-Boot mit LACP
2016-01-27
Machine-translated — the English original is authoritative.
Heute habe ich an einer Installation gearbeitet, bei der auf allen Servern gebündelte Netzwerkschnittstellenkarten (Bonded NICs) verwendet wurden. Dual-Port-10Gb-Netzwerkschnittstellen wurden auf den HP59XX-Switches wie folgt mit LACP gebündelt:
[GJL-HP5900-1-Bridge-Aggregation2]display link-aggregation verbose Bridge-Aggregation2
Loadsharing Type: Shar -- Loadsharing, NonS -- Non-Loadsharing
Port Status: S -- Selected, U -- Unselected, I -- Individual
Flags: A -- LACP_Activity, B -- LACP_Timeout, C -- Aggregation,
D -- Synchronization, E -- Collecting, F -- Distributing,
G -- Defaulted, H -- Expired
Aggregate Interface: Bridge-Aggregation2
Aggregation Mode: Dynamic
Loadsharing Type: Shar
System ID: 0x8000, aaaa-bbbb-cccc
Local:
Port Status Priority Oper-Key Flag
--------------------------------------------------------------------------------
XGE1/0/3 S 32768 2 {ACDEFG}
XGE1/0/4 U 32768 2 {ACG}
Remote:
Actor Partner Priority Oper-Key SystemID Flag
--------------------------------------------------------------------------------
XGE1/0/3 0 32768 0 0x8000, 0000-0000-0000 {DEF}
XGE1/0/4 0 32768 0 0x8000, 0000-0000-0000 {EF}
Alle Server konnten jedoch nicht per PXE booten.
Bei der Untersuchung der Server-Konsolen stellte sich heraus, dass sie zwar versuchten, per PXE zu booten, aber scheinbar keine Antwort vom Deployer erhielten.
Ein kurzer Check der Konfiguration im Helion Lifecycle Manager zeigte, dass alles korrekt eingerichtet ist.
- Stellen Sie sicher, dass die korrekten Server-MAC-Adressen in /etc/dhcp/dhcpd.conf konfiguriert sind.
graham@helion-cp1-c1-m1-mgmt:/etc/dhcp$ cat dhcpd.conf | more
# ******************************************************************
# Cobbler managed dhcpd.conf file
# generated from cobbler dhcp.conf template (Mon Jan 18 14:32:10 2016)
# Do NOT make changes to /etc/dhcpd.conf. Instead, make your changes
# in /etc/cobbler/dhcp.template, as /etc/dhcpd.conf will be
# overwritten.
# ******************************************************************
ddns-update-style interim;
allow booting;
allow bootp;
ignore client-updates;
set vendorclass = option vendor-class-identifier;
option pxe-system-type code 93 = unsigned integer 16;
subnet 172.16.60.0 netmask 255.255.255.0 {
option routers 172.16.60.10;
option domain-name-servers 172.16.60.10;
option subnet-mask 255.255.255.0;
deny unknown-clients;
default-lease-time 21600;
max-lease-time 43200;
next-server 172.16.60.10;
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
if option pxe-system-type = 00:02 {
filename "ia64/elilo.efi";
} else if option pxe-system-type = 00:06 {
filename "grub/grub-x86.efi";
} else if option pxe-system-type = 00:07 {
filename "grub/grub-x86_64.efi";
} else {
filename "pxelinux.0";
}
}
}
# group for Cobbler DHCP tag: default
group {
host generic7 {
hardware ethernet 8c:dc:d4:b5:ce:80;
fixed-address 172.16.60.14;
option host-name "compute2";
option routers 172.16.60.10;
next-server 172.16.60.10;
}
host generic5 {
hardware ethernet 8c:dc:d4:b5:c9:74;
fixed-address 172.16.60.12;
option host-name "controller3";
option routers 172.16.60.10;
next-server 172.16.60.10;
}
host generic1 {
hardware ethernet 8c:dc:d4:b5:c9:00;
fixed-address 172.16.60.13;
option host-name "compute1";
option routers 172.16.60.10;
next-server 172.16.60.10;
}
host generic6 {
hardware ethernet 8c:dc:d4:b5:c6:40;
fixed-address 172.16.60.11;
option host-name "controller2";
option routers 172.16.60.10;
next-server 172.16.60.10;
}
host generic4 {
hardware ethernet 5c:b9:01:8d:6b:68;
fixed-address 172.16.60.15;
option host-name "osd1";
option routers 172.16.60.10;
next-server 172.16.60.10;
}
host generic3 {
hardware ethernet 5c:b9:01:8d:73:dc;
fixed-address 172.16.60.17;
option host-name "osd3";
option routers 172.16.60.10;
next-server 172.16.60.10;
}
host generic2 {
hardware ethernet 5c:b9:01:8d:70:0c;
fixed-address 172.16.60.16;
option host-name "osd2";
option routers 172.16.60.10;
next-server 172.16.60.10;
}
}
- Stellen Sie sicher, dass der DHCP-Dienst auf dem HLM-Deployer-Knoten am Port 67 lauscht.
$ netstat -an | fgrep -w 67
udp 0 0 0.0.0.0:67 0.0.0.0:*

- Stellen Sie sicher, dass der TFTP-Dienst am Port 69 lauscht.
netstat -an | fgrep -w 69
udp 0 0 0.0.0.0:69 0.0.0.0:*

- Untersuchen Sie die Syslog-Datei auf DHCP-Discovery-Anfragen.
sudo grep -i dhcp /var/log/syslog
- Verwenden Sie TCPDUMP, um zu untersuchen, welcher DHCP-Verkehr die Schnittstellen des HLM-Deployers durchläuft.
tcpdump -n -i any port 67 or port 68 or port 69
Diese Checks zeigten, dass die Dienste des Deployer-Knotens betriebsbereit sind, aber keine DHCPDISCOVER-Anfragen seine Schnittstellen erreichen.
Dies deutet auf ein grundlegendes Problem mit dem Broadcast-Domain des Management-Netzwerks hin. Die PXE-Broadcast-Anfragen verlassen die Server, erreichen aber den HLM-Knoten im selben Netzwerk nicht.
Die grundlegende Switch-Konfiguration wurde überprüft, um sicherzustellen, dass das Management-VLAN das native VLAN ist und alle Ports korrekt konfiguriert sind. Alles sah korrekt aus.
Als wir als Nächstes die LACP-Konfiguration entfernten, startete der PXE-Boot-Prozess wieder. Der TCPDUMP zeigte, dass die eingehenden DHCPDISCOVER-Anfragen nun empfangen wurden.
Eine kurze Google-Suche nach HP5900 PXE-Problemen mit LACP ergab die Ursache des Problems, die hier zu finden ist – vielen Dank an Peter Debruyne.
LÖSUNG : Wenn Sie LACP auf Knoten verwenden, die zunächst als einzelne Netzwerkschnittstellenkarten booten – wie beim Versuch, per PXE zu booten – ist es notwendig, den LACP-Typ als „edge-port“ zu konfigurieren, wie folgt:
[GJL-HP5900-1-Bridge-Aggregation2]lacp edge-port
[GJL-HP5900-1-Bridge-Aggregation2]display link-aggregation verbose Bridge-Aggregation2
Loadsharing Type: Shar -- Loadsharing, NonS -- Non-Loadsharing
Port Status: S -- Selected, U -- Unselected, I -- Individual
Flags: A -- LACP_Activity, B -- LACP_Timeout, C -- Aggregation,
D -- Synchronization, E -- Collecting, F -- Distributing,
G -- Defaulted, H -- Expired
Aggregate Interface: Bridge-Aggregation2
Aggregation Mode: Dynamic
Loadsharing Type: Shar
System ID: 0x8000, aaaa-bbbb-cccc
Local:
Port Status Priority Oper-Key Flag
--------------------------------------------------------------------------------
XGE1/0/3 I 32768 2 {AG}
XGE1/0/4 I 32768 2 {AG}
Remote:
Actor Partner Priority Oper-Key SystemID Flag
--------------------------------------------------------------------------------
XGE1/0/3 0 32768 0 0x8000, 0000-0000-0000 {DEF}
XGE1/0/4 0 32768 0 0x8000, 0000-0000-0000 {EF}
[NEO-HP5900-1-Bridge-Aggregation2]
Die neu konfigurierten LACP-Ports funktionieren nun als einzelne Netzwerkschnittstellen beim PXE-Boot.
Die folgenden Bilder zeigen, wie ein korrekt konfiguriertes System beim PXE-Boot aussehen sollte:


Originally published on allthingscloud.eu (2016-01-27).