LVM2 migration

Migration d'un système Debian GNU/linux vers LVM2

Introduction

Ce document a été rédigé dans l'espoir qu'il soit utile mais SANS AUCUNES GARANTIES.
Le lecteur engage sa propre responsabilité et ne pourra en aucun cas se retourner vers l'auteur ou MayLUG en cas de problèmes.
Il est rappelé au lecteur qu'il est le seul responsable de son système, de ses données ou de celle de son employeur.
Il est conseillé de faire des sauvegardes et de s'assurer qu'elles fonctionnent avant d'entreprendre des modifications profondes de son système.
Par ailleurs, le lecteur serait bien avisé de lire les pages de manuel des commandes qu'il exécutera sur son système pour être sûre de ce qu'elles impliquent.

Je vais décrire ici les opérations effectuées sur ma station pour migrer un système Debian GNU/Linux AMD64 vers LVM2. Cette page n'a pas pour but d'être généraliste, ni applicable à tous les cas de figure.

Le système actuel est réparti sur 2 disques dur ide :

Suite à l'ajout d'un disque sata2, l'idée est de “déplacer” le système vers celui-ci pour bénéficier des performances du sata2 et des possibilités offertes par LVM2, tout en s'évitant une ré-installation.

Pré-requis

En bref

  1. mise en place de LVM2
  2. copier le système et les données
  3. modifier grub-pc
  4. mise à disposition des anciens disques

and voila ;)

Mise en place de LVM2

Le nouveau disque (/dev/sdc) en place, on lance GParted puis on initialise le MBR avant de découper le disque en deux partitions primaires :

Après installation du paquet LVM2 :

Pour le détail des LV tout est possible ;)

J'ai choisis de garder un partitionnement simple, / swap et /home, je me retrouve donc avec :

Les volumes root_lv et home_lv sont formatés en ext4.

Le reste des hostilités se déroule après un reboot liveCD.

Copie des données

Installation du paquet LVM2, détection et activation du VG puis montage des partitions dans des emplacements temporaires.

Pour info:

On copie les données des anciens répertoires vers les nouveaux:

Il ne faut pas oublier de modifier /var/lvm/newroot/etc/fstab avec les nouveaux points de montage à moins d'aimer les surprises.

Exemple de modifications opérées:

- //uuid_de_/dev/sda1//  / ext4 errors=remount-ro 0
- //uuid_de_/dev/sdb1//  /home ext4 defaults 0 2
- //uuid_de_/dev/sda2//  swap
+ //uuid_de_/dev/sdc1//  /boot ext2 defaults
+ //uuid_de_/dev/deby_vg/root_lv//  / ext4 errors=remount-ro 0
+ //uuid_de_/dev/deby_vg/home_lv//  /home ext4 defaults 0 2
+ //uuid_de_/dev/deby_vg/swap_lv//  swap sw 0 0

On peut utiliser ls -l /dev/disk/by-uuid/ pour trouver l'UUID de partitions et de volumes logiques.

Grub-pc

Les commandes suivantes mettent en place le chroot sur l'ancien système:

sudo mount -o bind /sys /var/lvm/newroot/sys
sudo mount -o bind /proc /var/lvm/newroot/proc
sudo mount -o bind /dev /var/lvm/newroot/dev
sudo chroot /var/lvm/newroot/

Une fois dans le chroot de “l'ancien-futur-nouveau système”, il suffit de mettre à jour grub-pc:

sudo grub-install /dev/sda

Je mets à jour Grub sur /dev/sda car j'ai choisi de ne pas modifier l'ordre de boot dans le BIOS de ma machine.

Un reboot plus tard nous voici avec un système migré sous LVM2, il reste à traiter la question des anciens disques dur.

Les anciens disques

Aillant gardé les anciens disques, je les intègre à mon “nouveau” système.

Liens

LVM2_Debian

http://wiki.debian.org/chroot

http://help.ubuntu.com/community/Grub2