Je prévois d'acheter un tableau RAID externe (matériel RAID5). Mon intention est de l’équiper de 4 disques au départ et de le chiffrer à l’aide de luks et de dm-crypt. Ma question est la suivante: serai-je en mesure d’échanger à chaud des disques et de développer le raid chiffré en ajoutant un ou deux disques supplémentaires à un total de 6?
Je ne vois aucune raison pourquoi pas, mais mieux vaut prévenir que guérir. Dm-crypt est-il donc stable face à la taille croissante des partitions?
Oui, vous pouvez certainement.
Premièrement, je devais ajouter les disques supplémentaires à la baie en tant que disques de secours avec les commandes:
mdadm --add /dev/md2 /dev/sdc3
/ dev/md2 étant le raid, sdc3 le disque supplémentaire.
Puis j'ai dit au tableau de grandir avec [...]:
"mdadm --grow -n 12 /dev/md2".
Maintenant, j'ai attendu environ 16 heures pour que le tableau se restructure en fonction de la nouvelle présentation. [...] Cochez
cat /proc/mdstat
pour suivre la progression.Ensuite, je devais dire à la partition cryptée qu'elle était plus grande. [...]
cryptsetup luksOpen /dev/md2 storage
cryptsetup resize storage
"stockage" étant l'étiquette du périphérique crypté comme dans /dev/mapper/sotrage
.
S'il s'agissait d'une partition LVM, il aurait fallu faire un
pvresize
au lieu de ce qui précède. Enfin, j'ai dû augmenter la taille du système de fichiers. [...]
resize2fs /dev/mapper/storage
Perdez-vous des données sur le tableau en faisant cela? Non, il conserve toutes les données. J'avais lancé un "dd si =/dev/md2 de =/dev/zero" avant de refaçonner dessus, pour m'assurer qu'il n'y avait pas de bloc défectueux sur les lecteurs avant de refaçonner. L'exécution de ce type de vérification permet de détecter des secteurs marginaux qui ne sont pas utilisés normalement, ce qui est une partie importante de l'exécution d'un ensemble RAID. Assurez-vous également qu'aucun disque n'a échoué avant d'exécuter le remodelage.
Vous ne pouvez pas développer le système de fichiers tant que le redimensionnement RAID n'est pas terminé.
Est-il prudent de redimensionner le RAID-5 lorsque le périphérique est en cours d'utilisation? Oui, ça devrait l'être. Il est conçu pour garder une trace de son emplacement afin que vous puissiez même redémarrer alors que la matrice s'agrandit, et elle reprendra là où elle s'est arrêtée.
Source: http://www.tummy.com/journals/entries/jafo_20080502_154339
Quelques précisions, une sagesse pré-mâchée pour les dents faibles. Comme beaucoup de documentation Linux, ce didacticiel utile suppose un peu plus de connaissances que certains utilisateurs habituels.
Vous pouvez déterminer comment votre matrice RAID est appelée en consultant le répertoire/dev. Ce sera md #, par exemple. md0 ou md1, etc. Pour obtenir plus de détails sur les matrices RAID afin de pouvoir choisir la bonne, essayez cette commande:
mdadm -D /dev/md#
avec # étant le numéro du tableau. Il vous donnera des informations comme ceci:
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : we:0 (local to Host we)
UUID : 94777f33ltjj97
Events : 136
Number Major Minor RaidDevice State
0 8 2 0 active sync /dev/sda2
1 8 18 1 active sync /dev/sdb2
2 8 34 2 active sync /dev/sdc2
4 8 50 3 active sync /dev/sdd2
La commande permettant de développer le système de fichiers RAID ne contient pas de guillemets et le "-n" fait référence au nouveau nombre total de lecteurs de la matrice. Donc, si vous développez une matrice RAID 5 de 4 à 5 disques, vous pouvez utiliser ceci:
mdadm --grow -n 5 /dev/md2
Exécutez cette commande pour voir comment se déroule l’incorporation RAID:
cat /proc/mdstat
Avec un gros disque et un système lent, le redimensionnement du RAID peut prendre un temps très long, voire plusieurs jours. Quand il atteint 100%, vous êtes prêt pour la prochaine étape. Si vous avez d'abord partitionné LVM sur une partition chiffrée LUKS, vous devez redimensionner le volume chiffré. Pour le comprendre, vous pouvez regarder le dossier/dev/mapper. Sélectionnez le volume chiffré et non aucun des volumes logiques LVM. Comme mon système fonctionnait, je n'ai apparemment pas eu besoin de faire la première des commandes fournies par le tutoriel:
cryptsetup luksOpen /dev/md0 md0_crypt
*Device md0_crypt already exists*
Si la deuxième commande fonctionne, elle ne donnera aucune sortie, comme beaucoup de commandes Linux:
cryptsetup resize md0_crypt
Ensuite, il est temps de redimensionner le schéma LVM. J'ai compris sur quoi exécuter la commande pvresize avec cette commande: pvs -o + tags
pvs -o +tags
*PV VG Fmt Attr PSize PFree PV Tags
/dev/dm-0 vg0 lvm2 a-- 1.02g 0*
J'ai donc exécuté la commande pvresize sur le volume physique, et elle m'a dit que cela avait réussi.
pvresize /dev/dm-0
*Physical volume "/dev/dm-0" changed
1 physical volume(s) resized / 0 physical volume(s) not resized*
Décidez ensuite du volume logique que vous souhaitez développer avec la commande lvdisplay. Cela vous dira comment s'appellent vos volumes logiques. Le nom de votre groupe de volumes sera dans le dossier/dev. Dans mon cas j'ai utilisé:
lvdisplay /dev/vg0
Examinez les champs indiquant "Nom LV". J'ai décidé d'ajouter tout le nouvel espace à l'un de mes volumes logiques à l'aide de cette commande:
lvresize -l +100%FREE /dev/mapper/vg0-system
Extending logical volume system to 7.17 GiB
Logical volume system successfully resized
Enfin, vous pouvez redimensionner le LVM pour que les modifications prennent effet à l'aide de la commande resize2fs.
resize2fs /dev/mapper/vg0-system
*resize2fs 1.42.5 (29-Jul-2012)
Filesystem at /dev/mapper/vg0-system is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/mapper/vg0-system to 1879040 (4k) blocks.
The filesystem on /dev/mapper/vg0-system is now 1879040 blocks long.*
Une fois ce processus terminé (ce qui peut prendre un certain temps), vous pouvez utiliser la commande 'df -h' pour voir la nouvelle taille de votre système de fichiers. J'ai trouvé l'ensemble du processus un peu effrayant, alors je voulais préciser les commandes pour réduire l'anxiété des autres.