Cómo cambiar un disco en vSAN cuando da error: «Se produjo un error general de vSAN»

Durante estas fiestas se ha roto un disco del entorno de laboratorio, así que vamos a aprovechar para repasar que hacer cuando se nos rompe un disco en vSAN y que hacer si nos da error al intentar eliminar un diskgroup.

Entorno:

  • Version: vSphere 8.0
  • Hosts: x3
  • Diskgroups: 1 x host
  • Discos: 1 disco NVMe de cache y 2 discos NVMe de capacidad

Esto solo aplica a la arquitectura tradicional vSAN OSA

Prerequisitos

Primero tenemos que revisar si podemos sustituir el disco defectuoso o si hay que recrear completamente el diskgroup. Para eso debermos tener en cuenta lo siguiente:

  • Si se ha roto un disco de caché siempre tendremos que recrear el diskgroup completo.
  • Si tenemos activado deduplicación o encriptación tambien tendremos que recrear el diskgroup completo, no importa si es un disco de cache o de capacidad.
  • En el resto de los casos podremos reemplazar solamente el disco de capacidad sin tener que borrar el diskgroup antes.

Ahora vamos a repasar requisitos antes de hacer ningún cambio:

  • Al cambiar un disco cuando tengamos RAID 0 hay que tener especial cuidado y revisar las instrucciones del fabricante. La recomendación, como sabemos, es tener los discos configurados en la controladora en passthrough.
  • Si cambiamos discos de capacidad se recomienda que sean del mismo modelo y tamaño. Si no pueden ser del mismo tamaño se recomienda poner el mismo modelo de un tamaño superior. Hay que tener cuidado con el balanceo al poner discos de tamaños distintos.
  • Al cambiar discos de cualquier tipo se recomienda poner discos con un factor de «endurance» y «performance» similar o superior al original.

Reconstruimos el diskgroup

Lo primero que debemos hacer es localizar que disco está defectuoso. Para eso dentro del cluster entramos en la configuración y luego en el administrador de discos de vSAN. Aquí podremos ver que host tiene el disco con errores.

Hacemos click en «Ver discos» dentro del host en mal estado.

En nuestro caso el disco perdido es un disco de caché así que tenemos que borrar el diskgroup completo, hacemos click en los tres puntos para abrir las opciones.

Seleccionamos «Quitar».

Si todo sale bien podemos ir al paso que veremos posteriormente donde creamos el nuevo diskgroup. A nosotros nos ha dado este error: «Se produjo un error general de vSAN».

Entramos en el host con el disco defectuoso por SSH, revisamos que disco nos falta y el UUID del diskgroup

Aquí podemos ver que solo sale en la lista dos discos de capacidad, lo que coincide con lo que vimos en la GUI. Apuntamos el UUID para el paso siguiente.

[root@ast-esxi01:~] esxcli vsan storage list
t10.NVMe____WDC_WDS200T2B0C2D00PXH0__________________D97806418B441B00
   Device: t10.NVMe____WDC_WDS200T2B0C2D00PXH0__________________D97806418B441B00
   Display Name: t10.NVMe____WDC_WDS200T2B0C2D00PXH0__________________D97806418B
   Is SSD: true
   VSAN UUID: 52389c3f-fa52-6905-39a7-c5adbfabcd9d
   VSAN Disk Group UUID: 52adc0bc-6971-fe30-4490-c89de109565e
   VSAN Disk Group Name:
   Used by this host: true
   In CMMDS: false
   On-disk format version: 17
   Deduplication: false
   Compression: false
   Checksum: 8683338899751340819
   Checksum OK: true
   Is Capacity Tier: true
   Encryption Metadata Checksum OK: true
   Encryption: false
   DiskKeyLoaded: false
   Is Mounted: true
   Creation Time: Mon Feb  7 13:20:14 2022

t10.NVMe____WDC_WDS200T2B0C2D00PXH0__________________53D306418B441B00
   Device: t10.NVMe____WDC_WDS200T2B0C2D00PXH0__________________53D306418B441B00
   Display Name: t10.NVMe____WDC_WDS200T2B0C2D00PXH0__________________53D306418B
   Is SSD: true
   VSAN UUID: 52e1b7f0-74c6-3ccb-c441-09d7faed25bf
   VSAN Disk Group UUID: 52adc0bc-6971-fe30-4490-c89de109565e
   VSAN Disk Group Name:
   Used by this host: true
   In CMMDS: false
   On-disk format version: 17
   Deduplication: false
   Compression: false
   Checksum: 3520512375592328882
   Checksum OK: true
   Is Capacity Tier: true
   Encryption Metadata Checksum OK: true
   Encryption: false
   DiskKeyLoaded: false
   Is Mounted: true
   Creation Time: Mon Feb  7 13:20:14 2022

Borramos el diskgroup indicando el UUID.

[root@ast-esxi01:~] esxcli vsan storage remove -u 52adc0bc-6971-fe30-4490-c89de109565e

Revisamos que se haya borrado el diskgroup. Debería aparecer en la GUI que hay 0 discos en uso.

Ahora tenemos que crear un diskgroup nuevo. Hacemos click en «ver discos» y en «Crear grupo de discos».

Comprobamos que el diskgroup se ha creado correctamente.

Debería aparecer que tenemos los 3 discos en uso y en buen estado.

Por último solo nos queda sacar el host de mantenimiento. Los objetos con componentes con errores deberían empezar a repararse automáticamente (el contador de 60 minutos probablemente ya haya cumplido).

Revisión de objetos

Ahora que tenemos un nuevo diskgroup nos toca revisar que los todos los objetos estén «en buen estado» o «healthy».
Hacemos click en el gestor de objetos virtuales dentro de la sección de «Supervisar» del cluster. Si hay objetos aun por reparar apareceran en rojo.

Lo recomendable es esperar que se reparen automaticámente. Esto podríamos revisarlo en la sección de «Resicronización de objetos». Si hay tareas por terminar pondrá cuantos GB hay que reparar y cuanto tiempo estimado va a tardar en repararlo.

En el caso de que no se reparen automáticamente o queramos forzar la tarea de reparación inmediatamente podemos hacerlo desde «Skyline Health». Hacemos un test para obtener información actualizada. Vamos a «estado de objetos de vSAN» y seleccionamos «Reparar objetos de inmediato».

Con esto forzaremos que se reparen los objetos inmediatamente si por alguna razón no había empezado de forma automática o si no había pasado el tiempo mínimo de 60 min.

Cuando termine deberíamos tenerlo todo en verde.

Extra: Reconstruir el servicio de rendimiento

Hay veces que si hemos tardado mucho tiempo en recuperar el servicio de rendimiento por mucho que esperemos o forcemos la reparación no acaba reconstruyéndose. En el caso de que esto ocurra lo único que tenemos que hacer es desactivarlo y volverlo a activar.

Seleccionamos la pestaña de configuración del clúster y dentro de vSAN-Servicios editamos el servicio. Depende de la versión nos permitirá cambiarle la política o deshabilitarlo y crearlo otra vez.

En las últimas versiones no nos dejará hacerlo en la GUI así que habría que hacerlo usando la consola RVC.

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *