technique:infrastructure:hyperviseurs:tetaneutral:install_debian

Installation de Debian et configuration du stockage

Cette page détaille l’installation de Debian sur les deux machines physiques chez Tetaneutral (TTNN).

Pour l’installation de Proxmox, des machines virtuelles ou de la configuration réseau, voir les pages concernées.

Elle peut servir de guide pour l’installation d’une troisième machine physique qui vise à héberger des machines virtuelles, à adapter en fonction de la configuration matérielle (interfaces réseau, disques…)

Note:

Cette page fait appel à de nombreuses notions, qu’il n’est pas nécessaire de maîtriser entièrement, mais qu’il vaut mieux connaître un minimum, en particulier :

  • BIOS/UEFI
  • PXE
  • Partitionnement
  • LVM
  • RAID
  • Bootloader

Elle décrit l’installation des machines telle qu’elle a été faite en 2016 et présuppose certains choix sur lesquels on ne revient pas par la suite, et qui sont assez dépendants du matériel utilisé (et donc pas forcément adaptés à un autre matériel). En particulier, pour suivre les étapes ci-dessous :

  • La carte mère doit supporter PXE, pour booter depuis une image sur le réseau - on peut très bien booter depuis une clé bootable autrement!
  • L’installateur Debian doit être lancé en “mode BIOS”, et pas en “mode UEFI”. Si on utilise PXE, l’option Launch PXE OpROM policy ou équivalent doit être à Legacy First. Si on utilise une clé bootable, elle doit avoir été flashée en “mode BIOS” et le firmware doit être configuré pour accepter ce genre de clé (option type USB Legacy Support). En effet, l’installation d’un système d’exploitation en UEFI suppose la création d’une partition spéciale (dite ESP), qui contient des exécutables permettant d’amorcer le système d’exploitation (ou bootloaders), ce que ne couvre pas cette page. Pour comprendre en profondeur la différence entre BIOS et UEFI, voir cette page. Tout ce qu’il faut savoir, c’est que la majorité des cartes mères UEFI “comprennent” aussi les configurations BIOS, ce qui permet à l’installation de fonctionner.
  • On utilise un RAID software plutôt qu’un RAID hardware. Le RAID software est plus lent mais à l’avantage d’être géré par le noyau Linux, et pas par un contrôleur dédié dont la panne serait vraiment difficile à réparer.

L’installation de la machine passe par l'accès VNC, permettant d’obtenir un bureau à distance même sans système d’exploitation, et via PXE en utilisant netboot.xyz derrière. Cette fonctionnalité permet de démarrer à partir d’une image d’un système d’exploitation se trouvant sur le réseau, ce qui nous évite par exemple de devoir démarrer depuis une clé bootable. Elle est rendue possible par la carte mère, ce ne sera peut-être pas pour d’autres machines.

On installe un Debian “classique”. Lors de l’installation, choisir Debian (version stable), installeur mode graphique (en mode texte l’AMT finit par planter).

Pendant l’installation, la carte eth0 (I219LM) est celle qui a le DHCP qui donne accès à Internet temporairement. Après l’installation, la carte eth1 (82572EI) est celle qui portera les IPv4/v6 publiques, eth0 sera “down”, réservée uniquement pour l’AMT et pas sur le net (IP privées).

On configure le clavier en français et la langue en anglais.

Le nom de la machine sera par exemple alice, et son domaine alice.picasoft.net.

Attention:

Le mot de passe de l’utilisateur root est à ajouter dans le pass (attention, l’installateur peut être en QWERTY).

Toute la configuration de cette section se fait depuis l’installateur Debian. Pour un exemple (à adapter à la configuration donnée ci-dessus), on pourra se référer à ce tutoriel - on le résume et l’adapte ci-dessous.

Chaque machine possède deux HDD et deux SSD. On va partitionner les SSD lors de l’installation, et on verra pour les HDD quand l’installation sera terminée. L’idée pour les deux SSD est de :

  • Partitionner chaque SSD avec deux partitions de même taille : une pour les fichiers nécessaires au boot, une pour tout le reste.
  • Configurer ces partitions en RAID 1), i.e. en miroir, ceci afin de nous protéger si un disque venait à être endommagé.
  • Utiliser LVM pour partitionner la seconde partition : on la séparera en trois - une partition pour la racine, une partition pour les images des machines virtuelles, et une pour le SWAP.

Partitionnement

On choisit donc un partitionnement manuel. Créer une nouvelle table de partitions pour chaque SSD. Ensuite, créer des partitions primaires.

