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édentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
tutoriel:raid1_logiciel_sur_installation_existante [Le 18/05/2010, 17:10]
blueduck
tutoriel:raid1_logiciel_sur_installation_existante [Le 15/06/2017, 13:30]
82.232.236.21 [Liens]
Ligne 1: Ligne 1:
 {{tag>​Lucid RAID tutoriel BROUILLON}} {{tag>​Lucid RAID tutoriel BROUILLON}}
 +
 +----
 +
 ====== Configurer un RAID 1 logiciel sur une installation existante ====== ====== Configurer un RAID 1 logiciel sur une installation existante ======
  
Ligne 7: Ligne 10:
 </​note>​ </​note>​
  
-== Objectif ==+===== Préambule ===== 
 + 
 +==== Objectif ​====
  
 J'​explique dans ce tutoriel la marche à suivre pour ajouter un disque dur en RAID 1 logiciel sur une installation existante de Ubuntu Server Lucid Lynx (10.04), version 32 bits. J'​explique dans ce tutoriel la marche à suivre pour ajouter un disque dur en RAID 1 logiciel sur une installation existante de Ubuntu Server Lucid Lynx (10.04), version 32 bits.
  
-== Limite de responsabilité ==+==== Limite de responsabilité ​====
  
 Plutôt qu'un véritable guide, il s'agit d'une synthèse des étapes par lesquelles je suis moi-même passé pour y parvenir. N'​étant pas du tout un spécialiste de la question, je ne fournis aucune garantie sur le résultat que vous pourriez obtenir en suivant ces instructions ;​ vous êtes prévenus que certaines d'​entre elles peuvent rendre votre système inutilisable et vous contraindre à le réinstaller. Je vous invite vivement à faire une sauvegarde complète de vos données avant de commencer. Plutôt qu'un véritable guide, il s'agit d'une synthèse des étapes par lesquelles je suis moi-même passé pour y parvenir. N'​étant pas du tout un spécialiste de la question, je ne fournis aucune garantie sur le résultat que vous pourriez obtenir en suivant ces instructions ;​ vous êtes prévenus que certaines d'​entre elles peuvent rendre votre système inutilisable et vous contraindre à le réinstaller. Je vous invite vivement à faire une sauvegarde complète de vos données avant de commencer.
  
-== Sources ==+==== Sources ​====
  
 Ce tutoriel est très largement basé sur celui de Falko Timme que vous trouverez à cette adresse : http://​www.howtoforge.com/​software-raid1-grub-boot-debian-etch. Ce tutoriel est très largement basé sur celui de Falko Timme que vous trouverez à cette adresse : http://​www.howtoforge.com/​software-raid1-grub-boot-debian-etch.
 Je l'ai traduit, légèrement adapté pour Ubuntu 10.04, et actualisé pour ce qui concerne la configuration de [[:​grub-pc|GRUB2]]. Je l'ai traduit, légèrement adapté pour Ubuntu 10.04, et actualisé pour ce qui concerne la configuration de [[:​grub-pc|GRUB2]].
 +
 ===== Pré-requis ===== ===== Pré-requis =====
  
Ligne 31: Ligne 37:
 J'​avais au préalable copié l'​intégralité du disque ''​sda''​ sur un autre ordinateur (je sais, je l'ai déjà dit, mais il faut vraiment sauvegarder vos données). J'​avais au préalable copié l'​intégralité du disque ''​sda''​ sur un autre ordinateur (je sais, je l'ai déjà dit, mais il faut vraiment sauvegarder vos données).
 </​note>​ </​note>​
 +
 ===== Notes préliminaires ===== ===== Notes préliminaires =====
  
Ligne 50: Ligne 57:
 Voici donc la situation actuelle : Voici donc la situation actuelle :
  
-  ​blueduck@serveur:​~$ df -h+<​code>​ 
 +blueduck@serveur:​~$ df -h
  
-  ​Sys. de fich.        Tail.   Occ. Disp. %Occ. Monté sur +Sys. de fich.        Tail.   Occ. Disp. %Occ. Monté sur 
-  /​dev/​sda1 ​             39G  7,2G   ​30G ​   20% / +/​dev/​sda1 ​             39G  7,2G   ​30G ​   20% / 
-  none                  244M  200K  244M     1% /dev +none                  244M  200K  244M     1% /dev 
-  none                  249M  4,0K  249M     1% /dev/shm +none                  249M  4,0K  249M     1% /dev/shm 
-  none                  249M  352K  249M     1% /var/run +none                  249M  352K  249M     1% /var/run 
-  none                  249M     ​0 ​ 249M     0% /var/lock +none                  249M     ​0 ​ 249M     0% /var/lock 
-  none                  249M     ​0 ​ 249M     0% /​lib/​init/​rw +none                  249M     ​0 ​ 249M     0% /​lib/​init/​rw 
-  none                   ​39G ​ 7,2G   ​30G ​   20% /​var/​lib/​ureadahead/​debugfs +none                   ​39G ​ 7,2G   ​30G ​   20% /​var/​lib/​ureadahead/​debugfs 
-  /​dev/​sda2 ​            ​420G ​ 367G   ​32G ​   93% /multimedia+/​dev/​sda2 ​            ​420G ​ 367G   ​32G ​   93% /multimedia
  
