Firmware upgrade single node cluster
- Marco Tubben
- 3 days ago
- 3 min read

Het is duidelijk dat het niet mogelijk is om firmware updates vanuit LCM te doen omdat er maar 1 node is en die dus niet zichzelf kan updaten. Om dit op te vangen moet de firmware die af en toe verschijnt met de hand geupdate worden. Hoe dit in zijn werk gaat zal ik in deze blog beschrijven (en een tip om het sneller dan de Nutanix manier te doen)
Ik zal een voorbeeld beschrijven om de nvme disk firmware te updaten, maar de andere hardware items (zoals NICS en BMC) werken op een soortgelijke manier
Download de firmware vanaf de Nutanix Support Portal:
Als voorbeeld :

Kijk eerst welke NICS een actieve connectie hebben:
nutanix@cvm$ manage_ovs show_interfaces
Check ook of er een VLAN tag is ingesteld op de NICS
Reserveer een vrij IP adres in dezelfde range als de Hosts/CVM’s
Check de status van het cluster:
Check services:
nutanix@cvm$ cluster status | grep -v UP
Check metadata ring:
nutanix@cvm$ nodetool -h 0 ring
Check resiliency
ncli> cluster get-domain-fault-tolerance-status type=node
Zet de host in maintenance mode (niet mogelijk vanuit de GUI op een 1-node cluster)
acli host.list
noteer IP adres van de Host
nutanix@cvm$ acli host.enter_maintenance_mode <HOST-IP adres>
Zet de CVM uit
nutanix@cvm$ cvm_shutdown -P now
Zet de Host uit
root@ahv# shutdown -h now
==============================================================
Tot dusver niet veel spannends maar ga verder met de voorbereidingen
Download phoenix.iso van de support site

Mount de via de IPMI console iso

Blader naar de gedownloade phoenix.iso en mount deze

Zet de server aan en wacht op de F11 mogelijkheid en druk daar dan op

De server zal vanaf de iso starten
Kies dan de virtuele CDROM speler *remembers the days dat die fysiek waren

De server zal vanaf Phoenix iso beginnen te starten

Als Phoenix volledig geboot is voer dan de volgende commando’s uit op de prompt:
(In dit voorbeeld is heeft eht2 een actieve connectie en een VLAN 691 getagged en wordt het tijdelijke IP adres 198.51.100.10 met default gateway 198.51.100.16 gezet)
phoenix ~# ifconfig eth2 up
phoenix ~# ip link add link eth2 name eth2.691 type vlan id 691
phoenix ~# ip addr add 198.51.100.10/24 dev eth2.691
phoenix ~# ip link set dev eth2.691 up
phoenix ~# ip link show
phoenix ~# ip route add default via 198.51.100.16 dev eth2.691
Als er geen VLAN tag op gezet is zijn de commando’s als volgt :
phoenix ~# ip link set dev eth2 up
phoenix ~# ifconfig eth2 198.51.100.10
phoenix ~# ifconfig eth2 netmask 255.255.255.0
phoenix ~# ip route add default via 198.51.100.16 dev eth2
Test de connectiviteit door bv een andere CVM in het subnet te pingen
Dan is het zaak om de rescue shell te activeren:
phoenix ~# cd /root
phoenix/root~# chmod +x do_rescue_shell.sh
phoenix/root~# sh do_rescue_shell.sh
===============================================================
TopTip TopTip TopTip TopTip TopTip TopTip
===============================================================
De hierboven beschreven methode is de geadviseerde Nutanix manier, maar als je het sneller wilt of het netwerk werkt niet mee (bv in en situatoe met LACP op de switchpoorten) kun je het ook iets anders doen namelijk eerst de gewenste firmware naar de CVM te kopiëren met bijvoorbeeld WinSCP naar de /nutanix/tmp folder. Na het booten van de Phoenix ISO sla je het hele stuk over van het IP adres zetten op de actieve NIC en het starten van de recue shell over en voer je onderstaande commando’s uit om de firmware vanaf de CVM disk te kopiëren naar de actieve Phoenix omgeving
Op de Phoenix prompt de volgende commando’s
mkdir test
mount /dev/md2 test
cd test
cd nutanix
cd tmp
mv CD8PU2-SIE-E107.std /root/

Hiermee kopieer je de flashfile van de cvm naar de root van de draaiende phoenix omgeving
Met nvme list zie je de huidige geïnstalleerde nvme drives op het systeem

Check de firmware versie en de firmware slots mbv [root@phoenix ~]# nvme id-ctrl /dev/nvme0 -H |egrep -w 'sn|mn|fr|frmw|Firmware'

In dit voorbeeld is slot 1 Read/Write mogelijk, dus deze kunnen we gebruiken, Indien deze Read only is dienen we een ander slot te activeren
NB Indien de Nutanix methode met tijdelijk IP adres gebruikt wordt kopieer dan nu de firmware file met behulp van bijvoorbeeld WinSCP naar de actieve Phoenix omgeving
“download” de gekopieerde firmware file
nvme fw-download /dev/nvme0 --fw=/root/tmp/GPNABB3Q.bin

Activeer de firmware in het juiste slot
nvme fw-commit /dev/nvme1n1 --slot=2 --action=3

Check de firmware:
nvme id-ctrl /dev/nvme1n1 | egrep 'mn|fr'

Te zien is dat 1XETE107 nu actief zal zijn na de reboot
Doe exact hetzelfde voor de rest van de disken:
/dev/nvme2n1, /dev/nvme3n1 en /dev/nvme4n1
Unmout de ISO van de IPMI en reboot de node
Haal de host uit maintenance na reboot:
nutanix@cvm$ acli host.exit_maintenance_mode <HOST-IP adres>
Nadat de CVM weer online is start LCm en doe een inventory
Te zien is dat de nieuwe fiirmware actief is en er geen nieuwe firmware beschikbaar is





Comments