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).
Pour cela on utilise l'utilitaire gdisk, équivalent de fdisk mais pour les disque GPT..
aptitude install gdisk
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 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>
sudo pvcreate /dev/md1 sudo vgcreate vgmd1 /dev/md1 sudo lvcreate -l 100%VG -n lvmd1 vgmd1
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é
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