-  ​blueduck@serveur:​~$ sudo fdisk -l+blueduck@serveur:​~$ sudo fdisk -l
  
-  ​Disque /dev/sda: 500.1 Go, 500107862016 octets +Disque /dev/sda: 500.1 Go, 500107862016 octets 
-  255 têtes, 63 secteurs/​piste,​ 60801 cylindres +255 têtes, 63 secteurs/​piste,​ 60801 cylindres 
-  Unités = cylindres de 16065 * 512 = 8225280 octets +Unités = cylindres de 16065 * 512 = 8225280 octets 
-  Sector size (logical/​physical):​ 512 bytes / 512 bytes +Sector size (logical/​physical):​ 512 bytes / 512 bytes 
-  I/O size (minimum/​optimal):​ 512 bytes / 512 bytes +I/O size (minimum/​optimal):​ 512 bytes / 512 bytes 
-  Identifiant de disque : 0x000860a2+Identifiant de disque : 0x000860a2
   ​   ​
-  ​Périphérique Amorce ​ Début ​       Fin      Blocs     ​Id ​ Système +Périphérique Amorce ​ Début ​       Fin      Blocs     ​Id ​ Système 
-  /​dev/​sda1 ​  ​* ​          ​1 ​       5099    40957686 ​  ​83 ​ Linux +/​dev/​sda1 ​  ​* ​          ​1 ​       5099    40957686 ​  ​83 ​ Linux 
-  /​dev/​sda2 ​           5100       ​60670 ​  ​446374057+ ​ 83  Linux +/​dev/​sda2 ​           5100       ​60670 ​  ​446374057+ ​ 83  Linux 
-  /​dev/​sda3 ​          ​60671 ​      ​60801 ​    ​1052257+ ​ 82  Linux swap / Solaris+/​dev/​sda3 ​          ​60671 ​      ​60801 ​    ​1052257+ ​ 82  Linux swap / Solaris
   ​   ​
-  ​Disque /dev/sdb: 500.1 Go, 500107862016 octets +Disque /dev/sdb: 500.1 Go, 500107862016 octets 
-  255 têtes, 63 secteurs/​piste,​ 60801 cylindres +255 têtes, 63 secteurs/​piste,​ 60801 cylindres 
-  Unités = cylindres de 16065 * 512 = 8225280 octets+Unités = cylindres de 16065 * 512 = 8225280 octets
   ​   ​
-  ​Le disque /dev/sdb ne contient pas une table de partition valide+Le disque /dev/sdb ne contient pas une table de partition valide 
 +</​code>​ 
 ===== Installer mdadm ===== ===== Installer mdadm =====
