HOS 2.X Démarrage PXE avec LACP
2016-01-27
Machine-translated — the English original is authoritative.
Aujourd'hui, je travaillais sur une installation utilisant des cartes réseau bondées sur tous les serveurs. Des interfaces réseau 10 Gb/s à double port étaient bondées à l'aide de LACP sur les commutateurs HP59XX comme suit :
[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}
Cependant, tous les serveurs étaient incapables de démarrer via PXE.
L'examen de la console des serveurs a révélé qu'ils tentaient de démarrer via PXE mais ne semblaient pas recevoir de réponse du serveur de déploiement.
Une vérification rapide de la configuration sur Helion Lifecycle Manager montre que tout est correctement configuré.
- Vérifiez que les détails MAC corrects du serveur ont été configurés dans /etc/dhcp/dhcpd.conf
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;
}
}
- Vérifiez que le service DHCP sur le nœud de déploiement HLM écoute sur le port 67
$ netstat -an | fgrep -w 67
udp 0 0 0.0.0.0:67 0.0.0.0:*

- Vérifiez que le service TFTP écoute sur le port 68
netstat -an | fgrep -w 69
udp 0 0 0.0.0.0:69 0.0.0.0:*

- Examinez le fichier syslog pour les requêtes de découverte DHCP
sudo grep -i dhcp /var/log/syslog
- Utilisez TCPDUMP pour examiner le trafic DHCP traversant les interfaces du déploiement HLM
tcpdump -n -i any port 67 or port 68 or port 69
Ces vérifications ont montré que les services du nœud de déploiement sont opérationnels, mais aucune requête DHCPDISCOVER n'atteint ses interfaces.
Cela pointe vers un problème fondamental avec le domaine de diffusion du réseau de gestion. Les requêtes de diffusion PXE quittent les serveurs mais n'atteignent pas le nœud HLM sur le même réseau.
La configuration de base du commutateur a été revue pour s'assurer que le VLAN de gestion était le VLAN natif et que tous les ports étaient correctement configurés. Tout semblait correct.
Nous avons ensuite supprimé la configuration LACP et le processus de démarrage PXE s'est mis en marche. TCPDUMP a montré que les requêtes DHCPDISCOVER entrantes étaient désormais reçues.
Une recherche rapide sur Google concernant les problèmes PXE sur HP5900 avec LACP a révélé la cause racine du problème, que l'on peut trouver ici – merci à Peter Debruyne.
SOLUTION : Lors de l'utilisation de LACP sur des nœuds qui démarrent initialement en tant que cartes réseau individuelles – comme lors d'une tentative de démarrage PXE – il est nécessaire de configurer le type LACP comme « edge-port » comme suit :
[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]
Les ports LACP nouvellement configurés fonctionnent désormais en tant que cartes réseau individuelles lors du démarrage PXE.
Les images suivantes donnent une vue de ce à quoi devrait ressembler un système correctement configuré lors du démarrage PXE-


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