La configuration sera donc la suivante pour le premier SSD (sda dans ce cas précis, à vérifier lors d’une installation ultérieure) :

  • sda1 : 200M, de type volume physique pour RAID - penser à mettre l’indicateur d’amorçage (bootable) à présent.
  • sda2 : 500G, de type volume physique pour RAID

Idem pour le second SSD (sdb dans ce cas précis, à vérifier lors d’une installation ultérieure) :

  • sdb1 : 200M, de type volume physique pour RAID - penser à mettre l’indicateur d’amorçage (bootable) à présent.
  • sdb2 : 500G, de type volume physique pour RAID

Note:

On dit 500G mais ça peut être plus en fonction de l’espace disponible. Attention, chaque paire de partition doit avoir exactement la même taille, à l’octet près!

Installation du RAID

Maintenant qu’on possède nos quatre partitions, l’idée est de former deux périphériques RAID 1.

  • Le premier (sda1 et sdb1) est un RAID 1 de 200M
  • Le second (sda2 et sdb2) est un RAID 1 de 500G (ce chiffre peut varier en fonction de la taille du disque, on le garde pour la suite).

Depuis l’écran des partitionnement, on choisira de configurer le RAID logiciel. On choisit ensuite de créer un périphérique multidisque (i.e. RAID), et on choisit RAID 1. Le nombre de périphériques est 2 (on crée des paires de disques). Le nombre de périphérique de réserve est 0.

Dans l’écran qui suit, on sélectionne les partitions sda1 et sdb1.

On répète la même opération pour les partitions sda2 et sdb2.

À la fin de la création des périphériques multidisques, on devrait voir deux périphériques RAID 1 sur l’écran de partitionnement, en plus du partitionnement des disques en eux-même.

Configuration des périphériques RAID

Résumons : on a partitionné nos SSD et on a créé des périphériques RAID 1, qu’on peut maintenant utiliser comme des partitions classiques. Il est maintenant temps de formater ces partitions.

Le premier périphérique de 200M est à formater en ext2 et à monter sur /boot : c’est sur ce périphérique qu’on bootera, et il contiendra les images disques permettant d’amorcer le système (initramfs, initrd ou autre…).

Note:

En théorie, il n’y a pas besoin d’avoir une partition séparée pour les fichiers de boot, mais comme les données des machines virtuelles seront stockées sur des partitions LVM, et que certains bootloaders on du mal avec ce genre de configurations, on préfère utiliser un système de fichier supportée universellement, simple et léger (comme ext2), pour éviter tout problème.

Le deuxième périphérique est à configurer comme périphérique LVM.

Partitionnement LVM

Depuis l’écran de partitionnement, on choisira de configurer LVM (Logical Volume Manager). On choisit ensuite de créer un Volume Group (VG). Un VG est un agrégat de disques durs ou de partitions (PV, ou Physical Volumes), à partir duquel on pourra créer des partitions logiques (LV).

On l’appelle pve, et on choisit le deuxième périphérique multidisque.

Ensuite, on va créer trois partitions logiques dans le VG pve. Leur taille est arbitraire : on préférera laisser un peu d’espace non-utilisé par les LV pour pouvoir augmenter la taille de l’un d’entre eux plus tard, au besoin.

  • data, formaté en ext4, et monté sur /var/lib/vz. C’est le LV qui contiendra les images des machines virtuelles, et qui consommera la plus grande partie de l’espace (pour référence, 200G)
  • root, formaté en ext4 et monté sur / (pour référence, 90G)
  • swap, utilisé comme SWAP (pour référence, 8G).

On continue l’installation de manière classique.

Au moment de rajouter des logiciels, on oublie pas de cocher :

  • SSH server
  • standard system utilities

Au moment d’installer GRUB, on choisit de l’installer sur /dev/sda.

On termine l’installation, et on redémarre le système.

Post-installation

Toujours via VNC, on vérifie que le système a bien démarré et qu’on peut se connecter en tant que root.

On installe alors Grub sur sdb, afin de garantir que le système peut booter depuis les deux SSD indépendamment :

snippet.bash
$ grub-install /dev/sdb

À ce stade, les machines font tourner un Debian avec redondance des disques (RAID 1) et souplesse du partitionnement (LVM), mais ne sont pas encore capables de créer des machines virtuelles et ne sont pas connectées au réseau. Voir les pages dédiées.

  • technique/infrastructure/hyperviseurs/tetaneutral/install_debian.txt
  • de qduchemi