-Il faut installer ''​mdadm''​ pour configurer le RAID. Tapez : 
-  blueduck@serveur:​~$ sudo aptitude install mdadm 
-ou cliquez sur ce lien : **[[apt://​mdadm|mdadm]]**. 
  
-Puis, exécutez : +Il faut [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt://​mdadm|mdadm]]** pour configurer le RAID. 
-  ​blueduck@serveur:​~$ ​sudo cat /​proc/​mdstat+ 
 +Puis, après avoir redémarré votre machine, exécutez : 
 + 
 +  sudo cat /​proc/​mdstat 
 ce qui devrait vous afficher quelque chose comme : ce qui devrait vous afficher quelque chose comme :
-  ​Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] + 
-  unused devices: <​none>​+<​file>​ 
 +Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
 +unused devices: <​none>​ 
 +</​file>​ 
 ===== Préparer le second disque dur ===== ===== Préparer le second disque dur =====
  
-==== Clôner ​la table des partitions ====+==== Cloner ​la table des partitions ==== 
 Afin d'​être sûr que le second disque dur (''/​dev/​sdb''​) sera divisé en partitions absolument identiques à celles du premier disque dur (''/​dev/​sda''​),​ on clône la table des partitions du premier pour l'​appliquer au second : Afin d'​être sûr que le second disque dur (''/​dev/​sdb''​) sera divisé en partitions absolument identiques à celles du premier disque dur (''/​dev/​sda''​),​ on clône la table des partitions du premier pour l'​appliquer au second :
-  blueduck@serveur:​~$ sudo sfdisk -d /dev/sda | sfdisk /dev/sdb 
-Ce qui doit provoquer l'​affichage suivant : 
-  Vérification qu'​aucun autre n'​utilise le disque en ce moment ... 
-  OK 
-  ​ 
-  Disque /dev/sdb : 60801 cylindres, 255 têtes, 63 secteurs/​piste 
-  Vieille situation: 
-  Unités= cylindres de 8225280 octets, blocs de 1024 octets, décompte à partir de 0 
-  ​ 
-     ​Périph Amor Début ​    ​Fin ​  #​cyls ​   #​blocs ​   Id  Système 
-  /​dev/​sdb1 ​         0       ​- ​      ​0 ​         0    0  Vide 
-  /​dev/​sdb2 ​         0       ​- ​      ​0 ​         0    0  Vide 
-  /​dev/​sdb3 ​         0       ​- ​      ​0 ​         0    0  Vide 
-  /​dev/​sdb4 ​         0       ​- ​      ​0 ​         0    0  Vide 
   ​   ​
-  ​Nouvelle ​situation:​ +  ​sudo sfdisk -d /dev/sda | sudo sfdisk /dev/sdb 
-  Unités= secteurs de 512 octets, décompte à partir de 0 + 
-   +Ce qui doit provoquer l'​affichage suivant : 
-     ​Périph Amorce ​ Début ​      ​Fin ​  #​secteurs Id  Système + 
-  /​dev/​sdb1 ​  ​* ​       63  81915434 ​  ​81915372 ​ 83  Linux +<​file>​ 
-  /​dev/​sdb2 ​     81915435 974663549 ​ 892748115 ​ 83  Linux +Vérification qu'​aucun autre n'​utilise le disque en ce moment ... 
-  /​dev/​sdb3 ​    ​974663550 976768064 ​   2104515 ​ 82  Linux swap / Solaris +OK 
-  /​dev/​sdb4 ​            ​0 ​        ​- ​         0   ​0 ​ Vide + 
-  Succès d'​écriture de la nouvelle table de partitions +Disque /dev/sdb : 60801 cylindres, 255 têtes, 63 secteurs/​piste 
-   +Vieille ​situation:​ 
-  Relecture de la table de partitions ... +Unités= cylindres de 8225280 octets, blocs de 1024 octets, décompte à partir de 0 
-   + 
-  Si vous créez ou modifiez une partition DOS, /dev/foo7, par exemple, alors +   ​Périph Amor Début ​    ​Fin ​  #​cyls ​   #​blocs ​   Id  Système 
-  utiliser dd(1) pour mettre à zéro les premiers 512 octets: +/​dev/​sdb1 ​         0       ​- ​      ​0 ​         0    0  Vide 
-  dd if=/​dev/​zero of=/​dev/​foo7 bs=512 count=1 +/​dev/​sdb2 ​         0       ​- ​      ​0 ​         0    0  Vide 
-  (Consulter fdisk(8).)+/​dev/​sdb3 ​         0       ​- ​      ​0 ​         0    0  Vide 
 +/​dev/​sdb4 ​         0       ​- ​      ​0 ​         0    0  Vide 
 + 
 +Nouvelle situation:​ 
 +Unités= secteurs de 512 octets, décompte à partir de 0 
 + 
 +   ​Périph Amorce ​ Début ​      ​Fin ​  #​secteurs Id  Système 
 +/​dev/​sdb1 ​  ​* ​       63  81915434 ​  ​81915372 ​ 83  Linux 
 +/​dev/​sdb2 ​     81915435 974663549 ​ 892748115 ​ 83  Linux 
 +/​dev/​sdb3 ​    ​974663550 976768064 ​   2104515 ​ 82  Linux swap / Solaris 
 +/​dev/​sdb4 ​            ​0 ​        ​- ​         0   ​0 ​ Vide 
 +Succès d'​écriture de la nouvelle table de partitions 
 + 
 +Relecture de la table de partitions ... 
 + 
 +Si vous créez ou modifiez une partition DOS, /dev/foo7, par exemple, alors 
 +utiliser dd(1) pour mettre à zéro les premiers 512 octets: 
 +dd if=/​dev/​zero of=/​dev/​foo7 bs=512 count=1 
 +(Consulter fdisk(8).) 
 +</​file>​ 
 La commande : La commande :
-  blueduck@serveur:​~$ ​sudo fdisk -l+ 
 +  ​sudo fdisk -l 
 doit montrer que les deux disques durs ont maintenant exactement la même structure : doit montrer que les deux disques durs ont maintenant exactement la même structure :
-  ​Disque /dev/sda: 500.1 Go, 500107862016 octets + 
-  255 têtes, 63 secteurs/​piste,​ 60801 cylindres +<​file>​ 
-  Unités = cylindres de 16065 * 512 = 8225280 octets +Disque /dev/sda: 500.1 Go, 500107862016 octets 
-  Sector size (logical/​physical):​ 512 bytes / 512 bytes +255 têtes, 63 secteurs/​piste,​ 60801 cylindres 
-  I/O size (minimum/​optimal):​ 512 bytes / 512 bytes +Unités = cylindres de 16065 * 512 = 8225280 octets 
-  Identifiant de disque : 0x000860a2 +Sector size (logical/​physical):​ 512 bytes / 512 bytes 
-   +I/O size (minimum/​optimal):​ 512 bytes / 512 bytes 
-  Périphérique Amorce ​ Début ​       Fin      Blocs     ​Id ​ Système +Identifiant de disque : 0x000860a2 
-  /​dev/​sda1 ​  ​* ​          ​1 ​       5099    40957686 ​  ​83 ​ Linux + 
-  /​dev/​sda2 ​           5100       ​60670 ​  ​446374057+ ​ 83  Linux +Périphérique Amorce ​ Début ​       Fin      Blocs     ​Id ​ Système 
-  /​dev/​sda3 ​          ​60671 ​      ​60801 ​    ​1052257+ ​ 82  Linux swap / Solaris +/​dev/​sda1 ​  ​* ​          ​1 ​       5099    40957686 ​  ​83 ​ Linux 
-   +/​dev/​sda2 ​           5100       ​60670 ​  ​446374057+ ​ 83  Linux 
-  Disque /dev/sdb: 500.1 Go, 500107862016 octets +/​dev/​sda3 ​          ​60671 ​      ​60801 ​    ​1052257+ ​ 82  Linux swap / Solaris 
-  255 têtes, 63 secteurs/​piste,​ 60801 cylindres + 
-  Unités = cylindres de 16065 * 512 = 8225280 octets +Disque /dev/sdb: 500.1 Go, 500107862016 octets 
-  Sector size (logical/​physical):​ 512 bytes / 512 bytes +255 têtes, 63 secteurs/​piste,​ 60801 cylindres 
-  I/O size (minimum/​optimal):​ 512 bytes / 512 bytes +Unités = cylindres de 16065 * 512 = 8225280 octets 
-  Identifiant de disque : 0x4caa4880 +Sector size (logical/​physical):​ 512 bytes / 512 bytes 
-   +I/O size (minimum/​optimal):​ 512 bytes / 512 bytes 
-  Périphérique Amorce ​ Début ​       Fin      Blocs     ​Id ​ Système +Identifiant de disque : 0x4caa4880 
-  /​dev/​sdb1 ​  ​* ​          ​1 ​       5099    40957686 ​  ​83 ​ Linux + 
-  /​dev/​sdb2 ​           5100       ​60670 ​  ​446374057+ ​ 83  Linux +Périphérique Amorce ​ Début ​       Fin      Blocs     ​Id ​ Système 
-  /​dev/​sdb3 ​          ​60671 ​      ​60801 ​    ​1052257+ ​ 82  Linux swap / Solaris+/​dev/​sdb1 ​  ​* ​          ​1 ​       5099    40957686 ​  ​83 ​ Linux 
 +/​dev/​sdb2 ​           5100       ​60670 ​  ​446374057+ ​ 83  Linux 
 +/​dev/​sdb3 ​          ​60671 ​      ​60801 ​    ​1052257+ ​ 82  Linux swap / Solaris 
 +</​file>​ 
 Plus simple et rapide que de partitionner à la main, non ;-) ? Plus simple et rapide que de partitionner à la main, non ;-) ?
