6.3. Récupération suite à un échec miroir LVM
Cette section fournit un exemple de récupération dans une situation où la branche d'un volume LVM en miroir échoue car le périphérique sous-jacent d'un volume physique tombe en panne et le paramètre
mirror_log_fault_policy
est défini sur remove
, nécessitant ainsi que vous reconstruisiez le miroir manuellement. Pour obtenir des informations sur l'ajustement du paramètre mirror_log_fault_policy
, reportez-vous à la Section 6.3, « Récupération suite à un échec miroir LVM ».
Lorsque la branche d'un miroir échoue, LVM convertit le volume miroir en un volume linéaire, qui continue à opérer de la même manière mais sans la redondance en miroir. À ce moment, vous pouvez ajouter un nouveau périphérique disque au système afin de l'utiliser en tant que périphérique physique de remplacement et reconstruire le miroir.
La commande suivante crée les volumes physiques qui seront utilisés pour le miroir.
Les commandes suivantes créent le groupe de volumes
vg
et le volume en miroir groupfs
.
Vous pouvez utiliser la commande
lvs
pour vérifier la disposition du volume en miroir et des périphériques sous-jacents pour la branche du miroir et le fichier journal du miroir. Notez que dans le premier exemple, le miroir n'est pas encore complètement synchronisé ; vous devriez attendre jusqu'à ce que le champ Copy%
affiche 100.00 avant de continuer.
Dans cet exemple, la branche primaire du miroir
/dev/sda1
échoue. Toute activité d'écriture sur le volume en miroir permet à LVM de détecter le miroir échouant. Lorsque cela se produit, LVM convertit le miroir en un volume linéaire unique. Dans ce cas, pour déclencher la conversion, nous exécutons une commande 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
Vous pouvez utiliser la commande
lvs
pour vérifier que le périphérique soit un périphérique linéaire. À cause du disque ayant échoué, des erreurs d'E/S se produisent.
À ce moment, vous devriez encore être capable d'utiliser le volume logique, mais il n'y aura pas de redondance en miroir.
Pour reconstruire le volume en miroir, vous remplacez le périphérique cassé et recréez le volume physique. Si vous utilisez le même disque plutôt que de le remplacer par un nouveau, vous verrez des avertissements "inconsistent" lorsque vous exécuterez la commande
pvcreate
. Vous pouvez éviter l'apparition de ces avertissements en exécutant la commande vgreduce --removemissing
.
Ensuite, vous étendez le groupe de volumes d'origine avec le nouveau volume physique.
Reconvertissez le volume linéaire à son état en miroir d'origine.
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.
Vous pouvez utiliser la commande
lvs
pour vérifier si le miroir a été restauré.