En mi opinión, esta era la entrada que faltaba para poder cerrar el circuito: (1) verificar que actualizaciones de firmware me hacen falta instalar (lo que se puede leer como cuan lejos del ideal estoy) e (2) instalarlas desde CLI utilizando RACADM.
Una vez más, no vas a “hacer negocio” si se trata de actualizar 1 o 2 servidores solamente. Más bien esto está pensado para una situación del tipo toca actualizar firmware a 5, 10 o más servidores.
Requerimientos
Esta es la configuración necesaria para ejecutar esta guía paso a paso.
Software / versión |
---|
Un servidor corriendo Linux o el Windows Subsystem for Linux (WSL) sobre Windows 10. |
Wget 1.20.1 |
Nginx 1.14.2 o un servidor HTTP local similar. |
Gzip 1.9 |
RACADM 9.3.2 (pasos para su instalación en GNU/Linux) |
Paso a paso
- Descargar la versión más reciente del catálogo de versiones de firmware desde el sitio de soporte de Dell.
- Descomprimir el catálogo y subirlo a nuestro servidor HTTP local.
- Crear un reporte comparando, las versiones de firmware instaladas actualmente en mi servidor, contra las versiones más nuevas indicadas en el catálogo.
- Conectarme a la iDRAC vía SSH para ver el estado de la actividad de comparación.
- Ver el reporte generado en el paso 3.
- Descargar manualmente las versiones de firmware que deseo actualizar y subirlas a nuestro servidor HTTP local.
- Actualizar el firmware desde CLI utilizando RACADM.
Manos a la obra
Paso 1
Desde la línea de comando de mi servidor Linux descargo la versión más reciente del catálogo.
wget http://downloads.dell.com/catalog/Catalog.gz --2020-06-18 11:47:42-- http://downloads.dell.com/catalog/Catalog.gz Resolving downloads.dell.com (downloads.dell.com)... 152.199.52.16, 2606:2800:257:1500:5604:acc6:e27d:2173 Connecting to downloads.dell.com (downloads.dell.com)|152.199.52.16|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1630726 (1.6M) [application/x-gzip] Saving to: 'Catalog.gz' Catalog.gz 100%[=========================================================================>] 1.55M 9.52MB/s in 0.2s 2020-06-18 11:47:43 (9.52 MB/s) - 'Catalog.gz' saved [1630726/1630726]
Paso 2
Descomprimo el catálogo.
gunzip Catalog.gz
Verifico lo que descomprimí.
ll Catalog
-rw-r--r-- 1 user user 27512752 Jun 11 08:30 Catalog
Y muevo el catálogo al área de contenido de mi servidor HTTP, que en mi caso es un Nginx.
sudo mv Catalog /var/www/html/
Paso 3
Ejecuto el comando RACADM para la creación del reporte comparativo.
racadm -r 10.10.10.31 -u root -p calvin update -f Catalog -t HTTP -e 10.10.10.151/ --verifycatalog --nocertwarn
Salida del comando. Importante tomar nota de la parte encerrada entre “comillas” para poder verificar el progreso de la actividad en el próximo paso.
RAC1118 : Update from repository operation has been initiated. Check the progress of the operation using "racadm jobqueue view -i JID_924347688922" com.
Paso 4
Vamos a conectarnos por SSH al iDRAC para ver como se desarrolla la actividad de creación del reporte.
ssh root@10.10.10.31
root@10.10.10.31's password:
Entonces le preguntamos a RACADM acerca del estado de la tarea.
racadm>>racadm jobqueue view -i JID_924347688922
Salida del comando mientras que aún el reporte se está generando.
---------------------------- JOB -------------------------
[Job ID=JID_924347688922]
Job Name=Repository Update
Status=Downloaded
Start Time=[Not Applicable]
Expiration Time=[Not Applicable]
Message=[RED002: Package successfully downloaded.]
Percent Complete=[NA]
----------------------------------------------------------
Salida del mismo comando cuando el reporte finalmente fue creado.
---------------------------- JOB -------------------------
[Job ID=JID_924347688922]
Job Name=Repository Update
Status=Completed
Start Time=[Not Applicable]
Expiration Time=[Not Applicable]
Message=[RED001: Job completed successfully.]
Percent Complete=[100]
----------------------------------------------------------
Podemos cerrar la sesión SSH para continuar con el siguiente paso.
racadm>>exit
Connection to 10.10.10.31 closed.
Paso 5
Finalmente vamos a revisar el reporte.
racadm -r 10.10.10.31 -u root -p calvin update viewreport --nocertwarn
ComponentType = Application
ElementName = Dell EMC iDRAC Service Module Embedded Package v3.5.1
FQDD = ServiceModule.Embedded.1
Current Version = 3.4.0
Available Version = 3.5.1
-------------------------------------------------------------------
ComponentType = Application
ElementName = OS COLLECTOR, v5.0
FQDD = OSCollector.Embedded.1
Current Version = 3.0
Available Version = 5.0
-------------------------------------------------------------------
ComponentType = Application
ElementName = Dell 64 Bit uEFI Diagnostics, version 4301
FQDD = Diagnostics.Embedded.1:LC.Embedded.1
Current Version = 4301A34
Available Version = 4301A42
-------------------------------------------------------------------
ComponentType = Firmware
ElementName = Non-expander Storage Backplane Firmware
FQDD = Enclosure.Internal.0-1:RAID.Integrated.1-1
FQDD = C
Current Version = 4.32
Available Version = 4.35
-------------------------------------------------------------------
ComponentType = Firmware
ElementName = Dell 12Gbps HBA firmware version 16.17.01.00
FQDD = NonRAID.Slot.1-1
FQDD = C
Current Version = 16.17.00.05
Available Version = 16.17.01.00
-------------------------------------------------------------------
ComponentType = BIOS
ElementName = Dell EMC Server PowerEdge BIOS R740/R740xd/R640/R940/7920R Version 2.6.4
FQDD = BIOS.Setup.1-1
Current Version = 2.4.8
Available Version = 2.6.4
-------------------------------------------------------------------
ComponentType = Firmware
ElementName = Broadcom NetXtreme-E Network Device Firmware 21.6
FQDD = NIC.Slot.4-2-1
Current Version = 21.40.25.31
Available Version = 21.60.22.11
-------------------------------------------------------------------
ComponentType = Firmware
ElementName = Broadcom NetXtreme network device firmware, 21.6
FQDD = NIC.Integrated.1-4-1
Current Version = 21.40.21
Available Version = 21.60.2
-------------------------------------------------------------------
Paso 6
Tocaría ahora ir al sitio de soporte de Dell para descargar el firmware que quiero actualizar y subirlo a nuestro sitio HTTP local. Similar a lo que te indicaba en el paso 2.
Paso 7
Para finalizar podes utilizar la entrada Actualizando Firmware utilizando RACADM update para actualizar el firmware de tus servidores. También puede interesarte ver como realizar la actualización desatendida de varios servidores a la vez utilizando Python.
Disclaimer: IMPORTANTE utiliza esta información bajo tu responsabilidad, no me hago responsable de los resultados. No aplicar en ambiente productivo (1) sin haberlo probado antes y (2) sin tener copia de seguridad.