-==== Changer le type des partitions ====+ 
 +==== Changer le type des partitions ​(sdb) ==== 
 Ensuite, il faut régler le type des partitions sur //Linux raid autodetect//​. On continue d'​utiliser ''​[[:​fdisk|fdisk]]''​.\\ Ensuite, il faut régler le type des partitions sur //Linux raid autodetect//​. On continue d'​utiliser ''​[[:​fdisk|fdisk]]''​.\\
 Rapidement, je rappelle que ''​fdisk''​ est une ligne de commande : chaque commande est une lettre, que l'on valide avec ''​ENTRÉE''​. Les modifications ne sont pas appliquées tant qu'on ne les a pas écrites avec la commande ''​w''​. La commande ''​m''​ affiche les commandes disponibles : Rapidement, je rappelle que ''​fdisk''​ est une ligne de commande : chaque commande est une lettre, que l'on valide avec ''​ENTRÉE''​. Les modifications ne sont pas appliquées tant qu'on ne les a pas écrites avec la commande ''​w''​. La commande ''​m''​ affiche les commandes disponibles :
 +
 +<​code>​
   blueduck@serveur:​~$ sudo fdisk /dev/sdb   blueduck@serveur:​~$ sudo fdisk /dev/sdb
  
Ligne 178: Ligne 210:
   ​   ​
   Commande (m pour l'​aide):​   Commande (m pour l'​aide):​
 +</​code>​
 +
 Pour changer le type d'une partition, on utilise la commande ''​t''​ : Pour changer le type d'une partition, on utilise la commande ''​t''​ :
 +
 +<​code>​
   Commande (m pour l'​aide):​ t   Commande (m pour l'​aide):​ t
 +</​code>​
 +
 Il faut ensuite indiquer le numéro de la partition à modifier (ici la ''​1''​) : Il faut ensuite indiquer le numéro de la partition à modifier (ici la ''​1''​) :
 +
 +<​code>​
   Numéro de partition (1-4): 1   Numéro de partition (1-4): 1
 +</​code>​
 +
 Puis le code du type de partition voulu (''​L''​ affiche la liste des codes possibles) : Puis le code du type de partition voulu (''​L''​ affiche la liste des codes possibles) :
 +
 +<​file>​
   Code Hexa (taper L pour lister les codes): L   Code Hexa (taper L pour lister les codes): L
   ​   ​
