J'ai créé un exemple fichier script Ruby pour supprimer les instantanés LVM supplémentaires du système.
Pour supprimer l'instantané LVM, nous utilisons la commande lvremove
. Cette commande fonctionne bien et nous pouvons supprimer les instantanés du système.
# Sudo lvremove /dev/ops/dbbackup
lvremove -- do you really want to remove "/dev/ops/dbbackup"? [y/n]: y
Parfois, lors de la suppression des instantanés, nous obtenons des erreurs de suivi.
Unable to deactivate open rootfs_12.10_20140812_00-cow (252:8)
Failed to resume rootfs_12.10_20140812_00.
libdevmapper exiting with 7 device(s) still suspended.
Le système est gelé. Nous ne pouvons déclencher aucune commande ni effectuer aucune action dessus.
Après avoir redémarré le système, tout fonctionne correctement. Nous pouvons effectuer toutes les opérations même si nous pouvons également supprimer cet instantané.
J'ai cherché à ce sujet j'ai trouvé ces discussions https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=659762 et https://bugs.debian.org /cgi-bin/bugreport.cgi?bug=674682
La solution de ce fil est après avoir obtenu l'erreur mais je dois éviter ce type d'erreur.
J'ai une question, existe-t-il un meilleur moyen de supprimer les instantanés LVM?
Pour que nous puissions éviter ce type d'erreur.
Si quelqu'un a besoin de plus d'informations, n'hésitez pas à me demander.
Si vous ne l'avez pas déjà fait, assurez-vous que votre snapshot lv n'est pas monté avant de le supprimer. Ajoutez simplement une ligne supplémentaire à votre script Ruby pour démonter l’instantané de niveau inférieur avant d’effectuer la suppression de niveau. Il peut également être judicieux d’ajouter une condition à lvremove qui exige que la partition ne soit PAS montée pour que lvremove puisse continuer.
J'espère que cela a été utile
MG