Lvm, c'est bien ou comment j'ai changé le disque de mon ordinateur portable sans rien reinstallé.

  • Posted on: 29 July 2012
  • By: mathias

Votre disque /dev/sda présente des signes de faiblesse, ou est lent ou est de petite capacité.
vous cherche à le remplacer par un disque plus rapide comme moi (un momentus XT),
de taille plus importante sans le moindre effort et surtout sans tout reinstallé; alors LVM est fait pour vous

Supposons que votre disque initial (/dev/sda) ait été formaté ainsi : /dev/sda1 est une partition primaire,
de type bootable, montée sur /boot. /dev/sda2 est une partition primaire de type lvm2 et le nouveau disque
(branché en usb) est reconnu comme /dev/sdb

Vous avez besoin de copier /dev/sda1 sur une partition /dev/sdb1, et /dev/sda2 sur une partition /dev/sdb2.

Vous allez utiliser l'outil GParted pour préparer le disque /dev/sdb et copier la partition de boot. Gparted ne
gérant pas lvm2, nous utiliserons la ligne de commande pour la copie de /dev/sda5.

Avec GParted

Lancez Gparted (Système → Administration → Editeur de partitions GParted). Les partitions de votre disque
/dev/sda s'affichent. Notez la taille de /dev/sda1, ainsi que son filesystem (ext2/ext3/ext4).

Passez au disque /dev/sdb. Créez-y une nouvelle partition primaire /dev/sdb1, de taille légèrement supérieure
à celle de /dev/sda1. "Appliquez" pour que la création soit effective, puis modifiez (par clic droit) les drapeaux
de /dev/sdb1 pour rendre cette partition bootable. Créez une partition primaire /dev/sdb2, occupant
le reste du disque. "Appliquez" pour que vos créations soient effectives.

Repassez au disque /dev/sda. Cliquez-droit sur /dev/sda1 et choisissez "Démonter" puis "Copier". Repassez au
disque /dev/sdb. Cliquez-droit sur /dev/sdb1 et choisissez "Coller" (ou "Paste"). "Appliquez" à nouveau.
Fermez GParted.

En ligne de commande

Remontez votre partition de boot :

mount /boot

Faites un scan des volumes physiques de LVM :

 pvscan 
  PV /dev/sda2   VG avatar   lvm2 [148,81 GiB / 4,87 GiB free]
  Total: 1 [148,81 GiB] / in use: 1 [148,81 GiB] / in no VG: 0 [0   ]

Cela signifie que le volume physique (PV) /dev/sda2 est inclus dans le groupe de volumes (VG) nommé ici avatar
(bien sûr le vôtre porte un autre nom).

Déclarez /dev/sdb2 comme volume physique :

 pvcreate /dev/sdb2
  Physical volume "/dev/sdb2" successfully created

Vérifiez qu'il existe bien, mais n'est pas encore attribué à un groupe de volumes :

pvscan 
  PV /dev/sda2   VG avatar    lvm2 [148,81 GiB / 4,87 GiB free]
  PV /dev/sdb2                      lvm2 [465,47 GiB]
  Total: 2 [614,28 GiB] / in use: 1 [148,81 GiB] / in no VG: 1 [465,47 GiB]

Attribuez /dev/sdb2 à votre groupe de volumes (ici avatar). Ce groupe de volumes est "étendu" à /dev/sdb2 :

vgextend avatar /dev/sdb2
  Volume group "avatar" successfully extended

Vérification

pvscan 
  PV /dev/sda2   VG avatar   lvm2 [148,81 GiB / 4,87 GiB free]
  PV /dev/sdb2   VG avatar   lvm2 [465,46 GiB / 465,46 GiB free]
  Total: 2 [614,27 GiB] / in use: 2 [614,27 GiB] / in no VG: 0 [0   ]

Lancez enfin le déplacement des données, du volume physique /dev/sda2 vers le volume physique /dev/sdb2 :

pvmove /dev/sda2 /dev/sdb2
  /dev/sda2: Moved: 0,3%
  /dev/sda2: Moved: 0,7%
  ...  
  /dev/sda2: Moved: 99,8%
  /dev/sda2: Moved: 100,0%

Attention, l'opération peut prendre du temps, suivant la taille des données à transférer, la rapidité des disques, etc.

Vérifiez que le contenu de /dev/sda2 a bien été transféré sur /dev/sdb2 :

pvscan 
  PV /dev/sda2   VG avatar   lvm2 [148,81 GiB / 148,81 GiB free]
  PV /dev/sdb2   VG avatar   lvm2 [465,46 GiB / 321,53 GiB free]

En effet, la totalité de /dev/sda2 est libre, et /dev/sdb2 est occupée par les données transférées.

Supprimez /dev/sda2 du groupe de volumes avatar :

vgreduce avatar /dev/sda2
  Removed "/dev/sda2" from volume group "avatar"

Vérifiez :

pvscan 
  PV /dev/sdb2   VG avatar          lvm2 [465,46 GiB / 321,53 GiB free]
  PV /dev/sda2                      lvm2 [148,81 GiB]
  Total: 2 [614,28 GiB] / in use: 1 [465,46 GiB] / in no VG: 1 [148,81 GiB]

Finalisation

Réinstallez GRUB sur le MBR de votre disque dur :

grub-install /dev/sdb

Éteignez votre ordinateur, enlevez l'ancien disque et remplacez-le par le nouveau.

* Guide pratique de LVM - http://www.traduc.org/Guides_pratiques/Suivi/LVM-HOWTO/Document

Add new comment

Plain text

  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <c>, <cpp>, <drupal5>, <drupal6>, <java>, <javascript>, <php>, <python>, <ruby>. The supported tag styles are: <foo>, [foo].
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.