Créer une machine virtuelle Picasoft

Important:

Toute l’opération se fait depuis l’interface d’administration de Proxmox, sur <machine>.picasoft.net:8006, e.g. caribou.picasoft.net:8006. Il faut se connecter avec l’utilisateur root de la machine. Les identifiants sont dans le pass.

La première étape de s’assurer qu’on possède l’ISO du système d’exploitation que l’on souhaite installer. Le fichier ISO, s’il n’existe pas, est à déposer dans le dossier /var/lib/vz/template/iso/ de l’hôte.

Note:

Pour la dernière version de Debian, on pourra par exemple récupérer l’URL de la dernière version stable, et la récupérer avec un wget dans ce dossier. Pour Alpine, on utilisera Alpine Linux - Extended, la seule qui supporte une installation sans accès au réseau.

Note:

Sur Proxmox 7, on peut se rendre dans le stockage local, rubrique ISO Images, et cliquer sur Download from URL.

On commence d’abord par lancer l’utilitaire de création d’une machine virtuelle :

On choisit l’image pré-téléchargée ainsi que la bonne version du noyau :

On choisit ensuite le contrôleur SCSI. Celui-ci doit impérativement être VirtIO SCSI. SCSI, dans une machine physique, est un type de bus permettant de relier des périphériques à un ordinateur. Chaque type de bus a ses fonctionnalités et son protocole de communication. Ici, il s’agit d’un bus virtuel entre la machine hôte et la machine virtuelle. VirtIO SCSI a plusieurs avantages en matière de performance et de flexibilité.

On choisit ensuite la taille du disque dur nécessaire. Le type de disque doit être SCSI, qui a l’avantage de supporter le hotplug, c’est-à-dire l’ajout de disques virtuels à chaud. Le format de l’image devra être QCOW2, qui a l’avantage de n'occuper que la place réellement occupée par les données.

On choisira le type de stockage en fonction des besoins de la machine virtuelle (SSD ou HDD). En cas de doute, demander à l’équipe ! ^_^

On choisit le nombre de cœurs alloué à la machine virtuelle, en fonction des besoins. Une configuration 1 processeur à 2 cœurs est équivalente à mettre 2 processeurs à 1 cœur. Pour information, la plupart de nos machines virtuelles utilisent 2 processus à 2 cœurs.

Attention:

Contrairement à la capture d’écran, on choisit host pour le CPU. On utilise ainsi directement le processeur plutôt que de le virtualiser, on tire des meilleures performances. Voir ce sujet pour des explications.

Pour que les performances soient bonnes, il est indispensable de ne pas allouer plus de processeurs ou de cœurs qu’il n’existe en vrai. Dans le cas d’Alice ou Bob, on a un processeur à 4 cœurs, on allouera donc 1 socket et 4 cœurs.

On choisit ensuite la mémoire vive allouée en fonction des besoins. Nos machines virtuelles ont en général entre 4 et 32Go de RAM.

Choisir vmbr0, l’interface « bridge » de la machine. C’est l’équivalent d’un switch virtuel sur lequel sont connectées toutes les machines virtuelles.

On choisira le modèle VirtIO, qui évite d’émuler une carte réseau (c’est une carte paravirtualisée, qui “parle presque directement” à l’hôte depuis la machine virtuelle).

Attention:

Ne pas activer le firewall, que l’on configurera manuellement si on le souhaite, avec iptables ou ufw, sur la VM.

On confirme les paramètres et on coche le démarrage de la machine virtuelle.

Il faut attendre la création de la machine virtuelle. Pour effectuer l’installation, on utilise ensuite la console (présente en haut à droite de l’interface). Exemple :

Une fois la machine virtuelle créée dans Proxmox, on peut procéder à son installation. On ne détaille pas la procédure d’installation, qui peut dépendre de l’OS.

Attention:

Le mot de passe root est à renseigner dans le pass.

Si possible dans l’installateur, on activera le serveur SSH et on désactivera l’environnement de bureau et le serveur d’impression.

Il est préférable de partitionner le disque dur qui a été choisi lors de la création de la machine virtuelle avec LVM, afin de faciliter le rajout de stockage ultérieur et la souplesse du partitionnement.

Lors de l’installation, si un outil de partitionnement est intégré, on l’utilisera et on choisira :

  • Une partition /dev/sda1, de type ext2 et d’environ 200M, avec l’indicateur de boot, montée sur /boot, pour contenir les fichiers nécessaires au démarrage.
  • Une partition /dev/sda2, qui occupe le reste de l’espace disponible, de type LVM

On utilisera ensuite l’outil de partitionnement LVM de l’installateur Debian (ou équivalent pour d’autres installateurs) pour créer un VG (Volume Group) à partir du PV (Physical Volume) /dev/sda2. Sur le VG créé (nom vg00 par exemple), on créera les Logical Volumes (LV) en fonction des besoins. Pour une machine visant à héberger des services, on aura par exemple :

  • root, ext4, monté sur /, qui contient le système d’exploitation et ses logiciels
  • data, ext4, monté sur /DATA/docker, qui contient les données des services qui ne sont pas dans un volume Docker
  • docker, ext4, monté sur /var/lib/docker, qui contient tout ce qui concerne Docker
  • swap, pour le SWAP.

La taille de ces LV est en fonction des besoins : on préférera laisser un peu d’espace libre dans le VG au cas où. L’intérêt de ce partitionnement est d’éviter que l’explosion des données Docker paralyse le système, par exemple.

Attention:

Si l’installateur n’a pas d’outil de partitionnement intégré, on le fera à la main avec les commandes de la distribution concernée, une fois l’installation terminée, et on créera ensuite les systèmes de fichier. On oubliera pas de renseigner à la main les points de montage des systèmes de fichiers dans /etc/fstab.

Note:

Si on crée une VM pour un besoin spécifique (par exemple une VM destinée à recevoir des backups), on pourra se contenter d’un LV pour /, d’un LV pour les backups et d’un LV pour le SWAP.

On peut ensuite redémarrer la machine et obtenir un shell via l’interface web Proxmox pour continuer la configuration :

  • technique/infrastructure/vm.1637621332.txt.gz
  • de qduchemi