Outils pour utilisateurs

Outils du site


disk_raid_transfert

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
disk_raid_transfert [2007/09/10 20:21] thierrydisk_raid_transfert [2011/07/27 16:56] (Version actuelle) thierry
Ligne 25: Ligne 25:
   # /etc/init.d/postfix start   # /etc/init.d/postfix start
   # /etc/init.d/bind9 start   # /etc/init.d/bind9 start
 +
  
  
Ligne 44: Ligne 45:
 Le pipe vers **''gzip''** et **''gunzip''** peut être jugé superflu et inutile dans certains cas... dépend du contenu du disk.\\ Le pipe vers **''gzip''** et **''gunzip''** peut être jugé superflu et inutile dans certains cas... dépend du contenu du disk.\\
 Le transfert démarre immediatement... et peut durer des heures... Une bonne nuit de sommeil pour moi. Le transfert démarre immediatement... et peut durer des heures... Une bonne nuit de sommeil pour moi.
 +
 +**Note** : **''dd if=/dev/hdb __bs=4k__ ...''** devrait etre beaucoup plus rapide... ;-)
 +
 +Sans oublier: __bs=4k__ de l'autre côté **''dd of=... ''**
  
 ====== de hd à sd ====== ====== de hd à sd ======
Ligne 130: Ligne 135:
 Je crois qu'un petit **''update-grub''** est le bienvenu quelque part...? Je crois qu'un petit **''update-grub''** est le bienvenu quelque part...?
  
-===== Agrandir le RAID =====+ 
 + 
 +====== Agrandir le RAID ======
 Voila, on donc un disk en **''sdb''** sur lequel on a booté.\\ Voila, on donc un disk en **''sdb''** sur lequel on a booté.\\
 On a un disk en **''sda''** qui est identique à **''sdb''** par sa taille physique (au moins). On a un disk en **''sda''** qui est identique à **''sdb''** par sa taille physique (au moins).
  
 Mais **''sda''** ne sert plus a rien: eventuellement l'unmounter. Mais **''sda''** ne sert plus a rien: eventuellement l'unmounter.
 +
 +
 +===== Ajouter sda au RAID =====
  
 Ecrasons **''sda''** ! Ecrasons **''sda''** !
Ligne 143: Ligne 153:
 Agrandir la partition principale (accessoirement celle sur laquelle on boot aussi): Agrandir la partition principale (accessoirement celle sur laquelle on boot aussi):
   # cfdisk /dev/sda   # cfdisk /dev/sda
-  - virer **''sda1''** +  - virer sda1 
-  - recreer **''sda1''** en prenant la place souhaité. (toute ?)+  - recreer sda1 en prenant la place souhaité. (toute ?)
   - BOOT activé   - BOOT activé
   - TYPE 0xfd (RAID autodetect)   - TYPE 0xfd (RAID autodetect)
Ligne 157: Ligne 167:
   # cat /proc/mdstat   # cat /proc/mdstat
  
-Lorsque **''/dev/sda1''** est totalement restauré.+Aprés quelques minutes, voir quelques heures: **''/dev/sda1''** est totalement restauré.
  
 Assurez-vous que la configuration est toujours en phase... Assurez-vous que la configuration est toujours en phase...
