Ci-dessous, les différences entre deux révisions de la page.
autohebergement:chiffrement_des_disques_et_raid [2019/11/24 13:17] eorn début luks |
autohebergement:chiffrement_des_disques_et_raid [2021/08/16 14:13] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ===== Chiffrement des disques et RAID ===== | ||
- | |||
- | J'ai suivi ce [[https://wiki.archlinux.org/index.php/Dm-crypt/Encrypting_an_entire_system#LUKS_on_software_RAID|tuto sur le wiki de Archlinux]]. | ||
- | |||
- | J'ai deux disques de 2 To et deux disques de 1 To. | ||
- | |||
- | L'idée est de joindre ces disques deux par deux en **RAID1**. | ||
- | Pas la peine d'utiliser de volumes LVM, ça complique inutilement pour le moment. | ||
- | Un de ces volumes en RAID servira au stockage pour NextCloud, l'autre au stockage des données du reste des applications. | ||
- | Et on chiffre tout ça avec LUKS. | ||
- | |||
- | Schématiquement : | ||
- | |||
- | | Hard drives | /dev/sda (1 To) | /dev/sdb (1 To) | /dev/sdc (2 To) | /dev/sde (2 To) | | ||
- | | Partitions | /dev/sda1 | /dev/sdb1 | /dev/sdc1 | /dev/sdd1 | | ||
- | | RAID arrays | /dev/md0 (1 To) || /dev/md1 (2 To) || | ||
- | | Point de montage | /data || /cloud || | ||
- | |||
- | === Création de l'array RAID === | ||
- | Source : [[https://wiki.archlinux.org/index.php/RAID|Arch wiki]] | ||
- | |||
- | Supprimer les anciennes infos RAID : | ||
- | <code bash> | ||
- | mdadm --misc --zero-superblock /dev/<drive or partition> | ||
- | </code> | ||
- | |||
- | Création des partitions : | ||
- | <code bash> | ||
- | fdisk … | ||
- | </code> | ||
- | |||
- | Création des arrays RAID : | ||
- | <code bash> | ||
- | mdadm --create --verbose --level=1 --metadata=1.2 --raid-devices=2 /dev/md/raidCloud /dev/sdc1 /dev/sde1 | ||
- | mdadm --create --verbose --level=1 --metadata=1.2 --raid-devices=2 /dev/md/raidData /dev/sda1 /dev/sdb1 | ||
- | </code> | ||
- | |||
- | On met à jour la configuration de *mdadm* : | ||
- | <code bash> | ||
- | mdadm --detail --scan >> /etc/mdadm.conf | ||
- | </code> | ||
- | |||
- | Formatage du système de fichier des RAID : | ||
- | <code bash> | ||
- | mkfs.ext4 -v -L dataraid /dev/md/raidData | ||
- | mkfs.ext4 -v -L cloudraid /dev/md/raidCloud | ||
- | </code> | ||
- | |||
- | **Scrubbing** : c'est bien de vérifier de temps en temps l'état du RAID et résoudre les erreurs. Pour lancer un *scrub* : | ||
- | <code bash> | ||
- | echo check > /sy/block/mdX/md/sync_action | ||
- | </code> | ||
- | |||
- | On peut ensuite voir le statut de l'opération avec : | ||
- | <code bash> | ||
- | cat /proc/mdstat | ||
- | </code> | ||
- | |||
- | Pour arrêter un *scrub* : | ||
- | <code bash> | ||
- | echo idle > /sys/block/mdX/md/sync_action | ||
- | </code> | ||
- | |||
- | Quand le *scrub* est fini, on peut voir le nombre de blocks problématiques (s'il y en a) : | ||
- | <code bash> | ||
- | cat /sys/block/mdX/md/mismatch_cnt | ||
- | </code> | ||
- | |||
- | S'il y a des gros problèmes de disques : [[https://wiki.archlinux.org/index.php/RAID#Removing_devices_from_an_array|Arch wiki : removing devices from an array]]. | ||
- | |||
- | |||
- | === Chiffrement avec LUKS === | ||
- | Préparation des block devices : | ||
- | |||
- | <code bash> | ||
- | # data | ||
- | cryptsetup open --type plain /dev/md/raidData container --key-file /dev/random | ||
- | dd if=/dev/zero of=/dev/mapper/container bs=1M status=progress | ||
- | cryptsetup close container | ||
- | |||
- | # cloud | ||
- | cryptsetup open --type plain /dev/md/raidCloud container --key-file /dev/random | ||
- | dd if=/dev/zero of=/dev/mapper/container bs=1M status=progress | ||
- | cryptsetup close container | ||
- | </code> | ||