4 votes

Correction de la partition physique LVM écrasée

J'ai utilisé un périphérique entier comme une partition physique LVM, juste pour que

sudo pvcreate /dev/xvdg

Malheureusement, alors qu'il était en cours d'utilisation, j'ai accidentellement écrasé certaines données (je pense), en écrivant une nouvelle table de partition :

sudo fdisk /dev/xvdg Ajouter une nouvelle partition, écrire une table de partition, supprimer une partition, écrire une table de partition vide.

C'est là où j'en suis actuellement. Tout semble encore fonctionner, mais j'ai peur du redémarrage, du démontage, etc...

  • Est-il cassé ?
  • Si oui, quel est le meilleur moyen de le réparer ?

Merci !

1voto

psusi Points 3197

En supposant que vous utilisiez le disque entier comme pv lvm, plutôt qu'une partition individuelle à l'intérieur de celui-ci, cela devrait généralement bien se passer puisque l'en-tête LVM n'est pas dans le premier secteur, où se trouve la table de partition, surtout en utilisant des secteurs de 512 octets.

La table de partition est dans le premier secteur : Voir par exemple aquí : Les disques durs peuvent être divisés en un ou plusieurs disques logiques appelés partitions. Cette division est enregistrée dans la table de partition, qui se trouve dans le secteur 0 du disque.

L'en-tête LVM se trouve par défaut dans le deuxième secteur : Voir par exemple aquí : Par défaut, l'étiquette LVM est placée dans le deuxième secteur de 512 octets. Vous pouvez écraser cette valeur par défaut en plaçant l'étiquette sur l'un des 4 premiers secteurs. Cela permet aux volumes LVM de coexister avec d'autres utilisateurs de ces secteurs, si nécessaire.

Attention : Je ne sais pas ce qui se passe si la taille du secteur utilisé par fdisk est plus grande, disons 1024 octets - LVM pourrait toujours être dans le deuxième secteur de 512 octets, et fdisk pourrait écraser le secteur entier de 1024 octets ?

Par ailleurs, si vous n'êtes pas sûr et que vous avez accès à de l'espace supplémentaire (par exemple, sur Amazon EC2), vous pouvez toujours créer un volume de taille identique, effectuer un pvcreate sur celui-ci, l'ajouter au volumegroup, utiliser un pvmove pour déplacer les données vers le nouveau volume, puis un vgreduce pour supprimer le volume concerné.

0voto

Soham Chakraborty Points 3504

Oui, dans 99,99% des cas, il est cassé. La raison est que vous avez écrasé la table de partition. Les métadonnées de lvm résident dans le second secteur de 512 octets du PV. Donc, pendant la création de la nouvelle partition, si vous avez touché ces secteurs, vos métadonnées ont été effacées. Essentiellement un redémarrage, umount va tout faire foirer.

Il existe deux possibilités de piratage (qui ne sont pas forcément réalisables).

1) Si vous connaissez la table de partition exacte du dernier bon système de fichiers connu, vous pouvez lancer fdisk et essayer de le créer dans le même ordre exact. Vous devez savoir dans quels secteurs l'ancien système de fichiers commençait et finissait. Créez la partition comme avant et cela pourrait fonctionner.

2) Si les choses ne fonctionnent pas de cette façon, il existe une autre solution de contournement de pvcreate. Votre dernière sauvegarde lvm connue sera stockée dans le dossier /etc/lvm/archive/volume_group_name_XXXX.vg fichier. Vous devez récupérer l'UUID du PV à partir de là. Ensuite, si les choses sont en votre faveur, vous pouvez faire ceci.

pvcreate --uuid <put_uuid_here> /etc/lvm/archive/volume_group_name_XXXX.vg <physical-volume name>

Mais si vous le pouvez, sauvegardez d'abord vos données. pvcreate ne touche pas aux données de l'utilisateur, il ne s'occupe que des métadonnées mais si au démarrage, fsck trouve une incohérence, il peut vous jeter avec des erreurs fs et un disque potentiellement irrécupérable.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X