% Configuration de deux disques avec LVM
:::information
Sur ce schéma de partitionnement, on ne privilégie pas la fiabilité ou la redondance mais l'espace disque.
Ici, ce serveur (de secours) est configuré pour être en backup d'un autre serveur (principal): si le serveur principal plante, le serveur de secours prend le relais.
La sauvegarde des données n'est donc pas ici assurée: elle doit l'être par un autre moyen, en mettant une politique de sauvegarde réfléchie.
:::
:::warning
Tuto à refaire: on va partir en RAID0 car plus simple pour un déchiffrement en une fois du système.
:::
On crée une partition de boot sur les deux disques: 512 Mo
On crée deux partitions (une sur chaque disque) de 11,6 Go.
Le reste des disques sera affecté aux données.
:::warning
Bien vérifier si vous avez un système UEFI:
ls /sys/firmware/efi
Si ce fichier n'existe pas, il faut utiliser une table MBR
Source: Check if Computer Uses UEFI or Legacy BIOS [Linux & Windows]
:::
Dans le cas contraire: il faut utiliser une table de partition MBR.
fdisk /dev/sda
Utilisation de la commande n
Command (m for help): n
Ensuite, on crée la partition numéro 1
Partition number (1-128, default 1): 1
On laisse la valeur par défaut pour le premier secteur en appuyant sur Entrée
First sector (2048-3907029134, default 2048):
Puis on indique la taille +512M:
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-3907029134, default 3907028991): +512M
Le message suivant indique que la première partition est bien créée:
Created a new partition 1 of type 'Linux filesystem' and of size 512 MiB.
À nouveau, on utilise la commande n, mais cette fois on choisit une taille en secteurs (qui correspond ici à 11,5Go):
Command (m for help): n [ENTREE]
Partition number (2-128, default 2): [ENTREE]
First sector (1050624-3907029134, default 1050624): [ENTREE]
Last sector, +/-sectors or +/-size{K,M,G,T,P} (1050624-3907029134, default 3907028991): +24117248 [ENTREE]
Le message de confirmation permet de vérifier la taille:
Created a new partition 2 of type 'Linux filesystem' and of size 11.5 GiB.
On modifie ensuite le type de partition pour la 2 avec la commande t:
Command (m for help): t
Partition number (1,2, default 2): 2
Partition type or alias (type L to list all): 19
Ici, on appuie sur Entrée pour laisser les valeurs par défaut:
Command (m for help): n
Partition number (3-128, default 3):
First sector (25167873-3907029134, default 25169920):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (25169920-3907029134, default 3907028991):
Created a new partition 3 of type 'Linux filesystem' and of size 1.8 TiB.
Et on modifie le type de la partition pour la passer en Linux LVM:
Command (m for help): t
Partition number (1-3, default 3):
Partition type or alias (type L to list all): 43
Changed type of partition 'Linux LVM' to 'Linux LVM'.
On termine par la commande w pour sauvegarder les changements de la nouvelle table des partitions:
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
On fait un dump du disque précédent:
sfdisk --dump /dev/sda > sda.dump
# cat sda.dump
label: gpt
label-id: F4C65904-AE36-9840-8A8E-896F80BB3E44
device: /dev/sda
unit: sectors
first-lba: 2048
last-lba: 3907029134
sector-size: 512
/dev/sda1 : start= 2048, size= 1048576, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=28EE3FC6-31D0-9940-AE6D-747516CA9E60
/dev/sda2 : start= 1050624, size= 24117249, type=0657FD6D-A4AB-43C4-84E5-0933C84B4F4F, uuid=4112F137-A11E-434B-A6FF-A8BB94479F62
/dev/sda3 : start= 25169920, size= 3881859072, type=E6D6D379-F507-44C2-A23C-238F2A3DF928, uuid=1E816DE5-C4FE-594A-9577-E5617373F36A
On duplique vers le second disque :
sfdisk /dev/sdb < sda.dump
Voir Chiffrement sur cette page
swapoff -a
cryptsetup open --type plain --cipher aes-xts-plain64 --key-file /dev/urandom /dev/sda2 cryptswapa
cryptsetup open --type plain --cipher aes-xts-plain64 --key-file /dev/urandom /dev/sdb2 cryptswapb
mkswap /dev/mapper/cryptswapa
mkswap /dev/mapper/cryptswapb
swapon /dev/mapper/cryptswapb
swapon /dev/mapper/cryptswapa
On se met en RAID1
# mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sd[a-b]1
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
mdadm: size set to 523264K
Il faut confirmer avec y:
Continue creating array? y
Confirmation:
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
Ensuite on formate cette partition:
mkfs.ext4 /dev/md1
On utilise RAID1 pour le serveur de redondance
mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sd[a-b]3
Initialiser le chiffrement LUKS sur le RAID :
cryptsetup -q -s 512 -c aes-xts-plain64 luksFormat /dev/md0
# cryptsetup -q -s 512 -c aes-xts-plain64 luksFormat /dev/md0
Enter passphrase for /dev/md0:
On récupère l'UUID et on le note précieusement :
cryptsetup luksDump /dev/md0 | grep UUID | awk '{print $2}'
:::information
Cette information (UUID) sera nécessaire au moment de configurer le déchiffrement au démarrage
:::
Ouvrir le conteneur chiffré :
cryptsetup luksOpen /dev/md0 raid_crypt
Saisir la passphrase:
Enter passphrase for /dev/md0:
apt update && apt install -y cryptsetup lvm2 debian-keyring
Création sur la partition 3 du premier disque:
pvcreate /dev/sda3
Création sur la partition 2 du second disque:
pvcreate /dev/sdb2
Création du VG
vgcreate debian-zeta-vg /dev/sda3
Extension du VG
vgextend debian-zeta-vg /dev/sdb2
Vérification (ici le VG doit faire 3,6To):
# vgdisplay debian-zeta-vg
--- Volume group ---
VG Name debian-zeta-vg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size <3.62 TiB
PE Size 4.00 MiB
Total PE 947846
Alloc PE / Size 0 / 0
Free PE / Size 947846 / <3.62 TiB
VG UUID i58CcT-sZgA-mjZc-8Kb1-qhLW-LOZP-rlI0if
Pour ce serveur Proxmox, on aura deux partitions LVM:
lvcreate -L 100G -n lv_root debian-zeta-vg
lvcreate -l 100%FREE -n lv_data debian-zeta-vg
Formater en ext4 :
mkfs.ext4 /dev/vg_raid/lv_root
mkfs.ext4 /dev/vg_raid/lv_data
mkfs.ext4 /dev/sda1
Aller sur la page Debian -- Details of package debootstrap in bookworm
Récupérer l'adresse dans la section Télécharger et en cliquant sur all
Copier un des liens et l'utiliser pour télécharger sur le serveur:
wget http://ftp.fr.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.128+nmu2+deb12u2_all.deb
On l'installe:
dpkg -i debootstrap*.deb && rm -f debootstrap*.deb
Rappel:
Le tout étant dans un premier temps monté sur le point de montage /mnt
mount /dev/debian-zeta-vg/lv_root
mkdir /mnt/data
mount /dev/debian-zeta-vg/lv_data /mnt/data/
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot