===== Détails de la config de l'hôte ===== ==== Organisation des disques ==== * **ATTENTION:** dans Linux les disques sont découverts et nommés par [[https://wiki.archlinux.org/title/Udev#udev_rule_example|udev]], qui scanne les différents bus en parallèle. D'un boot à l'autre on peut donc avoir un nommage totalement différent. * Si on doit utiliser le nom d'un disque ou d'une partition dans une config, il faudra donc utiliser les noms statiques ou les IDs. On peut trouver les noms statiques dans ''/dev/disk/by-id/wwn-*'' et les IDs grace à la commande ''blkid'', ou avec ''lsblk -o+wwn,partuuid,uuid'' * Pour voir le nom statique d'un disque ou d'une partition : * ''ls -l /dev/disk/by-id/wwn-* | grep sda$'', ''sda'' étant à remplacer par le nom du disque ou de la partition dont on veut trouver le nom statique (attention, s'il s'agit d'un périphérique nvme, le nom commencera par ''nvme-eui-'' et non ''wwn-''). * ''udevadm info /dev/sda'' (regarder les champs "S:" et prendre le périphérique "wwn-*" root@martine:~# lsblk /dev/sd{f,g} NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sdf 8:80 0 111,8G 0 disk ├─sdf1 8:81 0 476M 0 part │ └─md0 9:0 0 475M 0 raid1 /boot ├─sdf2 8:82 0 477M 0 part /boot/efi └─sdf3 8:83 0 110,9G 0 part └─md1 9:1 0 110,8G 0 raid1 └─md1_crypt 253:0 0 110,8G 0 crypt ├─martine--vg-swap 253:1 0 3,7G 0 lvm [SWAP] ├─martine--vg-log 253:2 0 3,7G 0 lvm /var/log └─martine--vg-root 253:3 0 9,3G 0 lvm / sdg 8:96 0 111,8G 0 disk ├─sdg1 8:97 0 476M 0 part │ └─md0 9:0 0 475M 0 raid1 /boot ├─sdg2 8:98 0 477M 0 part /boot/efi2 └─sdg3 8:99 0 110,9G 0 part └─md1 9:1 0 110,8G 0 raid1 └─md1_crypt 253:0 0 110,8G 0 crypt ├─martine--vg-swap 253:1 0 3,7G 0 lvm [SWAP] ├─martine--vg-log 253:2 0 3,7G 0 lvm /var/log └─martine--vg-root 253:3 0 9,3G 0 lvm / === SSDs système === Nos deux SSDs servent aux systèmes et sont partitionnés de la même manière: * **sdX1**: partition de 475MB membre d'un périphérique RAID1 (md2), contenant /boot * **sdX2**: partition de 110.9GB, membre d'un périphérique RAID1 (md1), lui-même volume LUKS, lui-même volume physique LVM (voir plus bas pour les détails) * **sdX3**: partition de 477MB de type ESP (RAID n'est pas possible pour les partitions EFI, on a donc un hook grub pour les garder synchronisées) +-------------------------------------+ +-------------------------------------+ | Physical SSD wwn-0x55cd2e414e1103dc | | Physical SSD wwn-0x55cd2e414e11044e | | | | | | +---------------------------------+ | | +---------------------------------+ | | | Partition 1: 500M | | | | Partition 1: 500M | | | | RAID1 member (md0) | | ← md0 → | | RAID1 member (md0) | | | +---------------------------------+ | | +---------------------------------+ | | | | | | +---------------------------------+ | | +---------------------------------+ | | | Partition 2: 500M | | grub | | Partition 2: 500M | | | | ESP partition (EFI) | | hook → | | ESP partition (EFI) | | | | UUID: | | | | UUID: | | | | Monté sur /boot/efi | | | | Monté sur /boot/efi2| | | +---------------------------------+ | | +---------------------------------+ | | | | | | +---------------------------------+ | | +---------------------------------+ | | | Partition 2: 110G | | ← md1 → | | Partition 2: 110G | | | | RAID1 member (md1) | | | | RAID1 member (md1) | | | +---------------------------------+ | | +---------------------------------+ | | | | | +-------------------------------------+ +-------------------------------------+ Détails du périphérique RAID1 ''/dev/md1'' : +---------------------------------------+ | RAID1 /dev/md1 | | Type: LUKS Encrypted Volume | | | | +-----------------------------------+ | | | LVM Physical Volume | | | | | | | | +-------------------------------+ | | | | | LVM Volume Group "martine-vg" | | | | | | | | | | | | +---------------------------+ | | | | | | | LVM Logical Volume "swap" | | | | | | | | Taille: 4Gb | | | | | | | +---------------------------+ | | | | | | | | | | | | +---------------------------+ | | | | | | | LVM Logical Volume "root" | | | | | | | | Taille: 10Gb | | | | | | | | Monté sur: / | | | | | | | +---------------------------+ | | | | | | | | | | | | +---------------------------+ | | | | | | | LVM Logical Volume "log" | | | | | | | | Taille: 4Gb | | | | | | | | Monté sur: /var/log | | | | | | | +---------------------------+ | | | | | | | | | | | | Espace disponible pour | | | | | | futurs Volume Logiques (VMs) | | | | | | | | | | | +-------------------------------+ | | | +-----------------------------------+ | +---------------------------------------+ * Configurations: * S.M.A.R.T. : Dans /etc/smartd.conf * Envoi d'un email auto au redémarrage du service smartmontools.service (pour test) * Surveillance de la température des disques * Test SMART court sur chaque disque, chaque jour à 2h du matin * Test SMART long sur chaque disque, chaque dimanche à 3h du matin * ''dropbear-initramfs'' : dans ''/etc/dropbear/initramfs/'' et ''/etc/initramfs-tools/conf.d/ip'' * Client SSH accessible dans l'initramfs pour accéder au serveur à distance et déverrouiller les disques * ''msmtp-mta'' : dans ''/etc/msmtprc'' * passerelle SMTP pour envoyer des mails depuis le serveur sans se faire chier * grub hook : dans ''/etc/grub.d/90-copy-efi-to-boot-efi2'' (voir plus bas) * nécessite que le second disque soit monté (dans /etc/fstab) * Commandes utiles: * ''cat /proc/mdstat'': voir l'état des périphériques RAID === Grub hook === ''/etc/fstab'' : UUID=7892-1EB0 /boot/efi2 vfat nofail,umask=0077 0 1 Ajouter aussi ''nofail,'' à la ligne de ''/boot/efi'' ''/etc/grub.d/90-copy-efi-to-boot-efi2'' : #!/bin/sh # from: https://wiki.debian.org/UEFI#RAID_for_the_EFI_System_Partition set -e if mountpoint -q '/boot/efi2' ; then rsync -t --recursive --delete /boot/efi/ /boot/efi2/ fi exit 0 ==== Accès distant à la machine ==== //Voir le fichier [[martine:ssh_config_local|.ssh/config]].// === Dropbear === //Dropbear est un client SSH disponible dans l'initramfs, permettant ainsi de se connecter en SSH à l'initramfs et déverrouiller les disques// Empreintes Dropbear: RSA SHA256:3easbOrvTZvSXLHkwwpkY9whw79DtF+b7uCYJ0FzWMQ ECDSA SHA256:3LBJvUm3pNp1fm1DzzuzISHL2xEXTBwkcROZgrOkh8A ED25519 SHA256:2TU2vPaXv8T7dsnCWkd3TG+LalUXVhS9KQC6Afq02QI La config dropbear est dans ''/etc/dropbear/initramfs/dropbear.conf'', et la config réseau de l'initramfs est dans ''/etc/initramfs-tools/conf.d/ip'' === SSH === **Rappel: le SSH a lieu sur un port non-standard !** Empreintes des clés SSH du serveur: user@device ~ $ ssh-keygen -F 185.177.181.105 -l 185.177.181.105 ED25519 SHA256:bTArTDF3c/uvvYWaiFBGViaZ7vf2uv1JmwtWnTYjCZg 185.177.181.105 RSA SHA256:pb+SQJcto+lOkcJrnC0bMa74L6FUnzX6lqL/dV4f77s 185.177.181.105 ECDSA SHA256:rcGFrJl7q9nJ/Bw6lk1hzU0rQA/n5HATvWugl9x7jGk ==== Suivi des changements ==== Pour suivre les changements qu'on fait sur martine, on utilise deux outils : * ''/root/Changelog'' est un fichier plat qu'on met à jour dès lors qu'on touche à la config * ''etckeeper'' est un logiciel qui met ''/etc'' dans un dépôt ''git'' et permet ainsi de suivre ses modifications ==== Sauvegardes ==== TODO