Ligne 210: Ligne 254:
   1c  Cachée W95 FAT  80  Minix ancienne ​ be  Amorce Solaris ​ ff  BBT   1c  Cachée W95 FAT  80  Minix ancienne ​ be  Amorce Solaris ​ ff  BBT
   1e  Cachée W95 FAT   1e  Cachée W95 FAT
- Le type //Linux raid autodetect//​ correspond au code ''​fd''​ :+</​file>​ 
 + 
 +Le type //Linux raid autodetect//​ correspond au code ''​fd''​ : 
 + 
 +<​file>​
   Code Hexa (taper L pour lister les codes): fd   Code Hexa (taper L pour lister les codes): fd
  
-  Type système de partition modifié de à fd (Linux raid autodetect)+  Type système de partition modifié de 83 à fd (Linux raid autodetect)
   ​   ​
   Commande (m pour l'​aide):​   Commande (m pour l'​aide):​
 +</​file>​
 +
 On répète l'​opération pour les deux autres partitions (la ''​2''​ et la ''​3''​) : On répète l'​opération pour les deux autres partitions (la ''​2''​ et la ''​3''​) :
 +
   Commande (m pour l'​aide):​ t   Commande (m pour l'​aide):​ t
   Numéro de partition (1-4): 2   Numéro de partition (1-4): 2
   Code Hexa (taper L pour lister les codes): fd   Code Hexa (taper L pour lister les codes): fd
-  Type système de partition modifié de à fd (Linux raid autodetect)+  Type système de partition modifié de 83 à fd (Linux raid autodetect)
   ​   ​
   Commande (m pour l'​aide):​ t   Commande (m pour l'​aide):​ t
   Numéro de partition (1-4): 3   Numéro de partition (1-4): 3
   Code Hexa (taper L pour lister les codes): fd   Code Hexa (taper L pour lister les codes): fd
-  Type système de partition modifié de à fd (Linux raid autodetect)+  Type système de partition modifié de 82 à fd (Linux raid autodetect)
   ​   ​
   Commande (m pour l'​aide):​   Commande (m pour l'​aide):​
Ligne 237: Ligne 288:
  
 == Vérifier les partitions == == Vérifier les partitions ==
 +
 Pour s'​assurer qu'il n'y a pas de restes d'une précédente installation RAID, on exécute les commandes suivantes : Pour s'​assurer qu'il n'y a pas de restes d'une précédente installation RAID, on exécute les commandes suivantes :
   blueduck@serveur:​~$ sudo mdadm --zero-superblock /dev/sdb1   blueduck@serveur:​~$ sudo mdadm --zero-superblock /dev/sdb1
Ligne 246: Ligne 298:
  
 ===== Configurer le RAID 1 ===== ===== Configurer le RAID 1 =====
 +
 ==== Créer les grappes ==== ==== Créer les grappes ====
 +
 On crée ''/​dev/​md0''​ avec ''/​dev/​sdb1''​ ; ''/​dev/​md1''​ et ''/​sdv/​sdb2''​ : ''/​dev/​md2''​ à partir de ''/​dev/​sdb3''​. Les partitions correspondantes du premier disque ne peuvent pas être ajoutées pour le moment, car le système fonctionne dessus. C'est pourquoi on les remplace par le mot ''​missing''​ dans les commandes suivantes : On crée ''/​dev/​md0''​ avec ''/​dev/​sdb1''​ ; ''/​dev/​md1''​ et ''/​sdv/​sdb2''​ : ''/​dev/​md2''​ à partir de ''/​dev/​sdb3''​. Les partitions correspondantes du premier disque ne peuvent pas être ajoutées pour le moment, car le système fonctionne dessus. C'est pourquoi on les remplace par le mot ''​missing''​ dans les commandes suivantes :
-  blueduck@serveur:​~$ ​sudo mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sdb1 + 
-  ​blueduck@serveur:​~$ ​sudo mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb2 +  ​sudo mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sdb1 
-  ​blueduck@serveur:​~$ ​sudo mdadm --create /dev/md2 --level=1 --raid-disks=2 missing /dev/sdb3+  sudo mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb2 
 +  sudo mdadm --create /dev/md2 --level=1 --raid-disks=2 missing /dev/sdb3 
 La commande :  La commande : 
-  blueduck@serveur:​~$ ​sudo cat /​proc/​mdstat+ 
 +  ​sudo cat /​proc/​mdstat 
 devrait maintenant montrer que vous avez trois grappes RAID dégradées : devrait maintenant montrer que vous avez trois grappes RAID dégradées :
 +
 +<​file>​
   Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]   Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
   md2 : active raid1 sdb3[1]   md2 : active raid1 sdb3[1]
