5. Enlever un disque

Admettons que vous ayez un vieux disque IDE sur /dev/hdb. Vous voulez le retirer mais de nombreux fichiers sont encore dessus.

[Attention]Sauvegarder votre système

Vous devriez toujours effectuer une sauvegarde de votre système avant de faire une opération avec pvremove.

5.1. Distribuer les anciens extents vers des disques existants du groupe de volumes

Si vous avez assez d'extents libres sur les autres disques du groupe de volumes, c'est très simple. Il suffit d'exécuter la commande :

# pvmove /dev/hdb
pvmove -- moving physical extents in active volume group "dev"
pvmove -- WARNING: moving of active logical volumes may cause data loss!
pvmove -- do you want to continue? [y/n] y

pvmove -- 249 extents of physical volume "/dev/hdb" successfully moved

Cela va déplacer les extents physiques alloués sur /dev/hdb vers les autres disques du groupe de volumes.

[Note] pvmove est lent

Attention, pvmove est très lent car il doit copier le contenu d'un disque vers un ou plusieurs autres, bloc par bloc. Si vous souhaitez plus d'informations sur l'avancement de l'opération, utilisez l'option -v avec pvmove.

5.1.1. Enlever l'ancien disque

Nous pouvons désormais supprimer l'ancien disque du groupe de volumes.

# vgreduce dev /dev/hdb
vgreduce -- doing automatic backup of volume group "dev"
vgreduce -- volume group "dev" successfully reduced by physical volume:
vgreduce -- /dev/hdb

Le disque peut désormais être enlevé physiquement au prochain arrêt de la machine ou bien être réalloué à d'autres utilisateurs.

5.2. Distribuer les anciens extents sur un nouveau disque de remplacement

Si vous n'avez pas assez d'extents physiques libres pour les anciens extents, il va falloir rajouter un disque dans le groupe de volumes et y déplacer les extents.

5.2.1. Préparer le disque

D'abord, il faut utiliser pvcreate sur le nouveau disque pour le rendre disponible dans LVM. Dans cette recette, nous montrons qu'il n'est pas nécessaire de partitionner un disque pour pouvoir l'utiliser.

# pvcreate /dev/sdf
pvcreate -- physical volume "/dev/sdf" successfully created

5.2.2. Ajouter le disque au groupe de volumes

Comme les développeurs utilisent beaucoup d'espace disque, leur volume est un bon candidat pour l'ajout.

# vgextend dev /dev/sdf
vgextend -- INFO: maximum logical volume size is 255.99 Gigabyte
vgextend -- doing automatic backup of volume group "dev"
vgextend -- volume group "dev" successfully extended

5.2.3. Déplacer les données

Ensuite, nous déplaçons les données de l'ancien disque vers le nouveau. Remarquez qu'il n'est pas nécessaire de démonter le système de fichiers avant de le faire. Cependant, il est *vivement* recommandé de faire une sauvegarde complète avant de faire cette opération au cas où elle soit interrompue par une coupure électrique ou tout autre problème. La commande pvmove peut prendre un temps considérable et réduire les performances des deux volumes. Il est donc conseillé d'attendre qu'ils ne soient pas trop occupés.

# pvmove /dev/hdb /dev/sdf
pvmove -- moving physical extents in active volume group "dev"
pvmove -- WARNING: moving of active logical volumes may cause data loss!
pvmove -- do you want to continue? [y/n] y
pvmove -- 249 extents of physical volume "/dev/hdb" successfully moved

5.2.4. Enlever l'ancien disque

Nous pouvons désormais supprimer l'ancien disque du groupe de volumes.

# vgreduce dev /dev/hdb
vgreduce -- doing automatic backup of volume group "dev"
vgreduce -- volume group "dev" successfully reduced by physical volume:
vgreduce -- /dev/hdb

Le disque peut être enlevé physiquement au prochain arrêt de la machine ou bien être réalloué à d'autres utilisateurs.

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:27