On sauvegarde sur le disques dur (raid 1?) et on restore chaque sauvegarde régulièrement sur un LXD. On éteint le LXD et on passe au suivant. En cas de grosse panne, on fournit au client un bouton rouge où il peut appuyer pour lancer le LXD.
Les sauvegardes sont faites sur 2 unités de sauvegarde YunoHost.
Le dispositif peut fournir jusqu'à 7 LXD de 1Go. Donc on peut avoir 14 VM en panne qui enclenche le mode restauration (pour 20 clients à 200G)
On utilise pas l'iso YunoHost afin de pouvoir configurer le chiffrement.
apt install keyboard-configuration console-setup
Et choisir Français
dhclient ne peut pas récupérer l'ip du réseau car la machine se croit en 2112… On peut le vérifier avec
ip a dhclient -v enp1s0
Si c'est le cas, on a un message “DHCPDISCOVER unable to set up timer: out of range”
Pour corriger ça:
date --set="20 SEP 2020 19:51:00" dhclient -v enp1s0 apt install fake-hwclock
Puis tenter de redémarrer pour vérifier que le réseau ne disparaît pas au prochain redémarrage.
apt install parted mdadm for disk in $(/usr/sbin/fdisk -l | grep TiB | cut -d" " -f2 | sed "s/ ://g" 2> /dev/null) ; do parted $disk mklabel gpt sed -e 's/\s*\([\+0-9a-zA-Z]*\).*/\1/' << EOF | fdisk $disk n 1 t 29 w p q EOF done mdadm --examine $(fdisk -l | grep "RAID Linux" | cut -d" " -f1) mdadm --create /dev/md0 --level=mirror --raid-devices=2 $(fdisk -l | grep "RAID Linux" | cut -d" " -f1)
Attendre que la synchronisation soit faite à 100%
cryptsetup luksFormat /dev/md0 cryptsetup open /dev/md0 backup_crypt
Ajout d'une clé privée On installe haveged pour pallier au problème de génération de nombre aléatoire
apt install haveged dd bs=512 count=4 if=/dev/random of=/root/backupKeyFile iflag=fullblock chmod 600 /root/backupKeyFile cryptsetup luksAddKey /dev/md0 /root/backupKeyFile
Configuration LVM
pvcreate /dev/mapper/backup_crypt vgcreate backup-vg /dev/mapper/backup_crypt lvcreate -n backup-lv -l953825 backup-vg mkfs -t ext4 /dev/backup-vg/backup-lv
On déplace /home sur le raid chiffré
mv /home /home_old mkdir /home mount /dev/backup-vg/backup-lv /home mv /home_old/* /home/
Pérénisation des configurations
mdadm --detail --scan --verbose | sudo tee -a /etc/mdadm/mdadm.conf echo "/dev/mapper/backup--vg-backup--lv /home ext4 errors=remount-ro 0 1" >> /etc/fstab
Pour obtenir les UUID on peut utiliser blkid (l'uuid de /dev/mmcblk1p3 pour la première ligne et celui de /dev/md0 pour la seconde)
echo "mmcblk1p3_crypt UUID=64b56580-3d7d-49c0-a1b6-0dea953e43be none luks" > /etc/crypttab echo "backup_crypt UUID=1b28f682-eeb4-467a-ac64-ee9f27b0c6c8 /root/backupKeyFile luks,keyscript=decrypt_keyctl" >> /etc/crypttab apt install keyutils update-initramfs -u
On backup les headers ça peut servir en cas de soucis.
cryptsetup luksHeaderBackup /dev/md0 --header-backup-file /root/luks_header_md0.img cryptsetup luksHeaderBackup /dev/mmcblk1p3 --header-backup-file /root/luks_header_mmcblk1p3.img
mdadm /dev/md0 -a /dev/sdd1