Ligne 265: Ligne 325:
   ​   ​
   unused devices: <​none>​   unused devices: <​none>​
 +</​file>​
 +
 <​note>​ <​note>​
 Les indicateurs [_U] ou [U_] signifient qu'une grappe est dégradée, alors que [UU] signifie que la grappe est normale. Les indicateurs [_U] ou [U_] signifient qu'une grappe est dégradée, alors que [UU] signifie que la grappe est normale.
 </​note>​ </​note>​
-==== Créer les systèmes de fichiers ====+ 
 +==== Créer les systèmes de fichiers ​(sdb) ==== 
 On peut désormais choisir le système de fichiers de chaque grappe, //ext4// pour ''/​dev/​md0''​ et ''/​dev/​md1'',​ //swap// pour ''/​dev/​md2''​ : On peut désormais choisir le système de fichiers de chaque grappe, //ext4// pour ''/​dev/​md0''​ et ''/​dev/​md1'',​ //swap// pour ''/​dev/​md2''​ :
 +
   blueduck@serveur:​~$ sudo mkfs.ext4 /dev/md0   blueduck@serveur:​~$ sudo mkfs.ext4 /dev/md0
    
Ligne 297: Ligne 362:
   après 180 jours, selon la première éventualité. Utiliser tune2fs -c ou -i   après 180 jours, selon la première éventualité. Utiliser tune2fs -c ou -i
   pour écraser la valeur.   pour écraser la valeur.
 +
 Continuer avec : Continuer avec :
-  blueduck@serveur:​~$ ​sudo mkfs.ext4 /dev/md1+ 
 +  ​sudo mkfs.ext4 /dev/md1 
 et et
-  blueduck@serveur:​~$ ​sudo mkswap /dev/md2+ 
 +  ​sudo mkswap /dev/md2 
 ==== Mettre à jour le fichier mdadm.conf ==== ==== Mettre à jour le fichier mdadm.conf ====
 +
 À présent, adaptez le fichier ''/​etc/​mdadm/​mdadm.conf'',​ qui ne contient encore aucune information concernant les grappes, à la nouvelle situation. Faites d'​abord une copie du fichier existant (on ne sait jamais) : À présent, adaptez le fichier ''/​etc/​mdadm/​mdadm.conf'',​ qui ne contient encore aucune information concernant les grappes, à la nouvelle situation. Faites d'​abord une copie du fichier existant (on ne sait jamais) :
-  blueduck@serveur:​~$ ​sudo cp /​etc/​mdadm/​mdadm.conf /​etc/​mdadm/​mdadm.conf-dist+ 
 +  ​sudo cp /​etc/​mdadm/​mdadm.conf /​etc/​mdadm/​mdadm.conf-dist 
 puis faites un scan de la configuration RAID qui sera ajoutée au nouveau fichier : puis faites un scan de la configuration RAID qui sera ajoutée au nouveau fichier :
-  blueduck@serveur:​~$ sudo mdadm --examine --scan >> /​etc/​mdadm/​mdadm.conf 
  
-<note tip> +  ​sudo mdadm --examine --scan ​sudo tee -a /etc/​mdadm/​mdadm.conf 
-Si vous obtenez le message d'​erreur suivant : + 
-  bash: /​etc/​mdadm/​mdadm.conf:​ Permission non accordée +
-contournez-le en déplaçant le fichier ''​mdadm.conf''​ dans votre dossier personnel. Devenez-en propriétaire pour pouvoir écrire dedans, relancez la commande précédente,​ puis rétablissez ''​root''​ comme propriétaire du fichier et déplacez-le à nouveau vers son emplacement d'​origine : +
-  blueduck@serveur:​~$ sudo mv /​etc/​mdadm/​mdadm.conf ~ +
-  blueduck@serveur:​~$ sudo chown blueduck:​blueduck ~/​mdadm.conf +
-  blueduck@serveur:​~$ ​sudo mdadm --examine --scan ​>> ~/​mdadm.conf +
-  blueduck@serveur:​~$ ​sudo chown root:root ~/mdadm.conf +
-  blueduck@serveur:​~$ sudo mv ~/​mdadm.conf ​/etc/mdadm +
-</​note>​+
 Vérifiez que votre fichier ''/​etc/​mdadm/​mdadm.conf''​ ressemble à ça : Vérifiez que votre fichier ''/​etc/​mdadm/​mdadm.conf''​ ressemble à ça :
   blueduck@serveur:​~$ sudo cat /​etc/​mdadm/​mdadm.conf   blueduck@serveur:​~$ sudo cat /​etc/​mdadm/​mdadm.conf
  
 +<​file>​
   # mdadm.conf   # mdadm.conf
   #   #