Ligne 170: Ligne 180:
  
  
-FIXME+===== Rebooter sur sda ===== 
 +Il faut rebooter sur **''sda''** : ca marche! on a presque fini :) 
 + 
 + 
 +===== Recreer sdb ==== 
 +On va recreer **''sdb''** avec les mêmes partitions que **''sda''**. 
 + 
 +D'abord, sortir **''sdb''** du RAID:\\ 
 +(le swap) 
 +  # mdadm /dev/md1 --fail /dev/sdb2 
 +  # mdadm /dev/md1 --remove /dev/sdb2 
 +(le reste du disk) 
 +  # mdadm /dev/md0 --fail /dev/sdb1 
 +  # mdadm /dev/md0 --remove /dev/sdb1 
 + 
 +Recreer les mêmes partitions: 
 +  # sfdisk -d /dev/sda | sfdisk /dev/sdb 
 +Remettre les partitions dans le RAID:\\ 
 +(le swap) 
 +  # mdadm /dev/md1 --add /dev/sdb2 
 +(le reste du disk) 
 +  # mdadm /dev/md0 --add /dev/sdb1 
 + 
 +Où en est-on ? 
 +  # cat /proc/mdstat 
 +Attendre la reconstruction pendant quelques heures... 
 + 
 + 
 +===== Agrandir le RAID (enfin) ===== 
 +Aprés plusieurs heures: 
 + 
 +Les partitions sont plus grandes... et alors ? 
 +  # mdadm --detail /dev/md0 
 +  ... 
 +   Array Size : 188708608 (179.97 GiB 193.22 GB) 
 +  Device Size : 388708608 (370.70 GiB 398.04 GB) 
 +  ... 
 + 
 +Agrandir ! 
 +  # mdadm --grow /dev/md0 -z max 
 +C'est fait pour la couche RAID. 
 + 
 +Et pour finir, la couche **''ext2/3''** : 
 +  # resize2fs /dev/md0 
 +  # mdadm --detail /dev/md0 
 +  ... 
 +   Array Size : 388708608 (370.70 GiB 398.04 GB) 
 +  Device Size : 388708608 (370.70 GiB 398.04 GB) 
 +  ... 
 + 
 +C'est fini ! 
 + 
 + 
 + 
 + 
 +====== RAID incomplet ====== 
 +On a installer Debian, en RAID 1, avec 1 seul disk. 
 +Maintenant, on aimerait bien le completer avec un 2ieme disk... 
 + 
 +===== Etat des lieux ===== 
 +Etat du RAID: 
 +  # cat /proc/mdstat 
 +  Personalities : [raid1] 
 +  md1 : active raid1 sda2[0] 
 +        292969280 blocks [1/1] [U] 
 +   
 +  md0 : active raid1 sda1[0] 
 +        248896 blocks [1/1] [U] 
 +1 seul disk, et c'est clean: 
 +  # mdadm --detail /dev/md0 
 +    /dev/md0: 
 +          Version : 00.90.03 
 +    Creation Time : Thu Jul 31 00:49:36 2008 
 +       Raid Level : raid1 
 +       Array Size : 248896 (243.10 MiB 254.87 MB) 
 +      Device Size : 248896 (243.10 MiB 254.87 MB) 
 +     Raid Devices : 1 
 +    Total Devices : 1 
 +  Preferred Minor : 0 
 +      Persistence : Superblock is persistent 
 +   
 +      Update Time : Tue Aug 26 06:26:09 2008 
 +            State : clean 
 +   Active Devices : 1 
 +  Working Devices : 1 
 +   Failed Devices : 0 
 +    Spare Devices : 0 
 + 
 +             UUID : 32d9f08e:22d09170:1b5fc4cb:76531e6b 
 +           Events : 0.10 
 + 
 +      Number   Major   Minor   RaidDevice State 
 +                      1        0      active sync   /dev/sda1 
 + 
 +Soit, donc:  
 +  * **"/dev/sda"**  qui est le disk deja en place et qui va bien. 
 +  * **"/dev/sdb"**  qui est le disk qu'on rajoute. 
 + 
 +===== copier structure des partitions ===== 
 +Voyons l'etat des partitions de **''/dev/sda''** : 
 +  # sfdisk -d /dev/sda 
 +  # partition table of /dev/sda 
 +  unit: sectors 
 +   
 +  /dev/sda1 : start=       63, size=   497952, Id=fd, bootable 
 +  /dev/sda2 : start=   498015, size=585938745, Id=fd 
 +  /dev/sda3 : start=586436760, size=194980905, Id=8e 
 +  /dev/sda4 : start=        0, size=        0, Id= 0 
 + 
 +Les 2 disks etant identiques, donc, on va faire simple...\\ 
 +On copie a la structure des partitions: 
 +  # sfdisk -d /dev/sda | sfdisk /dev/sdb 
 +  Checking that no-one is using this disk right now ... 
 +  OK 
 +  ... <snip> ... 
 +  Successfully wrote the new partition table 
 +   
 +  Re-reading the partition table ... 
 + 
 +===== ajouter partition ===== 
 +==== mauvaise piste ==== 
 +Ajouter une partition dans le RAID... 
 +  # mdadm /dev/md0 --add /dev/sdb1 
 +  mdadm: added /dev/sdb1 
 +Etat du RAID ? 
 +  # cat /proc/mdstat 
 +  Personalities : [raid1] 
 +  md1 : active raid1 sda2[0] 
 +        292969280 blocks [1/1] [U] 
 +   
 +  md0 : active raid1 sdb1[1](S) sda1[0] 
 +        248896 blocks [1/1] [U] 
 +   
 +  unused devices: <none> 
 +Hu ? c'est quoi ce **''(S)''** ? 
 +  # mdadm --detail /dev/md0 
 +  /dev/md0: 
 +          Version : 00.90.03 
 +    Creation Time : Thu Jul 31 00:49:36 2008 
 +       Raid Level : raid1 
 +       Array Size : 248896 (243.10 MiB 254.87 MB) 
 +      Device Size : 248896 (243.10 MiB 254.87 MB) 
 +     Raid Devices : 1 
 +    Total Devices : 2 
 +  Preferred Minor : 0 
 +      Persistence : Superblock is persistent 
 +   
 +      Update Time : Tue Aug 26 06:26:09 2008 
 +            State : clean 
 +   Active Devices : 1 
 +  Working Devices : 2 
 +   Failed Devices : 0 
 +    Spare Devices : 1 
 +   
 +             UUID : 32d9f08e:22d09170:1b5fc4cb:76531e6b 
 +           Events : 0.10 
 +   
 +      Number   Major   Minor   RaidDevice State 
 +                      1        0      active sync   /dev/sda1 
 +   
 +                     17        -      spare   /dev/sdb1 
 + 
 +Ah ouai, le disk est dans le **''spare''** : en secours, en attente d'etre assembler au RAID... 
 + 
 +Donc, je retire: 
 +  # mdadm /dev/md0 --remove /dev/sdb1 
 + 
 + 
 +==== "agrandir" le raid ==== 
 +En fait, augmenter le nombre de device actif ! actuellement il n'y a qu'un disk, et il en faut 2 (pour le RAID1) ! 
 + 
 +Augmentons le nombre de "active device": 
 +  # mdadm --grow /dev/md0 -n 2 
 +Verifions: 
 +  # cat /proc/mdstat 
 +  Personalities : [raid1] 
 +  md1 : active raid1 sda2[0] 
 +        292969280 blocks [1/1] [U] 
 +   
 +  md0 : active raid1 sda1[0] 
 +        248896 blocks [2/1] [U_] 
 +   
 +  unused devices: <none> 
 +Ah, ca ressemble a quelque chose que je connais :-) 
 + 
 +Faisons la meme chose pour **''/dev/md1''** 
 +  # mdadm --grow /dev/md1 -n 2 
 +Parfait. 
 + 
 +==== Ajoutons partitions ! ==== 
 +  # mdadm /dev/md0 --add /dev/sdb1 
 +  mdadm: re-added /dev/sdb1 
 +Verifions: 
 +  # cat /proc/mdstat 
 +  Personalities : [raid1] 
 +  md1 : active raid1 sda2[0] 
 +        292969280 blocks [2/1] [U_] 
 +   
 +  md0 : active raid1 sdb1[1] sda1[0] 
 +        248896 blocks [2/2] [UU] 
 +   
 +  unused devices: <none> 
 +Yes! 
 + 
 +L'autre maintenant: 
 +  # mdadm /dev/md1 --add /dev/sdb2 
 +  mdadm: added /dev/sdb2 
 + 
 +  # cat /proc/mdstat 
 +  Personalities : [raid1] 
 +  md1 : active raid1 sdb2[2] sda2[0] 
 +        292969280 blocks [2/1] [U_] 
 +        [>....................]  recovery =  0.0% (83264/292969280) finish=117.2min speed=41632K/sec 
 +   
 +  md0 : active raid1 sdb1[1] sda1[0] 
 +        248896 blocks [2/2] [UU] 
 +   
 +  unused devices: <none> 
 + 
 +En cours de remontage... super. 
 + 
 + 
 + 
 + 
 +===== Configurer ===== 
 +Maintenant, il faut completer la configuration, sinon, le prochain reboot risque d'être curieux. 
 + 
 +Editer le fichier **''/etc/mdadm/mdadm.conf''** afin que le nombre de device soit **''2''**. Exemple: 
 +  ARRAY /dev/md0 level=raid1 num-devices=2 UUID=32d9f08e:22d09170:1b5fc4cb:76531e6b 
 +  ARRAY /dev/md1 level=raid1 num-devices=2 UUID=1f25f923:59abea04:4ea8b7e2:21f680e2 
 + 
 +En fait, ca doit ressembler a ce que la commande suivante produit comme sortie:  
 +  # mdadm --detail --scan 
 +  ARRAY /dev/md0 level=raid1 num-devices=2 UUID=32d9f08e:22d09170:1b5fc4cb:76531e6b 
 +  ARRAY /dev/md1 level=raid1 num-devices=2 UUID=1f25f923:59abea04:4ea8b7e2:21f680e2 
 +(Il y a peut etre un **"spares=1"** en trop, vu que le RAID est en train de remonter....) 
 + 
 + 
 + 
 + 
 +===== Boot ===== 
 +Il faut rendre "bootable" ce disk, on pourra ainsi booter sur l'un ou l'autre disque, en cas de panne. 
 + 
 +Il faut bien annoncer a "Grub" qu'un nouveau disk bootable...\\ 
 +Editer le fichier **''/boot/grub/device.map''** , afin d'avoir (par exemple): 
 +  (hd0)   /dev/sda 
 +  (hd1)   /dev/sdb 
 + 
 +On peut alors suivre [[disk_raid#methode_1b|cette procedure]] pour rendre le disk bootable. 
 + 
 +| :!: | Attendre que le RAID soit remonté pour jouer avec ''grub'' (sinon, ca deconne un peu) | 
disk_raid_transfert.1189455675.txt.gz · Dernière modification : 2007/09/10 20:21 de thierry