Blog personnel d'Alex Sbille sur les technologies, et autres de mes centres d’intérêts.

Aller au contenu | Aller au menu | Aller à la recherche

System Administration Linux

Fil des billets - Fil des commentaires

dimanche 23 février 2014

Migrer d'un système mono-disque vers raid logiciel

Testé avec une distro Debian 8 en raid5 puis raid1.

Migrer d'un système en ext3 (avec une ou plusieurs partitions) avec un seul disque vers un raid logiciel.

Installer mdadm avant la synchronisation pour que lorsque l'on bootera plus tard dans le système répliqué, autrement, il faudrait chrooter pour l'installer pour pouvoir booter avec le système sur raid logiciel.

apt-get install mdadm

#with ubuntu like

sudo apt-get remove dmraid

Etat des lieux des disques

fdisk -l

Créer les partitions sur les nouveaux disques avant de crée le raid logiciel.

Une partition de 1MB est normalement suffisante pour grub mais dans le futur cela pourrait augmenter.

parted /dev/sda
unit kb
p free
#si besoin avec des disques vierges : mklabel gpt
mkpart primary ext3 0 10M
mkpart primary ext3 10M 100%
#(vital pour grub)
set 1 bios_grub on
p free
q
partprobe /dev/sda
partprobe /dev/sdb

Et faire de même pour tous les disques du futur raid car nous installerons grub sur chacun des disques.

Autre méthode pour le flag grub_on

parted /dev/sda1 set 1 bios_grub on
parted /dev/sdb1 set 1 bios_grub on

Créer système de fichier sur lequel sera hébergé le raid sur tous les disques.

mkfs -t ext3 /dev/sda2
mkfs -t ext3 /dev/sdb2

Créer le raid (ici raid1).

mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2

Voir la progression en temps réél, c'est long pour des disques 2TB.

watch -n 1 cat /proc/mdstat

Créer le système de fichiers sur le raid.

-m 2 for 2% of inodes

-m 2 pour 2% d'inodes

mkfs.ext3 /dev/md0 -m 2

Mettre le raid dans le fstab

blkid
nano /etc/fstab

UUID=87b54395-1737-435b-b2a8-b4120ee4060d /             ext3 relatime 0 0

Mettre à jour mdadm.

cat /etc/mdadm/mdadm.conf
mdadm --detail --scan --verbose >> /etc/mdadm/mdadm.conf
cat /etc/mdadm/mdadm.conf

Monter le.

mkdir /media/raid1/ && mount /dev/md0 /media/raid1/ &&  df -h && cd  /media/raid1/

Une fois le raid vierge en place, synchroniser le système actuel vers le raid.

rsync -aAXv --stats --progress /* /media/raid1/ --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/net*,/lost+found}

Chroot dans le future système live.

cd /media/raid1/
mount -t proc proc proc/
mount --rbind /sys sys/
mount --rbind /dev dev/
chroot /media/raid1 /bin/bash

Mettre à jour le fstab avec les bons uuid.

blkid
cp /etc/fstab /etc/fstab.bkp
nano /etc/fstab

Install grub on all drives of the array.

Installer grub sur tous les disques du raid.

grub-install /dev/sda
grub-install /dev/sdb
update-grub
#or
update-grub2

Mettre à jour le ram disk pour que le raid soit automatiquement monté durant le boot

update-initramfs -u

Sortir du chroot et redemarrer, dans mon cas, je débranche le vieux disque.

Tout devrait tourner sur le nouveau raid sans accroc avec grub opérationel.

fdisk -l

Attention : identifiant de table de partitions GPT (GUID) détecté sur « /dev/sdb » ! L'utilitaire sfdisk ne prend pas GPT en charge. Utilisez GNU Parted.

Disque /dev/sdb : 2000.4 Go, 2000398934016 octets

255 têtes, 63 secteurs/piste, 243201 cylindres, total 3907029168 secteurs

Unités = secteurs de 1 * 512 = 512 octets

Taille de secteur (logique / physique) : 512 octets / 4096 octets

taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets

Identifiant de disque : 0x00000000

Périphérique Amorce  Début        Fin      Blocs     Id  Système

/dev/sdb1               1  3907029167  1953514583+  ee  GPT

La partition 1 ne commence pas sur une frontière de cylindre physique.

Attention : identifiant de table de partitions GPT (GUID) détecté sur « /dev/sda » ! L'utilitaire sfdisk ne prend pas GPT en charge. Utilisez GNU Parted.

Disque /dev/sda : 2000.4 Go, 2000398934016 octets

255 têtes, 63 secteurs/piste, 243201 cylindres, total 3907029168 secteurs

Unités = secteurs de 1 * 512 = 512 octets

Taille de secteur (logique / physique) : 512 octets / 512 octets

taille d'E/S (minimale / optimale) : 512 octets / 512 octets

Identifiant de disque : 0x00000000

Périphérique Amorce  Début        Fin      Blocs     Id  Système

/dev/sda1               1  3907029167  1953514583+  ee  GPT

Disque /dev/md0 : 2000.3 Go, 2000262529024 octets

2 têtes, 4 secteurs/piste, 488345344 cylindres, total 3906762752 secteurs

Unités = secteurs de 1 * 512 = 512 octets

Taille de secteur (logique / physique) : 512 octets / 4096 octets

taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets

Identifiant de disque : 0x00000000

Le disque /dev/md0 ne contient pas une table de partitions valable

Les liens qui m'ont aidés:

http://velenux.wordpress.com/2012/07/12/grub-failing-to-install-on-debianubuntu-with-gpt-partitions/

http://forums.linuxmint.com/viewtopic.php?f=90&t=95928

http://forums.debian.net/viewtopic.php?f=5&t=92810

http://unix.stackexchange.com/questions/28443/does-grub2-support-putting-boot-on-a-raid5-partition

http://askubuntu.com/questions/252795/convert-running-system-to-raid-5

https://wiki.archlinux.org/index.php/Full_System_Backup_with_rsync

https://wiki.archlinux.org/index.php/Change_Root

https://wiki.archlinux.org/index.php/Convert_a_single_drive_system_to_RAID

Partage

page 2 de 2 -