Ligne 341: Ligne 407:
   ARRAY /dev/md1 level=raid1 num-devices=2 UUID=057ec4b9:​88398a79:​2b872d8f:​382c1990   ARRAY /dev/md1 level=raid1 num-devices=2 UUID=057ec4b9:​88398a79:​2b872d8f:​382c1990
   ARRAY /dev/md2 level=raid1 num-devices=2 UUID=18366108:​daee6e7a:​2b872d8f:​382c1990   ARRAY /dev/md2 level=raid1 num-devices=2 UUID=18366108:​daee6e7a:​2b872d8f:​382c1990
 +</​file>​
 +
 ==== Monter les grappes ==== ==== Monter les grappes ====
 +
 Les grappes sont prêtes à être montées, afin de pouvoir y accéder. Créez deux points de montage, par exemple ''/​mnt/​md0''​ et ''/​mnt/​md1''​ : Les grappes sont prêtes à être montées, afin de pouvoir y accéder. Créez deux points de montage, par exemple ''/​mnt/​md0''​ et ''/​mnt/​md1''​ :
-  blueduck@serveur:​~$ ​sudo mkdir /mnt/md0 + 
-  ​blueduck@serveur:​~$ ​sudo mkdir /mnt/md1+  ​sudo mkdir /mnt/md0 
 +  sudo mkdir /mnt/md1 
 puis montez les deux grappes formatées en //ext4// : puis montez les deux grappes formatées en //ext4// :
-  blueduck@serveur:​~$ ​sudo mount /dev/md0 /mnt/md0 + 
-  ​blueduck@serveur:​~$ ​sudo mount /dev/md1 /mnt/md1+  ​sudo mount /dev/md0 /mnt/md0 
 +  sudo mount /dev/md1 /mnt/md1 
 La grappe d'​échange (''/​dev/​md2''​) n'a pas besoin d'​être montée pour le moment. La grappe d'​échange (''/​dev/​md2''​) n'a pas besoin d'​être montée pour le moment.
 Vous devriez voir les deux grappes en tapant la commande : Vous devriez voir les deux grappes en tapant la commande :
 +
   blueduck@serveur:​~$ sudo mount   blueduck@serveur:​~$ sudo mount
  
