User Tools

Site Tools


informatique:linux:raid5_logiciel

RAID5 logiciel

Dans cet article (à la différence de l'autre : raid0_sous_linux)je vais détailler comment j'ai procédé pour créer un RAID5 logiciel de 4 x 3To (soit 9 To utiles) sous Ubuntu 12.04 (LTS).

La “difficulté” est qu'il s'agit de disques de 3 téra-octets donc pour être reconnus comme tels, il faut activer la table de partition GPT (à la place de MBR comme c'est suffisant pour les disque de moins de 2 téras).

Initialiser les disques en GPT

Pour cela on utilise l'utilitaire gdisk, équivalent de fdisk mais pour les disque GPT..

  • Installer gdisk : aptitude install gdisk
  • Pour chaque disque répéter les opérations suivantes :
sudo parted /dev/sdc
GNU Parted 2.3
Utilisation de /dev/sdc
Bievenue sur GNU Parted ! Tapez 'help' pour voir la liste des commandes.
# pour afficher l'aide
(parted) p
[..]
(parted) mklabel gpt
Avertissement: Le type du disque /dev/sdc va être effacé et toutes les données vont être perdues. Voulez-vous continuer ?
Oui/Yes/Non/No? Oui
(parted) mkpart primary 1 -1
(parted) print
Modèle: ATA WDC WD30EFRX-68A (scsi)
Disque /dev/sdc : 3001GB
Taille des secteurs (logiques/physiques): 512B/4096B
Table de partitions : gpt
 
Numéro  Début   Fin     Taille  Système de fichiers  Nom      Fanions
 1      1049kB  3001GB  3001GB                       primary
 
(parted) quit
Information: Ne pas oublier de mettre à jour /etc/fstab si nécessaire.

Création de la grappe RAID

# création du la grappe
sudo mdadm --create --verbose /dev/md1 --level=5 --raid-devices=4 --assume-clean /dev/sd[abcd]1 --name=ymir2md1
 
# vérification
sudo mdadm --detail /dev/md1
/dev/md1:
        Version : 1.2
  Creation Time : Mon Jan 13 20:50:39 2014
     Raid Level : raid5
     Array Size : 8790400512 (8383.18 GiB 9001.37 GB)
  Used Dev Size : 2930133504 (2794.39 GiB 3000.46 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent
 
    Update Time : Mon Jan 13 20:50:39 2014
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
 
         Layout : left-symmetric
     Chunk Size : 512K
 
           Name : ymir2:1  (local to host ymir2)
           UUID : 080b40c0:c74c25e7:0d3e4697:f6a79f15
         Events : 0
 
    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1
       2       8       33        2      active sync   /dev/sdc1
       3       8       49        3      active sync   /dev/sdd1

Avant de créer un système de fichier et de déposer des données dessus, je vous conseille de redémarrer pour voir s'il est bien pris en charge au boot. Quand ça monte mal (md127 par ex), c'est que le contenu de la ligne “ARRAY ..” de mdadm.conf ne correspond pas au superblock des disques ; donc il faut :

# démonter le mauvais md :
sudo mdadm --stop /dev/md127
 
# effacer les superblocks des disques
sudo mdadm --zero-superblock /dev/sd[abcd]1
 
# recréer proprement le md
sudo mdadm --create --verbose /dev/md1 --level=5 --raid-devices=4 --assume-clean /dev/sd[abcd]1 --name=md1
 
# recréer proprement le fichier de configuration de mdadm :
echo "DEVICE /dev/sda* /dev/sdb* /dev/sdc* /dev/sdd*" >> /etc/mdadm/mdadm.conf
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
 
# recréer son initramfs
sudo update-initramfs -u

<note>Notes annexes: The new mdadm/kernel setup creates the default mdadm.conf file with –name=NAS:0 or equivalent. When a –name parameter is set, a random (seems to always be 127) md device is created that actually symlinks to /dev/md/NAS:0 or equivalent. Removing the name= from the mdadm.conf sets it back to normal </note>

Créer le LVM

sudo pvcreate /dev/md1
sudo vgcreate vgmd1 /dev/md1
sudo lvcreate -l 100%VG -n lvmd1 vgmd1

Créer le sytème de fichier

Créer le FS

sudo mkfs.ext4 -m 0 /dev/vgmd1/lvmd1
mke2fs 1.42 (29-Nov-2011)
Étiquette de système de fichiers=
Type de système d'exploitation : Linux
Taille de bloc=4096 (log=2)
Taille de fragment=4096 (log=2)
« Stride » = 128 blocs, « Stripe width » = 384 blocs
274702336 i-noeuds, 2197599232 blocs
0 blocs (0.00%) réservés pour le super utilisateur
Premier bloc de données=0
Nombre maximum de blocs du système de fichiers=4294967296
67066 groupes de blocs
32768 blocs par groupe, 32768 fragments par groupe
4096 i-noeuds par groupe
Superblocs de secours stockés sur les blocs :
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848, 512000000, 550731776, 644972544, 1934917632
 
Allocation des tables de groupe : complété
Écriture des tables d'i-noeuds : complété
Création du journal (32768 blocs) : complété
Écriture des superblocs et de l'information de comptabilité du système de
fichiers : complété

Monter le FS

echo "/dev/vgmd1/lvmd1   /mnt/data   ext4    defaults,noauto 0 0" >> /etc/fstab
mount /mnt/data
 
# vérification
df -h | grep /mnt/data
Sys. de fichiers        Taille Utilisé Dispo Uti% Monté sur
/dev/mapper/vgmd1-lvmd1   8,2T    173M  8,2T   1% /mnt/data
informatique/linux/raid5_logiciel.txt · Last modified: 2014/01/26 19:40 by pteu