Content
- Conceptos introductorios
- Grados de verosimilitud
- Proceso general de fallo
- Cómo sustituir un disco
- Guía paso a paso para sustituir un disco averiado en la raíz ZFS
- Determinar la tabla de particiones (GPT o MBR) y transferirla al nuevo disco
- Copiando el particionado para GPT
- Copiar el particionado para MBR
- Instalar el gestor de arranque
- Añadir un disco
- Conclusión
Sustitución de un disco averiado en la raíz de ZFS
Conceptos introductorios
Este documento sirve de guía para administradores y personas que posean un cierto nivel de conocimientos sobre plataformas de hardware informático y conceptos de almacenamiento, como RAID. Si ya posee una buena comprensión del proceso general de fallo, puede saltar a las secciones sobre sustitución de una unidad y reparación del pool.
Grados de verosimilitud
Siempre que una unidad falla o tiene errores, SmartOS registra una gran cantidad de información. Es necesario profundizar en más detalles para averiguar cuál es la causa del fallo del disco. A continuación se muestran los comandos en orden descendente de verbosidad:
El comando 'zpool status ' proporciona una visión general de la salud del pool.
iostat nos proporciona un recuento de errores de alto nivel, así como información específica sobre los dispositivos.
fmadm faulty nos ayudará a determinar con mayor precisión la causa del fallo del disco. fmadm también es capaz de borrar fallos transitorios;
El comando fmdump nos proporciona un registro de los últimos {n} días de eventos de fallo.
Además de reemplazar los discos averiados, esta información puede ser extremadamente útil para aislar la causa raíz del problema si éste es más complejo que un simple fallo de disco.
Proceso general de fallo
En el sistema, cuando se produce un fallo de disco, ZFS no es el primer componente en detectarlo y responder a él. En su lugar, tiene lugar el siguiente orden general de acontecimientos:
1. FMA (Fault Management Architecture) detecta y registra un disco averiado. FMA supervisa y gestiona los fallos de hardware en el sistema.
2. Una vez que FMA detecta el disco averiado, el sistema operativo interviene y retira el disco del sistema.
3. 3. ZFS, que es un sistema de archivos robusto y escalable, se da cuenta del cambio de estado. ZFS detecta que el disco ha sido retirado y responde fallando el dispositivo. El fallo del dispositivo significa que ZFS marca el disco como defectuoso y toma las medidas necesarias para mantener la integridad y disponibilidad de los datos.
Este proceso general de fallo asegura que cualquier fallo de disco en el sistema sea detectado, registrado y respondido rápidamente por los componentes relevantes. FMA da el paso inicial de identificar el disco defectuoso, seguido del sistema operativo que lo elimina y, por último, ZFS reacciona al cambio de estado provocando un fallo en el dispositivo. Siguiendo este orden de eventos, el sistema puede gestionar eficazmente los fallos de disco y mantener la estabilidad y fiabilidad general de la infraestructura de almacenamiento.
Ten en cuenta que ésta es una descripción general del proceso de fallo y que puede variar en función de la implementación y configuración específicas del sistema.
Cómo sustituir un disco
Descripción general de alto nivel de la sustitución de un disco averiado en la raíz de ZFS
Nota: Antes de proceder con el proceso de sustitución del disco, asegúrese de que ha identificado correctamente el disco que ha fallado. Además, asegúrese de que dispone de un disco de repuesto para la sustitución.
Guía paso a paso para sustituir un disco averiado en la raíz ZFS
Supongamos que el servidor tiene 2 discos: /dev/sda y /dev/sdb
Uno de los discos ha fallado, por ejemplo /dev/sdb
Hay que sustituir el disco dañado.
En primer lugar, vamos a definir nuestro pool con el comando
zpool list
Antes de sustituir el disco, es aconsejable retirarlo del array:
zpool detach rpool /dev/sdb
A continuación, apague el servidor si no puede intercambiar discos en caliente, pero todo lo que se describe a continuación se puede hacer sin detener el servidor - si usted tiene un controlador y hotswap
poweroff
Sustituya físicamente el disco averiado.
Determinar la tabla de particiones (GPT o MBR) y transferirla al nuevo disco
Después de reemplazar un disco dañado, necesita determinar si la tabla de particiones es GPT o MBR.
Para ello utilice gdisk. Instale gdisk:
apt-get install gdisk -y
Ejecute el comando:
gdisk -l /dev/sda
Donde /dev/sda es un disco válido en RAID.
Para MBR la salida será aproximadamente la siguiente:
Partition table scan: MBR: MBR only BSD: not present APM: not present GPT: not present
Para GPT, será aproximadamente la siguiente:
Partition table scan: MBR: protective BSD: not present APM: not present GPT: present
Antes de añadir un disco al array, necesita ser particionado exactamente como un buen disco sda. Esto se hace de forma diferente dependiendo del particionado del disco.
Copiando el particionado para GPT
Para copiar el particionado GPT:
Nota!El primero es el disco al que se copia el particionado, y el segundo es el disco desde el que se copia el particionado. Si los mezcla, el particionado del disco originalmente útil será destruido.
sgdisk -R /dev/sdb /dev/sda
Asigne un nuevo UUID aleatorio al disco:
sgdisk -G /dev/sdb
Copiar el particionado para MBR
Para copiar el particionado MBR:
Nota!
Aquí se escribe primero el disco desde el que se está transfiriendo el particionado y segundo el disco al que se está transfiriendo.
sfdisk -d /dev/sda | sfdisk /dev/sdb
Si las particiones no son visibles en el sistema, puede releer la tabla de particiones con el comando:
sfdisk -R /dev/sdb
Instalar el gestor de arranque
Después de particionar el disco, necesitas instalar el gestor de arranque en él:
grub-install /dev/sdb
Añadir un disco
Especifica qué disco vamos a reemplazar (en nuestro caso es /dev/sdb3):
zpool replace rpool /dev/sdb3
Añadir un disco al raid:
zpool online rpool /dev/sdb3
Esperar a que finalice la sincronización del array:
zpool status
Conclusión
Siguiendo estas instrucciones, puedes reemplazar con éxito un disco fallido en la raíz de ZFS sin comprometer la integridad de tus datos. Es esencial tomar precauciones y realizar los pasos de copia de seguridad y verificación para evitar posibles pérdidas de datos y garantizar un funcionamiento sin problemas.