{{indexmenu_n>10}} # Installation de Debian + RAID SSD Cette page détaille l'installation de Debian sur les deux [[technique:infrastructure:hyperviseurs:tetaneutral:description|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...) ## Préambule 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](https://www.happyassassin.net/2014/01/25/uefi-boot-how-does-that-actually-work-then/). 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. ## Installation L'installation de la machine passe [[technique:infrastructure:urgence|par l'accès VNC]], permettant d'obtenir un bureau à distance même sans système d'exploitation, et via [PXE](https://fr.wikipedia.org/wiki/Preboot_Execution_Environment) en utilisant [netboot.xyz](https://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). ### Paramètres généraux 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`. Le mot de passe de l'utilisateur `root` est à ajouter dans le [[technique:adminsys:secu:password_store:start|pass]] (attention, l'installateur peut être en QWERTY). ### Configuration des SSD 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](https://www.carnetdumaker.net/articles/debian-8-jessie-en-configuration-raid-1-pour-les-nuls/#installation-de-debian-jessie-en-raid-1) - 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](https://fr.wikipedia.org/wiki/RAID_(informatique)), *i.e.* en miroir, ceci afin de nous protéger si un disque venait à être endommagé. * Utiliser [LVM](https://fr.wikipedia.org/wiki/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](https://fr.wikipedia.org/wiki/Espace_d%27%C3%A9change). #### 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` 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 sur les SSD de 200M, désigné par `/dev/md0` * Le second (`sda2` et `sdb2`) est un RAID 1 sur les SSD de 500G (ce chiffre peut varier en fonction de la taille du disque, on le garde pour la suite), désigné par `/dev/md1`. 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...). 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). ## Finalisation de l'installation 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 : ```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.