web-dev-qa-db-fra.com

Est-il possible de développer un tableau raid5 externe chiffré avec Luks?

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?

4
con-f-use

Oui, vous pouvez certainement.

comment faire

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.

Autres bits utiles:

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

5
Regan W

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.

5
user116919