6.3. Cómo recuperarse de una falla de un espejo LVM
Esta sección proporciona un ejemplo sobre cómo realizar una recuperación cuando falla un pilar de un volumen LVM en espejo, debido a que el dispositivo subyacente para el volumen físico se cae y el parámetro
mirror_log_fault_policy
se establece a remove
, lo que requiere que usted reconstruya de forma manual el espejo. Para obtener información sobre como configurar el parámetro mirror_log_fault_policy
, consulte Sección 6.3, “Cómo recuperarse de una falla de un espejo LVM”.
Cuando un espejo falla, LVM convierte el volumen en espejo en un volumen lineal, el cual continúa operando como antes, pero sin la redundancia en espejo. A ese punto, puede añadir un nuevo dispositivo de disco al sistema para utilizar como reemplazo al dispositivo físico y reconstruir el espejo.
El siguiente comando crea el volumen físico el cual será usado para el espejo.
El siguiente comando crea el grupo de volúmenes
vg
y el volumen en espejo groupfs
.
Puede utilizar el comando
lvs
para verificar la distribución de un volumen en espejo y los dispositivos subyacentes para el espejo y el registro del espejo. Note que en el primer ejemplo el espejo no está completamente sincronizado; debe esperar hasta que el campo Copy%
muestre 100.00 antes de continuar.
En este ejemplo, el espejo primario
/dev/sda1
falla. Cualquier actividad en el volumen en espejo hace que LVM detecte el fallo. Cuando esto ocurre, LVM convierte el espejo en un volumen lineal sencillo. En este caso, para activar la conversión, ejecute un comando dd
.
dd if=/dev/zero of=/dev/vg/groupfs count=10
[root@link-08 ~]# dd if=/dev/zero of=/dev/vg/groupfs count=10
10+0 records in
10+0 records out
Puede utilizar el comando
lvs
para verificar que el dispositivo es un dispositivo lineal. Debido a que el disco falla, se produce un error de E/S.
En este momento puede seguir utilizando el volumen lógico, pero no habrá duplicación de los datos en el espejo.
Para reconstruir el volumen en espejo puede remplazar el disco dañado y recrear el volumen físico. Si utiliza el mismo disco en vez de remplazarlo por uno nuevo, verá la advertencia "inconsistent" al ejecutar el comando
pvcreate
. Puede evitar esta advertencia, si ejecuta el comando vgreduce --removemissing
.
A continuación extienda el grupo de volúmenes original con el nuevo volumen físico.
Convierta el volumen lineal de regreso a su estado original con el espejo.
lvconvert -m 1 /dev/vg/groupfs /dev/sdi1 /dev/sdb1 /dev/sdc1
[root@link-08 ~]# lvconvert -m 1 /dev/vg/groupfs /dev/sdi1 /dev/sdb1 /dev/sdc1
Logical volume mirror converted.
Puede utilizar el comando
lvs
para verificar que los espejos sean restaurados.