Ligne 371: Ligne 445:
   /dev/md0 on /mnt/md0 type ext4 (rw)   /dev/md0 on /mnt/md0 type ext4 (rw)
   /dev/md1 on /mnt/md1 type ext4 (rw)   /dev/md1 on /mnt/md1 type ext4 (rw)
 +==== Mettre à jour les fichiers fstab et mtab ====
 +
 +<note important>​
 +Je ne vais pas entrer ici dans le détail : les pages sur [[:​mount_fstab#​le_fichier_fstab|fstab]] et les [[:​uuid_et_label|UUID]] ne manquent pas. Soyez simplement extrêmement prudents avec ce fichier, dans lequel une erreur peut facilement empêcher votre système de démarrer.
 +</​note>​
 +
 ===== Dupliquer les données ===== ===== Dupliquer les données =====
 +
 Maintenant que les grappes sont montées, on peut copier dessus le contenu du premier disque dur : Maintenant que les grappes sont montées, on peut copier dessus le contenu du premier disque dur :
-  blueduck@serveur:​~$ ​sudo cp -dpRx / /mnt/md0 + 
-  ​blueduck@serveur:​~$ ​sudo cp -dpRx /multimedia /mnt/md1+  ​sudo cp -dpRx / /mnt/md0 
 +  sudo cp -dpRx /multimedia/mnt/md1 
 + 
 +<​note>​Le slash (/) à la fin de /​multimedia**/​** a son importance :  
 +  * s'il est présent, **le contenu** du dossier /multimedia sera copié dans /mnt/md1 ; 
 +  * s'il est absent, c'est **le dossier** /multimedia qui sera copié dans /mnt/md1, c'​est-à-dire qu'on obtiendra dans /mnt/md1 un dossier ''​multimedia''​. 
 + 
 +Comme ici /multimedia sera un point de montage vers /dev/md1, il faut que ce slash soit présent. 
 + 
 + 
 +__Rappel sur les options utilisées de la commande cp :__ 
 +  * **-d** préserve les liens symboliques ; 
 +  * **-p** préserve les propriétés des fichiers et dossiers (droits d'​accès,​ propriétaires,​ heure de la dernière modification) ; 
 +  * **-R** demande une copie récursive ; 
 +  * **-x** demande de ne pas sortir du système de fichier contenant le dossier à copier, ainsi même si **/** contient **/proc**, le contenu de **/proc** ne sera pas copié car **/proc** est dans un système de fichier virtuel (nommé //proc//, cf. ''/​etc/​fstab''​) différent du système de fichier //ext4// contenant **/** ; 
 +  * l'​option **-u** pourrait être rajoutée en cas de copie interrompue (ne copie les fichiers que s'ils sont plus récents, ou n'ont pas encore été copiés). 
 + 
 +</​note>​
  
 <note tip> <note tip>
 Pour ma part, j'ai préféré utiliser ''​[[:​rsync|rsync]]''​ : Pour ma part, j'ai préféré utiliser ''​[[:​rsync|rsync]]''​ :
-  blueduck@serveur:​~$ ​sudo rsync -av --progress --stats --filter "- /mnt" / /mnt/md0 + 
-  ​blueduck@serveur:​~$ ​sudo rsync -av --progress --stats /multimedia /mnt/md1+  ​sudo rsync -av --progress --stats --filter "- /mnt" / /mnt/md0 
 +  sudo rsync -av --progress --stats /multimedia /mnt/md1 
 Compte-tenu des quantités de données à déplacer (plus de 400 Go depuis ''/​dev/​sda2''​),​ cela me permettait en cas de besoin d'​interrompre la synchronisation,​ et de la reprendre plus tard. Compte-tenu des quantités de données à déplacer (plus de 400 Go depuis ''/​dev/​sda2''​),​ cela me permettait en cas de besoin d'​interrompre la synchronisation,​ et de la reprendre plus tard.
  
-<note important>​+<note important>​FIXME
 Il serait bien que quelqu'​un précise si l'on peut sans risque substituer comme je l'ai fait ''​rsync''​ à ''​cp''​. D'​autre part, il doit être possible d'​éviter la synchronisation de certains dossiers en ajoutant des filtres (je pense notamment à ''/​proc'',​ ''/​tmp'',​ ...) : à confirmer. Il serait bien que quelqu'​un précise si l'on peut sans risque substituer comme je l'ai fait ''​rsync''​ à ''​cp''​. D'​autre part, il doit être possible d'​éviter la synchronisation de certains dossiers en ajoutant des filtres (je pense notamment à ''/​proc'',​ ''/​tmp'',​ ...) : à confirmer.
 </​note>​ </​note>​
Ligne 388: Ligne 488:
  
 ===== Premier redémarrage ===== ===== Premier redémarrage =====
-==== Configuration de GRUB (première partie) === + 
-==== Mettre à jour les fichiers fstab et mtab ====+==== Configuration de GRUB (première partie) ===
 + 
 +FIXME 
 + 
 ==== Après le premier redémarrage ==== ==== Après le premier redémarrage ====
 +
 Si tout s'est bien passé, vous devriez obtenir le résultat suivant avec la commande ''​df''​ : Si tout s'est bien passé, vous devriez obtenir le résultat suivant avec la commande ''​df''​ :
   blueduck@serveur:​~$ df -h   blueduck@serveur:​~$ df -h
  
   Sys. de fich.        Tail.   Occ. Disp. %Occ. Monté sur   Sys. de fich.        Tail.   Occ. Disp. %Occ. Monté sur
 +
 Et toujours : Et toujours :
 +
   blueduck@serveur:​~$ sudo cat /​proc/​mdstat   blueduck@serveur:​~$ sudo cat /​proc/​mdstat
  
   Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]   Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
 +
 +
 ===== Ajouter le premier disque dur ===== ===== Ajouter le premier disque dur =====
-=== Modifier le type des partitions === + 
-=== Intégrer le premier disque dur à la grappe ===+==== Modifier le type des partitions ​(sda) ===
 + 
 +De même que pour ''/​dev/​sdb''​ précédemment,​ nous utilisons ''​fdisk''​ pour changer le type des partitions de ''/​dev/​sda''​ en //Linux raid autodetect//​. 
 + 
 +==== Intégrer le premier disque dur à la grappe ===
 + 
 +Le temps est venu d'​intégrer les partitions de ''/​dev/​sda''​ dans les grappes ''/​dev/​md0'',​ ''/​dev/​md1''​ et ''/​dev/​md2''​. 
 + 
 +==== Mettre à jour le fichier mdadm.conf ==== 
 + 
 +Une nouvelle fois, il faut scanner la configuration RAID pour mettre à jour le fichier ''/​etc/​mdadm/​mdadm.conf''​. 
 + 
 +==== Configuration de GRUB (deuxième partie) ==== 
 + 
 +FIXME 
 + 
 +==== Après le deuxième redémarrage ==== 
 + 
 +FIXME 
 + 
 +===== Test : simuler la panne d'un disque dur ===== 
 + 
 +FIXME 
 +===== Liens ===== 
 + 
 +  * http://​forum.debian-fr.org/​viewtopic.php?​f=8&​t=27585 : un tutoriel approchant celui-là, sauf que le RAID mis en place n'​inclut pas le système. Des exemples de maintenance à la fin. 
 +  * https://​www.system-linux.eu/​index.php?​post/​2010/​04/​30/​RAID1-logiciel-sous-GNU/​Linux.-%28partie-1/​2%29 : un tutoriel plutôt bien fait 
 + 
 +---- 
 + 
 +//​Contributeur principal : [[:​utilisateurs:​blueduck]].//​
  • tutoriel/raid1_logiciel_sur_installation_existante.txt
  • Dernière modification: Le 11/09/2022, 12:18
  • par moths-art