[technique] Preparation du Dell T630 pour remplacer le routeur h7 / debian 11 RAID1 et LACP 4x10G
Laurent GUERBY
laurent at guerby.net
Ven 30 Déc 21:29:31 CET 2022
Bonsoir,
Nous avons récupéré plusieurs serveurs Dell dont un T630 format tour
(4U) avec un Intel(R) Xeon(R) CPU E5-2603 v3 @ 1.60GHz (6 coeurs) et
64GB RAM DDR4 ECC (4x16GB), et deux alimentations hot swap.
https://www.dell.com/support/home/fr-fr/product-support/product/poweredge-t630/overview
Nous avons d'abord mis a jour les BIOS jusqu'au dernier Version
: 2.15.0 Release Date: 07/06/2022
Merci a Hugo de Humans Connexion pour avoir fourni la licence IDRAC
gratuitement a tetaneutral.net ! Elle nous permet de controler la
machine a distance via un navigateur web, incluant cdrom virtuel.
Nous avons ensuite acheté et installé des tirroirs compatibles 3.5/2.5
pour pouvoir mettre deux SSD en disque systeme :
https://www.amazon.fr/gp/product/B07SLLBLMJ
WorkDone Pack 3u.-Plateau Caddy HDD 3.5" et Adaptateur 2.5"
environ 60 EUR
Et installé 2 cartes PCIe Intel 2x10G chacune donc 4x10G total.
Pour le systeme nous sommes partis sur du debian 11 en RAID1 mdadm, un
tutorial :
https://oleks.ca/2022/02/06/installation-debian-11-sur-raid-1/
Pour le T630 chaque disque a une partition EFI de 1 GB et une en RAID1
de 200GB avec / dessus, le reste ~ 49 GB est laissé disponible.
L'installeur debian va faire le setup EFI sur seulement le premier
disque, nous avons manuellement copié sur le deuxieme disque et il
faudra penser a le faire a chaque mise a jour (proxmox fait ça tout
seul, mais pas debian). /etc/fstab avec nofail pour systemd sur ces
partitions :
UUID=4FB0-3250 /boot/efi vfat umask=0077,nofail 0 1
UUID=4FB1-0976 /boot/efi-680K vfat umask=0077,nofail 0 1
Nous avons ensuite testé différent scenarios, enlevé un disque, remis
le disque et reconstruit le RAID, boot en enlevant un des disques.
mdadm --manage /dev/md0 --add /dev/sdb2
mdadm -D /dev/md0
cat /proc/mdstat
root at t630:~# efibootmgr
BootCurrent: 0007
BootOrder: 0007,0005
Boot0000* Hard drive C:
Boot0002* IBA XE Slot 0200 v2170
Boot0004* IBA XE Slot 0201 v2170
Boot0005* debian
Boot0007* debian
Niveau systeme pour le moment :
apt-get install man tcpdump tshark screen tmux fping iftop iperf iperf3
bird openvpn rsync molly-guard emacs-nox smartmontools pax mg
nullmailer wireguard borgbackup apache2
Pour le setup reseau nous avons choisi d'utiliser LACP pour aggreger
les 4 liens 10Gbit/s vers le nexus n3064e.
Coté nexus creation d'une interface "port-channel" avec 4 ports dedans
feature lacp
logging level lacp 7
port-channel load-balance ethernet source-dest-port
interface port-channel43
description t630-lacp
switchport mode trunk
switchport trunk allowed vlan 174-175,2302,3131-3133,3175
spanning-tree port type edge trunk
interface Ethernet1/43
description t630-enp2s0f0
switchport mode trunk
switchport trunk allowed vlan 174-175,2302,3131-3133,3175
spanning-tree port type edge trunk
channel-group 43 mode active
no shutdown
interface Ethernet1/44
description t630-enp2s0f1
switchport mode trunk
switchport trunk allowed vlan 174-175,2302,3131-3133,3175
spanning-tree port type edge trunk
channel-group 43 mode active
no shutdown
interface Ethernet1/45
description t630-enp4s0f0
switchport mode trunk
switchport trunk allowed vlan 174-175,2302,3131-3133,3175
spanning-tree port type edge trunk
channel-group 43 mode active
no shutdown
interface Ethernet1/46
description t630-enp4s0f1
switchport mode trunk
switchport trunk allowed vlan 174-175,2302,3131-3133,3175
spanning-tree port type edge trunk
channel-group 43 mode active
no shutdown
Coté T630 :
=> /etc/network/interfaces
iface enp2s0f0 inet manual
iface enp2s0f1 inet manual
iface enp4s0f0 inet manual
iface enp4s0f1 inet manual
=> /etc/rc.local creation de l'interface "bond0"
ip link add bond0 type bond
ip link set bond0 type bond miimon 100 mode 802.3ad xmit_hash_policy layer3+4 lacp_rate 1
for i in enp{2,4}s0f{0,1}; do ip link set $i down; ip link set $i master bond0; done
ip link set bond0 up
ip link add link bond0 name bond0.3175 type vlan id 3175
ip link set bond0.3175 up
ip addr add 192.168.3.12/24 dev bond0.3175
En lancant sur 4 machines du cluster ceph des iperf -P 2 vers le t630
nous avons atteint 32 Gbit/s donc les 4 liens 10 Gbit/s sont bien
utilisés.
Nous avons aussi ajouté au cas ou h7 nous lache avant la bascule une
IPv4 inutilisée venant d'un des /29 d'interco de livraison de transit
Cogent :
ip link add link bond0 name bond0.174 type vlan id 174
ip link set bond0.174 up
ip addr add a.b.c.d/29 dev bond0.174
ip route add a.b.c.e/29 dev bond0.174 table 174
ip route add default via a.b.c.f table 174
ip rule add from a.b.c.d/32 table 174
Avec du source routing donc pour envoyer les paquets retour sur la
bonne gateway en cas de connection entrante sur l'IPv4.
Matthieu a copié les fichiers de configuration de h7 localement sur le
t630, il nous reste a finir la configuration logicielle et fixer une
date de bascule entre h7 et ce nouveau routeur, un bout de TODO ici :
https://md.tetaneutral.net/routeur-2023
debian 11 apporte bird 1.6 vs bird 1.4 sur h7 (debian 8) mais a priori
pas de changement majeur sur la configuration bird.
Note: bird a une version 2.x qui unifie IPv4 et IPv6 en un seul process
(package bird2 de debian 11)
https://gitlab.nic.cz/labs/bird/-/wikis/transition-notes-to-bird-2
https://dn42.eu/howto/Bird2
https://mellowd.dev/bgp/migrating-bird-to-bird2/
Photos du T630 a TLS00 :
https://pano.tetaneutral.net/data/tls00/20221229/IMG_20221229_162605.jpg
https://pano.tetaneutral.net/data/tls00/20221229/IMG_20221229_162619.jpg
Sincèrement,
Laurent
Plus d'informations sur la liste de diffusion technique