Minientrada

Dell PowerEdge server: configuración de los datos de ubicación física del servidor con RACADM

A veces puede resultar especialmente útil identificar la ubicación física de un servidor obteniendo los datos desde el mismísimo iDRAC.

Claro que estos datos no se cargan automágicamente, los tenemos que ingresar nosotros mismos a mano. Ahí es donde viene a nuestro rescate una vez más RACADM.

En la entrada de hoy vamos a configurar los datos de la ubicación física de nuestro servidor utilizando RACADM.

Contenido
1. Requerimientos
2. Obtener la ubicación actual
3. Configurar el Datacenter Name
4. Configurar el Aisle Name
5. Configurar Rack Name
6. Configurar Rack Slot
7. Configurar Room Name
8. Obtener la ubicación final

1. Requerimientos

Esta es la configuración necesaria para ejecutar esta guía paso a paso.

Software / versión /comentarios
RACADM 9.3.2 sobre Windows o Linux

2. Obtener la ubicación actual

Para obtener los datos de la ubicación actual, desde la línea de comandos, ejecutamos esta orden.

racadm -r 10.10.10.31 -u root -p calvin get system.servertopology --nocertwarn

Este comando va a devolver la configuración actual.

AisleName=
DataCenterName=
RackName=
RackSlot=1
RoomName=
#SizeOfManagedSystemInU=2

A excepción del campo #SizeOfManagedSystemInU, el resto de los campos son configurables.

Si queremos ver esta misma información, desde interfaz gráfica, ingresamos al iDRAC desde un navegador Web y nos vamos a Sistema, Detalles, Detalles del sistema. Abajo del todo vamos a encontrar el campo Ubicación. Si posamos el cursor del mouse sobre la propiedad aparece una ventana con los datos.

Y si hacemos clic en Editar podríamos configurar todas las opciones, claro que, una vez más, cuando se deben configurar más de 4 servidores probablemente sea más sencillo hacerlo vía RACADM.

image-20200715094618259

3. Configurar el Datacenter Name

Para configurar el nombre de nuestro Datacenter vamos a utilizar esta línea de comando.

racadm -r 10.10.10.31 -u root -p calvin set system.servertopology.DataCenterName Datacenter1 --nocertwarn

Donde Datacenter1 es el nombre de mi Datacenter.

4. Configurar el Aisle Name

Para configurar el nombre de pasillo vamos a utilizar esta línea de comando.

racadm -r 10.10.10.31 -u root -p calvin set system.servertopology.AisleName Pasillo1 --nocertwarn

Donde Pasillo1 es el nombre del pasillo.

5. Configurar el Rack Name

Para configurar el nombre de rack vamos a utilizar esta línea de comando.

racadm -r 10.10.10.31 -u root -p calvin set system.servertopology.RackName Rack1 --nocertwarn

Donde Rack1 es el nombre del rack.

6. Configurar el Rack Slot

Para configurar el número de unidad del rack donde tenemos rackeado nuestro servidor vamos a utilizar esta línea de comando.

racadm -r 10.10.10.31 -u root -p calvin set system.servertopology.RackSlot 13 --nocertwarn

Donde 13 es el número de unidad de rack.

7. Configurar el Room Name

Para configurar el nombre de sala vamos a utilizar esta línea de comando.

racadm -r 10.10.10.31 -u root -p calvin set system.servertopology.RoomName DataPiso5 --nocertwarn

Donde DataPiso5 es el nombre de la sala.

8. Obtener la ubicación final

Para obtener la ubicación final vamos a utilizar esta línea de comando.

racadm -r 10.10.10.31 -u root -p calvin get system.servertopology --nocertwarn

Este comando va a devolver la configuración final.

AisleName=Pasillo1
DataCenterName=Datacenter1
RackName=Rack1
RackSlot=13
RoomName=DataPiso5
#SizeOfManagedSystemInU=2

Ya tenemos configurada la información de ubicación física de nuestro servidor, algo que puede resultar bastante útil y hasta requerido en muchos casos.

Espero esta información te haya sido tan útil como a mi.

Entradas relacionadas

Disclaimer: utilizar este material bajo tu responsabilidad, no aplicar en ambientes productivos (1) si no lo has probado antes y (2) si no tienes copias de seguridad.

Anuncio publicitario
Minientrada

Dell PowerEdge server: como ordenarle al server que se reinicie e ingrese a la BIOS utilizando RACADM

La entrada de hoy es otro ejemplo sencillo de como podemos utilizar RACADM para (1) reiniciar un servidor remotamente e (2) indicarle que ingrese al BIOS.

¿Cuál podría ser su caso de uso? Por ejemplo, cuando toque modificar el modo de operación de una controladora PERC, desde modo RAID a modo HBA. Este fue mi caso de uso.

Requerimientos

Esto es lo necesario para ejecutar esta guía.

Aplicación / paquete
RACADM sobre Windows o Linux.

Paso 1

Desde la línea de comandos ejecutamos esta orden para que el servidor ingrese automáticamente al BIOS luego de su próximo reinicio.

racadm -r 10.10.10.31 -u root -p calvin config -g cfgServerInfo -o cfgServerBootOnce 0 --nocertwarn
racadm -r 10.10.10.31 -u root -p calvin config -g cfgServerInfo -o cfgServerFirstBootDevice BIOS --nocertwarn

Paso 2

Con la orden siguiente le indicamos al servidor que debe reiniciarse ahora mismo.

racadm -r 10.10.10.31 -u root -p calvin serveraction powercycle --nocertwarn

Espero que esta información te sea útil.

Entradas relacionadas

Disclaimer: por favor utilizar este material bajo tu responsabilidad. No aplicar en ambientes productivos sin haberlo probado antes y asegurate de tener siempre una copia de seguridad.

Minientrada

Dell PowerEdge server: verificación de actualizaciones de firmware utilizando RACADM

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

  1. Descargar la versión más reciente del catálogo de versiones de firmware desde el sitio de soporte de Dell.
  2. Descomprimir el catálogo y subirlo a nuestro servidor HTTP local.
  3. Crear un reporte comparando, las versiones de firmware instaladas actualmente en mi servidor, contra las versiones más nuevas indicadas en el catálogo.
  4. Conectarme a la iDRAC vía SSH para ver el estado de la actividad de comparación.
  5. Ver el reporte generado en el paso 3.
  6. Descargar manualmente las versiones de firmware que deseo actualizar y subirlas a nuestro servidor HTTP local.
  7. 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.