J'ai la situation suivante:
Mon installation actuelle d'Ubuntu (12.04) fonctionne à partir d'un disque dur externe (250 Go) car j'étais trop paresseux pour acheter un nouveau disque dur interne. Maintenant, j'ai un nouvel interne (120 Go) et je veux tout déplacer vers l'intérieur. L'installation d'Ubuntu new est hors de propos parce qu'elle est peronalisée.
Heureusement (j'espère), la partition racine est partitionnée avec LVM. J'espère donc pouvoir déplacer la partition sur le plus petit disque dur interne.
Est-ce possible? Et où puis-je trouver de l'aide?
EDIT: Cette question est déjà assez ancienne et pourrait être obsolète. J'ai ajouté la version Ubuntu qui était utilisée à l'époque.
Comme vous le suspectez, il est extrêmement élégant d'utiliser LVM.
Réduisez l’installation existante pour l’adapter au plus petit disque.
Installez physiquement le nouveau disque dur, le format et le pvcreate
, utilisez vgextend
pour l'ajouter à la même vg que votre partition racine.
Utilisez pvmove
pour déplacer de manière transparente toutes les données hors de l'ancienne partition.
Utilisez vgreduce
pour supprimer votre disque dur externe de votre vg. Débranchez l'ancien disque/dev/sdOLD.
Dans l'exemple ci-dessous:
/dev/sdOLD
représente l'ancienne partition à remplacer/dev/sdNEW
signifie que la nouvelle partition prendra sa place.vgX
représente le groupe de volumesExemple: Bien sûr, vous devez être sûr à 100% que vous utilisez les bons appareils. Il est également essentiel de disposer de sauvegardes complètes et à jour, supprimées du système.
pvcreate /dev/sdNEW
vgextend vgX /dev/sdNEW
pvmove /dev/sdOLD
vgreduce vgX /dev/sdOLD
Utilisez update-grub
et grub-install
pour rendre votre nouveau disque racine amorçable.
Terminé.
Premièrement, si vous avez utilisé le disque entier de 250 Go pour votre installation actuelle, vous devrez le réduire pour l’adapter au disque de 120 Go. Vous ne pouvez réduire qu'un système de fichiers ext4 lorsqu'il est démonté. Vous devez donc démarrer à partir d'un système Ubuntu Live (CD ou USB) ou d'un système de maintenance spécialisé tel que GParted live . Vous pouvez utiliser resize2fs
ou GParted pour redimensionner le système de fichiers existant.
Une fois que vous avez réduit le ou les systèmes de fichiers de votre installation existante pour qu'ils tiennent sur le nouveau disque, vous pouvez effectuer le reste du déplacement avec le système de fichiers monté si vous le souhaitez. Si le système de fichiers existant tient sur le nouveau disque, vous pouvez effectuer le transfert sans rien démonter ni redémarrer.
Dans la description suivante, je montrerai comment passer du volume physique /dev/sdb1
au volume physique /dev/sda1
, avec un groupe de volumes existant appelé oldvg
. Veillez à ajuster les lettres du disque et les numéros de partition en fonction de votre système.
Pour faire un transfert en direct:
cfdisk
, fdisk
, parted
,…). Voir par exemple Comment puis-je ajouter un disque dur supplémentaire?pvcreate /dev/sda1
vgextend oldvg /dev/sda1
pvmove /dev/sdb1 /dev/sda1
vgsplit oldvg newvg /dev/sda1
Une autre méthode consiste à transformer les volumes logiques existants en un volume miroir avec lvconvert --mirror
, à configurer un miroir sur le nouveau disque, puis à diviser les miroirs avec lvconvert --splitmirrors
. De cette façon, vous vous retrouvez avec deux copies de vos données, et après la division, chaque copie mène sa propre vie.
Une fois la copie terminée, vous devez rendre le nouveau disque amorçable. Montez le système de fichiers pour cela. En supposant qu'il soit monté sur /mnt
, exécutez ces commandes en tant que root:
chroot /mnt
# if the name of the volume group has changed, edit /etc/fstab
update-grub
grub-install /dev/sda
Vous pouvez également utiliser Clonezilla . C’est un puissant outil de manipulation et de clonage de disque, et je pense qu’il couvre votre situation, mais je n’ai aucune expérience en la matière.