#1 Le 02/08/2006, à 18:38
- cep
Raid1 logiciel après installation classique pour y mettre /home
Le but de ce poste est de montrer de façon simplifiée (les procédures de gestion sont occultées) une méthode pour créer sur une installation classique déjà existante, un système de raid1 et y installer /home qui auparavant était sur la partition racine.
On crée une partion /dev/hda3 et une partition /dev/hdb1 sur un autre disque. On ne détaille pas la création des partitions. Voir si nécessaire les différents tutos, y compris http://forum.ubuntu-fr.org/viewtopic.php?pid=135436
Avant tout on vérifie que mdadm est installé, ce qui devrait être le cas :
:~$ aptitude show mdadm |grep -i état
État: installé
Pour ne pas avoir à taper la commande sudo à chaque fois, on utilise sudo -s ( exit pour en sortir)
Comme je n'avais pas mis le type fd aux partitions hda3 et hdb1 j'utilise parted pour le faire :
:~# parted -s /dev/hda set 3 raid on
:~# parted -s /dev/hdb set 1 raid on
On aurait très bien pu le modifier avec cfdisk ou autre fdisk.
Les partitions n'étant pas montées, je crée /dev/md0 avec level 1 et en incorporant les deux partitions (je n'ai pas de disque spare) :
:~# mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/hda3 /dev/hdb1
. . .
mdadm : array /dev/md0 started
On vérifie :
:~# mdadm --detail /dev/md0
/dev/md0:
Version : 00.90.03
Creation Time : Wed Aug 2 16:46:40 2006
Raid Level : raid1
Array Size : 883456 (862.89 MiB 904.66 MB)
Device Size : 883456 (862.89 MiB 904.66 MB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistentUpdate Time : Wed Aug 2 16:49:25 2006
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0UUID : 2c2c322b:802a0582:ea7ace9d:3682902f
Events : 0.2Number Major Minor RaidDevice State
0 3 3 0 active sync /dev/hda3
1 3 72 1 active sync /dev/hdb1
On crée le système de fichiers sur /dev/md0 :
:~# mkfs.ext3 -v -m1 /dev/md0
mke2fs 1.38 (30-Jun-2005)
À toutes fins utiles, on crée le fichier mdadm.conf (on a cependant Superblock is persistent) :
:~# mdadm --detail --scan > /etc/mdadm/mdadm.conf
:~# cat /etc/mdadm/mdadm.conf
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=2c2c322b:802a0582:ea7ace9d:3682902f
que je modifie pour avoir :
DEVICE /dev/hda3 /dev/hdb1
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=2c2c322b:802a0582:ea7ace9d:3682902f
Enfin on monte /dev/md0 sur /mnt/raid pour y copier la totalité de /home (plusieurs users) :
:~# mkdir /mnt/raid
:~# mount -t ext3 /dev/md0 /mnt/raid
:~# rsync -a /home/ /mnt/raid/
Avec nano ou autre, on crée la ligne de mount de /home/ dans /etc/fstab. Voilà ce que j'ai mis :
/dev/md0 /home ext3 defaults 0 2
Enfin on passe en telinit 1 pour renommer /home en /home_old afin d'avoir une "sauvegarde" au cas ou, et on crée un autre point de montage /home :
:~# telinit 1
. . .
:~# mv /home/ /home_old
:~# mkdir /home
et on reboote puis on vérifie :
:~$ mount |grep /home
/dev/md0 on /home type ext3 (rw)
:~$ cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 hda3[0] hdb1[1]
883456 blocks [2/2] [UU]
unused devices: <none>
Pour les différentes commandes de gestion du raid, voir le man mdadm et divers sites :
http://www.labo-linux.org/cours/module-1/chapitre-13-raid-et-lvm/
http://www.linuxdevcenter.com/pub/a/linux/2002/12/05/RAID.html?page=1
Et pour une installation de A à Z voir :
http://doc.ubuntu-fr.org/installation/raid1_software
Dernière modification par cep (Le 03/08/2006, à 05:53)
Hors ligne
#2 Le 19/08/2006, à 17:00
- cep
Re : Raid1 logiciel après installation classique pour y mettre /home
Il est aussi possible d'ajouter le raid en incorporant une partition déjà existante, tout en préservant les données présentes sur cette partition.
La procédure peut être faite en recovery ou bien en session normale. Dans ce cas, il sera préférable de passer ensuite en telinit 1 pour "confirmer" le rsync et pouvoir démonter et remonter la partition /home, ou rebooter.
Bien entendu des sauvegardes des données sont indispensables, on n'est pas à l'abri d'une erreur de frappe.
Exemple : ajouter le raid1 pour /home actuellement sur hda3 avec raid sur hdc3
- ajouter le type fd à /dev/hda3 et /dev/hdc3 comme expliqué plus haut
- créer le raid1 avec la ligne de commande sans omettre missing. Missing portera sur l'actuelle partition /home afin qu'elle soit préservée dans un premier temps :
:~# mdadm --create /dev/md0 --level 1 --raid-devices=2 missing /dev/hdc3
. . .
mdadm : array /dev/md0 started
On crée le système de fichiers de son choix sur /dev/md0:
:~# mkfs.ext3 -m1 /dev/md0
On crée le point de montage, on monte /dev/md0 et on copie /home/ sur le point de montage avec cp -a ou rsync ( attention si vous utilisez les ACL à prendre les bonnes options ).
:~# mkdir /mnt/raid
:~# mount -t ext3 /dev/md0 /mnt/raid
:~# rsync -aH /home/ /mnt/raid/
- modifier /etc/fstab pour avoir :
/
/dev/md0 /home ext3 defaults 0 2
Ensuite on reboute ou on démonte /dev/md0 et /home puis on les remonte mount -a -o remount
On ajoute l'ancienne partition /home /dev/hda3 qui avait été déclare missing :
:~# mdadm --add /dev/md0 /dev/hda3
mdadm: hot added /dev/hda3
- on vérifie que tout se passe bien et surtout on ne reboote pas avant que ce soit fini :
:~# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 hda3[2] hdc3[1]
2666688 blocks [2/1] [_U]
[>....................] recovery = 3.9% (106560/2666688) finish=8.4min speed=5074K/sec
unused devices: <none>
:~# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 hda3[2] hdc3[1]
2666688 blocks [2/1] [_U]
[===================>.] recovery = 99.1% (2646144/2666688) finish=0.0min speed=4456K/sec
unused devices: <none>
:~# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 hda3[0] hdc3[1]
2666688 blocks [2/2] [UU]
unused devices: <none>
Voilà, c'est terminé. On aurait aussi pu vérifier le déroulement avec :
watch -n 30 cat /proc/mdstat ou tout autre intervalle que 30 secondes.
- on crée /etc/mdadm/mdadm.conf comme expliqué plus haut :
:~# mdadm --detail --scan > /etc/mdadm/mdadm.conf
et on le modifie avec nano ou autre pour ajouter la ligne DEVICE et avoir :
DEVICE /dev/hda3 /dev/hdc3
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=7f526abd:1e0c5c3c:3595d176:13
C'est terminé, vous pouvez rebouter une dernière fois pour vérifier que tout est ok, qu'il n'y a pas de message douteux dans les logs.
La procédure a été faite sur /home mais aurait très bien pu se faire sur un autre point de montage.
Si l'on a deux disques parfaitement identiques, on peut copier la table des partitions par :
sfdisk -d /dev/hda | sfdisk /dev/hdb
Voir le man sfdisk et les possibilités d'utiliser sfdisk avec l'option -d.
Créer ensuite les systèmes de fichiers avec les vérifications nécessaires.
Hors ligne
#3 Le 24/08/2006, à 13:56
- cep
Re : Raid1 logiciel après installation classique pour y mettre /home
En complément, sute à l'installation de mdadm on trouve une documentation assez complète à l'adresse : /usr/share/doc/mdadm/
Par exemple :
w3m /usr/share/doc/mdadm/rootraiddoc.97.html
ou file:///usr/share/doc/mdadm/rootraiddoc.97.html depuis firefox
Hors ligne