Sebastien Badia Sys/Net admin engineer @Inria, LDN Co-founder.
Published

Thu 12 January 2012

Last modified

2014-02-23 17:07:00+01:00

←Home

Migrer un système vers un Raid1

Le but de la manip est de passer d'une installation fonctionnelle en LVM sur un seul disque à une installation toujours avec LVM mais sur un raid 1 (sur deux disques).

Introduction

Dans la suite on admet que l'installation initialle est telle que :

/dev/sda:
    /sda1 -> /boot (200Mo)
    /sda2 -> old-server (reste du hdd) root tmp var swap

Mise en place

On commence par copier la table de partition sur le deuxième disque

sfdisk -d /dev/sda | sfdisk /dev/sdb

Puis avec mdadm (raid soft) on crée nos deux arrays, nous allons volontairement ne mettre qu'un seul disque dans chaque array.

Md0 sera notre raid pour le /boot

mdadm --create /dev/md0 --level 1 --raid-devices=2 missing /dev/sdb1
mkfs.ext2 /dev/md0

Et Md1 le raid pour notre vg

mdadm --create /dev/md1 --level 1 --raid-devices=2 missing /dev/sdb2

On crée ensuite le pv sur /dev/md1 et le vg dans la foulée

pvcreate /dev/md1 && vgcreate vg-server /dev/md1

Puis nos lv et le filesystem (on répète l'opération pour les autres) :)

lvcreate -n root -L 6g vg-server
mkfs.ext3 /dev/vg-server/root

Copie du système actuel

On commence par monter notre nouveau boot

mount -t auto /dev/md0 /mnt/

et on lance la copie après si nécessaire avoir monté le fs d'origine en loop

mount -o loop /boot /root/boot
cp -vdprx /root/boot /mnt

Même opération pour nos lv

mount -t auto /dev/vg-server/root /mnt
mount -o loop /dev/old-server/root /root/root
cp -vdprx /root/root /mnt

Avant le reboot

Avant de rebooter il faut penser à modifier le fstab (/dev/md0 pour boot et le nouveau vg pour les autres moint-points).

:%s/sda1/md0/g
:%/old-server/vg-server/g

Il faut ensuite régénérer l'intird

update-initramfs -u -k `uname -r`

et bien sûr à installer grub sur notre nouveau disque (grub-install).

Et enfin créer un fichier de configuration pour mdadm.

mdadm  --detail --scan >> /mnt/etc/mdadm/mdadm.conf

Touche finale

Après reboot (si tout s'est bien passé), on peux intégrer l'ancien disque dans l'array :)

mdadm --add /dev/md0 /dev/sda1 && mdadm --add /dev/md1 /dev/sda2

Et observer la reconstruction

cat /proc/mdstat

Bon hack !

Go Top