| AccueilCalendrierVenir aux réunionsContactsMembresDocumentationsLiens Forbach (57) Metz (57) Ventron (88) BacASable |
MirabellugWikiRaid1SoftRAID1 utilisable de facon softIl existe bien sur des cartes spécialisées pour ce genre de traitement, mais linux permet de le faire de facon soft avec en plus des performances correctes.Installation de Linux !Si votre Système Linux n'est pas installé, nous allons devoir d'abord faire une installation de Debian Sarge. Pour le reste de ce document, nous partirons du postulat qu'une Debian Sarge (ou superieure) est déja installé sur votre machine.Dans cette exemple, au départ j'ai 3 partitions, une de 100 Mo de swap (hda1), 170 Mo pour /home (hda2) et 800 Mo pour / (hda3). Ajout d'un Disque durNotre premier disque est généralement en hda (cas d'un bus IDE). Pour des questions de performance et en cas de perte non pas d'un disque mais d'un controlleur IDE, le disque mirroir sera connecté en hdc.Configuration du RAID1 au niveau du noyauPour vérifier le RAID1 :cat /proc/mdstat si la réponse est : ~# cat /proc/mdstat cat: /proc/mdstat: Aucun fichier ou répertoire de ce type il va falloir charger les modules du noyau. ~# modprobe md ~# modprobe raid1 ~# cat /proc/mdstat Personalities : [raid1] read_ahead not set unused devices: <none> Cette fois c'est bon les modules sont bien chargés. Pour qu'il le soient également au redémarrage, nous allons les ajouter dans le fichier /etc/modules (md et raid1) ensuite afin d'administrer correctement le raid1, nous avon besoin d'installer mdadm (rien de plus simple avec apt) apt-get install mdadm C'est terminé pour cette partie, nous avons tout en place pour configurer notre RAID1 Configuration du RAID1Les 2 disques doivent avoir des partitions exactement identiques donc soit les 2 disques ont la même taille, ou un peu être plus grand mais l'esapce maximum qui sera dans le mirroir sera l'espace du plus petit disque.Il nous faux donc récupérer le partitionnement du premier disque (hda) et refaire les partitions à l'identique sur le second. Dans le cas de disque différents, on utilisera cfdisk. Si les disques sont les même, on pourra faire : sfdisk -d /dev/hda | sfdisk /dev/hdc il faut ensuite changer la signature du type des partitions sur ce disque avec cfdisk pour la passer en Linux RAID autodetected le type est fd. Seule la partition de swap restera en type swap. Nous verrons par la suite comment cela est géré. ![]() Nous allon maintenant ajouter le device correspondant au RAID1. Si le disque contient déja une signature RAID, il conviendra d'effacer cell-ci avec la commande suivante (dans mon cas je n'ai que 2 partitions hdc2 et hdc3): mdadm --zero-superblock /dev/hdc2 mdadm --zero-superblock /dev/hdc3 L'ajout du device peut alors s'effecture : mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/hdc2 mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/hdc3 En effet nous n'ajoutons pour le moment qu'un seul disque (hdc2) dans notre RAID, puisque nous voulons récupérer les données de l'ancien disque. Maintenant nous allons formater nos différentes partitions raid : mkfs.ext3 /dev/md0 mkfs.etx3 /dev/md0 Bien sur, nous aurions pu formater ces partitions autrement qu'en ext3 (reiserfs ...) Récupération de l'ancien système DebianAvant d'activer complètement notre RAID, il va falloir y recopier les données de notre système Debian déja installé. IL faut donc monter les partitions du RAID et ensuite y recopier nos données.mount /dev/md1 /mnt cp -dpRx / /mnt mount /dev/md0 /mnt/home cp -dpRx /home /mnt/home Attention, car maintenant nous n'avons pas un système fini et dans les modifs a venir dans les fichiers, il faudra aussi copier vers notre système dans /mnt Modification de la fstab pour rebooter avec le RAIDil faut maintenant modifier le fichier /mnt/etc/fstab pour utilser les partitions RAID (il n'est pas nécessaire de modifier /etc/fstab puisque nous n'allons pas booter en utlisant cette partition). Nous allons également utiliser la deuxième partition de swap :![]() Modification du chargeur de démarrageLe noyau fourni en standard par debian utilise initrd. il va donc falloir créer un nouvel initrd qui contiendra les modules pour le RAID. Nous allons donc modifier le fichier /etc/mkinitrd/modules et ajouter comme dans le fichier /etc/modules les modules md et raid1Il faut ensuite éditer le fichier /etc/mkinitrd/mkinitrd.conf et modifier cette ligne : ROOT=/dev/md0 # (ancienement : ROOT=probe) on peut ensuite regénrer un nouvel initrd : mkinitrd -o /boot/initrd.img-2.4.27-raid cp -dp /boot/initrd.img-2.4.27-raid /mnt/boot Il faut pour finir modifier le fichier de configuration de GRUB (sur les 2 disques !!!) donc déja /boot/grub/menu.lst title Debian GNU/Linux, kernel 2.4.27-2-686 RAID root (hd0,2) kernel /boot/vmlinuz-2.4.27-2-686 root=/dev/md0 ro initrd /boot/initrd.img-2.4.27-raid savedefault boot on recopie ensuite le fichier de configuration vers l'autre disque : cp -dp /boot/grub/menu.lst /mnt/boot/grub/menu.lst Il faut également installer grub sur l'autre disque et faire croire à grub que hdc et hda sont équivalent à hd0 pour que le système puisse booter même si le disque hda n'est pas présent. (attention il y a un ofset de 1 entre grub et linux au niveau de la numéroatation, donc la partition / : hda3 et en hd0,2 selon grub). ~# grub-install /dev/hdc ~# grub grub> device (hd0) /dev/hdc grub> root (hd0,2) grub> setup (hd0) grub> quit Maintenant nous pouvons rebooter notre système pour utiliser le RAID Si tout se passe bien : ![]() On voit qu'il n'y a qu'un seul disque d'actif (le [_U]) il faut maintenant ajouter le permier disque Formatage de hda et utilisation comme disque dans notre RAIDComme pour hdc, il faut maintenant modifier le type des partitions pour hda avec cfdisk pour les mettre en Linux RAID autodetected soit le type fd.On peut maintenant ajouter nos partitions dans l'ensemble RAID il faut attendre la fin de la synchronisation des disques avant de passer à la suite: mdadm --add /dev/md0 /dev/hda2 mdadm --add /dev/md1 /dev/hda3 Les disques vont alors se synchroniser. Pour connaitre l'état de la synchronisation (pourcentage d'avancement), il suffit de faire : %Êt /proc/mdstat ====Reconstruction d'un initrd==== C'est assez important, il va falloi reconstuire un initrd. En effet, la commande ##mkinitrd## crée un initrd un utilisant ##mdadm -D## pour trouver les différents ensembles RAID. Or ##hda2## et ##hda3## ne faisait pas partie du RAID et donc si l'on rebootait maintenant le disque ##hda## serait en "failure". C'est fini ! et ca doit fonctionner : ====Tests==== pour tester si cela fonctionne, il suffit de déconnecter un des disques ou sinon de faire la manip suivante : mdadm --fail /dev/md0 /dev/hda3 En principe l'utilisateur root est prévenu par mail (attention à l'installation de debian les mails de root sont renvoyés sur un autre compte). Vérifiez ensuite que tout fonctionne même avec un disque ! On peut remettre les disques dans le raid avec : mdadm -a /dev/md1 /dev/hda3 ====Optimisation==== Il reste possible d'optimiser un RAID comme d'habitude avec hdparm hdparm -c3 -d1 /dev/hda /dev/hdc %% That's All Folks
Il n'y a pas de commentaire sur cette page.
[Afficher commentaires/formulaire]
|