Outils pour utilisateurs

Outils du site


martine:host

Détails de la config de l'hôte

Organisation des disques

  • ATTENTION: dans Linux les disques sont découverts et nommés par 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 .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

martine/host.txt · Dernière modification : 2024/06/17 21:10 de lila