Differences

This shows you the differences between two versions of the page.

Link to this comparison view

linux:raid_soft_sous_linux [2010/01/12 13:29] (current)
Line 1: Line 1:
 +Le raid soft, est une technique de mirroring. Toutes les donnees ecrites sur un disque sont inscrites d'une facon similaire sur un autre. En cas de panne, les donnees seront lues depuis le second disque. Attention, il s'agit d'une technique visant a couvrir des risques de panne des disques et non du systeme.
 +
 +
 +
 +Nous supposerons que le disque est decoupe de la maniere suivante :
 +
 +/dev/hda1 /
 +
 +/dev/hda2 SWAP
 +
 +/dev/hda3 /home
 +
 +/dev/hda5 /usr
 +
 +/dev/hda6 /tmp
 +
 +/dev/hda7 /var
 +
 +Pour commencer, il faut installer les outils propres au Raid. Pour cela, executez la commande suivante si vous etes sous Debian:
 +
 +apt-get install raidtools2
 +
 +Les differents patch pour les kernels se situent sur ftp://​ftp.kernel.org/​pub/​linux/​daemons/​raid/​alpha ou http://​download.unesp.br/​linux/​debian/​pool/​main/​r/​raidtools2/​
 +
 +Pour verifier si votre kernel supporte correctement le raid, vous pouvez visualiser le fichier /​proc/​mdstat qui contient toutes les informations relatives au raid. Actuellement,​ il ressemble a ceci :
 +
 +Personalities : [raid1]
 +
 +read_ahead not set
 +
 +unused devices:
 +
 +Il convient egalement de remplir le fichier /​etc/​raidtab qui contient toutes les informations necessaires a la construction du raid, comme indique ci-dessous:
 +
 +# /
 +
 +raiddev /dev/md0
 +
 +raid-level 1
 +
 +nr-raid-disks 2
 +
 +chunk-size 32
 +
 +nr-spare-disks 0
 +
 +persistent-superblock 1
 +
 +device /dev/hdb1
 +
 +raid-disk 0
 +
 +device /dev/hda1
 +
 +failed-disk 1
 +
 +# swap
 +
 +raiddev /dev/md1
 +
 +raid-level 1
 +
 +nr-raid-disks 2
 +
 +chunk-size 32
 +
 +nr-spare-disks 0
 +
 +persistent-superblock 1
 +
 +device /dev/hdb2
 +
 +raid-disk 0
 +
 +device /dev/hda2
 +
 +failed-disk 1
 +
 +# /home
 +
 +raiddev /dev/md2
 +
 +raid-level 1
 +
 +nr-raid-disks 2
 +
 +chunk-size 32
 +
 +nr-spare-disks 0
 +
 +persistent-superblock 1
 +
 +device /dev/hdb3
 +
 +raid-disk 0
 +
 +device /dev/hda3
 +
 +failed-disk 1
 +
 +# /usr
 +
 +raiddev /dev/md3
 +
 +raid-level 1
 +
 +nr-raid-disks 2
 +
 +chunk-size 32
 +
 +nr-spare-disks 0
 +
 +persistent-superblock 1
 +
 +device /dev/hdb5
 +
 +raid-disk 0
 +
 +device /dev/hda5
 +
 +failed-disk 1
 +
 +# /tmp
 +
 +raiddev /dev/md4
 +
 +raid-level 1
 +
 +nr-raid-disks 2
 +
 +chunk-size 32
 +
 +nr-spare-disks 0
 +
 +persistent-superblock 1
 +
 +device /dev/hdb6
 +
 +raid-disk 0
 +
 +device /dev/hda6
 +
 +failed-disk 1
 +
 +# /var
 +
 +raiddev /dev/md5
 +
 +raid-level 1
 +
 +nr-raid-disks 2
 +
 +chunk-size 32
 +
 +nr-spare-disks 0
 +
 +persistent-superblock 1
 +
 +device /dev/hdb7
 +
 +raid-disk 0
 +
 +device /dev/hda7
 +
 +failed-disk 1
 +
 +Il faut maintenant activer les partitions Raid et les initialiser :
 +
 +mknod /dev/md4 b 9 4
 +
 +mknod /dev/md5 b 9 5
 +
 +mkraid --really-force /dev/md0
 +
 +mkraid --really-force /dev/md1
 +
 +mkraid --really-force /dev/md2
 +
 +mkraid --really-force /dev/md3
 +
 +mkraid --really-force /dev/md4
 +
 +mkraid --really-force /dev/md5
 +
 +mke2fs /dev/md0
 +
 +mkswap /dev/md1
 +
 +mke2fs /dev/md2
 +
 +mke2fs /dev/md3
 +
 +mke2fs /dev/md4
 +
 +mke2fs /dev/md5
 +
 +Il faut maintenant monter toutes les partitions Raid pour y copier le contenu de /dev/hda
 +
 +mkdir /mnt/md
 +
 +mount -t ext2 /dev/md0 /mnt/md
 +
 +mkdir /​mnt/​md/​home
 +
 +mount -t ext2 /dev/md2 /​mnt/​md/​home
 +
 +mkdir /mnt/md/usr
 +
 +mount -t ext2 /dev/md3 /mnt/md/usr
 +
 +mkdir /mnt/md/tmp
 +
 +mount -t ext2 /dev/md4 /mnt/md/tmp
 +
 +mkdir /mnt/md/var
 +
 +mount -t ext2 /dev/md5 /mnt/md/var
 +
 +mkdir /​mnt/​md/​proc
 +
 +mkdir /mnt/md/mnt
 +
 +mkdir /​mnt/​md/​mnt/​cdrom
 +
 +mkdir /​mnt/​md/​mnt/​floppy
 +
 +cd /
 +
 +tar zcvf /​tmp/​img.tar.gz bin boot dev etc home initrd lib root sbin usr var
 +
 +cd /mnt/md
 +
 +tar zxvf /​tmp/​img.tar.gz
 +
 +chmod 777 /mnt/md/tmp
 +
 +Il faut maintenant modifier le /etc/fstab et le /​mnt/​md/​etc/​fstab pour que le systeme puisse attaquer directement les partitions Raid.
 +
 +# /etc/fstab: static file system information.
 +
 +#
 +
 +#
 +
 +/dev/md0 / ext2 defaults,​errors=remount-ro 0 1
 +
 +/dev/md1 none swap sw 0 0
 +
 +proc /proc proc defaults 0 0
 +
 +/dev/fd0 /floppy auto defaults,​user,​noauto 0 0
 +
 +/dev/cdrom /cdrom iso9660 defaults,​ro,​user,​noauto 0 0
 +
 +/dev/md2 /home ext2 rw 0 2
 +
 +/dev/md3 /usr ext2 rw 0 2
 +
 +/dev/md4 /tmp ext2 rw 0 2
 +
 +/dev/md5 /var ext2 rw 0 2
 +
 +Il faut maintenant remplacer le type de toutes les partitions de /dev/hdb ( 82 et 83 ), par FD , Linux raid autodetec, avec la commande cfdisk /dev/hdb.
 +
 +Il est ensuite necessaire de creer une disquette de boot :
 +
 +dd if=/​boot/​vmlinuz-2.4.9 of=/dev/fd0 bs=2k
 +
 +rdev /dev/fd0 /dev/md0
 +
 +rdev -r /dev/fd0 0
 +
 +rdev -R /dev/fd0 1
 +
 +Enfin, il faut demonter les partitions et arreter le Raid avant de rebooter la machine.
 +
 +umount /mnt/md/var
 +
 +umount /mnt/md/usr
 +
 +umount /mnt/md/tmp
 +
 +umount /​mnt/​md/​home
 +
 +umount /mnt/md
 +
 +raidstop /dev/md5
 +
 +raidstop /dev/md4
 +
 +raidstop /dev/md3
 +
 +raidstop /dev/md2
 +
 +raidstop /dev/md1
 +
 +raidstop /dev/md0
 +
 +Maintenant que la machine a ete rebootee, il faut modifier le fichier /​etc/​raidtab et remplacer tous les failed- disk par raid-disk pour obtenir :
 +
 +# /
 +
 +raiddev /dev/md0
 +
 +raid-level 1
 +
 +nr-raid-disks 2
 +
 +chunk-size 32
 +
 +nr-spare-disks 0
 +
 +persistent-superblock 1
 +
 +device /dev/hdb1
 +
 +raid-disk 0
 +
 +device /dev/hda1
 +
 +raid-disk 1
 +
 +# swap
 +
 +raiddev /dev/md1
 +
 +raid-level 1
 +
 +nr-raid-disks 2
 +
 +chunk-size 32
 +
 +nr-spare-disks 0
 +
 +persistent-superblock 1
 +
 +device /dev/hdb2
 +
 +raid-disk 0
 +
 +device /dev/hda2
 +
 +raid-disk 1
 +
 +# /home
 +
 +raiddev /dev/md2
 +
 +raid-level 1
 +
 +nr-raid-disks 2
 +
 +chunk-size 32
 +
 +nr-spare-disks 0
 +
 +persistent-superblock 1
 +
 +device /dev/hdb3
 +
 +raid-disk 0
 +
 +device /dev/hda3
 +
 +raid-disk 1
 +
 +# /usr
 +
 +raiddev /dev/md3
 +
 +raid-level 1
 +
 +nr-raid-disks 2
 +
 +chunk-size 32
 +
 +nr-spare-disks 0
 +
 +persistent-superblock 1
 +
 +device /dev/hdb5
 +
 +raid-disk 0
 +
 +device /dev/hda5
 +
 +raid-disk 1
 +
 +# /tmp
 +
 +raiddev /dev/md4
 +
 +raid-level 1
 +
 +nr-raid-disks 2
 +
 +chunk-size 32
 +
 +nr-spare-disks 0
 +
 +persistent-superblock 1
 +
 +device /dev/hdb6
 +
 +raid-disk 0
 +
 +device /dev/hda6
 +
 +raid-disk 1
 +
 +# /var
 +
 +raiddev /dev/md5
 +
 +raid-level 1
 +
 +nr-raid-disks 2
 +
 +chunk-size 32
 +
 +nr-spare-disks 0
 +
 +persistent-superblock 1
 +
 +device /dev/hdb7
 +
 +raid-disk 0
 +
 +device /dev/hda7
 +
 +raid-disk 1
 +
 +Il faut enfin changer le type de toutes les partitions de /dev/hda ( 82, 83 ) par FD (de la meme facon que pour /dev/hdb) grace a la commande cfdisk /dev/hda.
 +
 +Il faut ensuite rebooter avec la disquette.
 +
 +Il faut maintenant modifier le fichier etc/​lilo.conf pour lui preciser qu'il doit attaquer les partitions Raid. Pour cela, il faut remplacer les lignes
 +
 +boot=/​dev/​hda
 +
 +root=/​dev/​hda1
 +
 +par
 +
 +boot=/​dev/​md0
 +
 +root=/​dev/​md0
 +
 +et activer le lilo par
 +
 +lilo -v
 +
 +Il est temps d'​activer le Raid grace a:
 +
 +raidhotadd /dev/md0 /dev/hda1
 +
 +raidhotadd /dev/md1 /dev/hda2
 +
 +raidhotadd /dev/md2 /dev/hda3
 +
 +raidhotadd /dev/md3 /dev/hda5
 +
 +raidhotadd /dev/md4 /dev/hda6
 +
 +raidhotadd /dev/md5 /dev/hda7
 +
 +Il convient egalement d'​installer le MBR sur le deuxieme disque grace a la commande
 +
 +install-mbr /dev/hdb
  
linux/raid_soft_sous_linux.txt ยท Last modified: 2010/01/12 13:29 (external edit)