# Cours de virtualisation avancée: Proxmox

Created: 2024-05-09 jeu. 14:10

## 1. Parlons de déploiement (mais pas le vendredi)

### 1.1. Plusieurs solutions

#### 1.1.1. Machines physiques

Les applications sont déployées sur des machines physiques.

- ➕ Forte isolation des resources
- ➕ Sécurité accrue
- ➖ Laborieux à gérer
  - Un grand nombre de machines différentes
  - Surface d'attaque étendue
  - Beaucoup de travail pour rendre tolérant aux pannes
  - Peu efficace énergétiquement et économiquement

Solution adaptée plutôt lorsque l'on a un petit nombre d'applications.

#### 1.1.2. Machines virtuelles et hyperviseur

Les applications sont déployées dans des machines virtuelles gérées par un hyperviseur.

- ➕ Isolation des ressources plus faible
- ➕ Meilleure flexibilité
- ➕ Meilleure efficacité énergétique et économique
- ➕ Gestion automatisable des pannes et de la charge
- ➖ Beaucoup de machines à administrer

Solution adaptée à tout nombre d'applications.

#### 1.1.3. Conteneurs et orchestrateur

Les applications sont déployées dans des conteneurs qui sont gérés au sein d'un orchestrateur.

- ➕ Isolation des ressources plus faible
- ➕ Grande flexibilité
- ➕ Facilité d'automatisation
- ➕ Grande tolérance aux pannes (si correctement mis en place)
- ➕ Encore meilleure efficacité énergétique et économique
- ➖ Nécessite la maîtrise de l'orchestrateur en plus de compétences système
- ➖ Peut créer plus de problèmes si mauvaise mise en place ou mauvais choix

Solution adaptée à tout nombre d'applications.

## 2. Proxmox

### 2.1. Un hyperviseur "bare metal"

- S’exécute directement sur le hardware
- Optimisé pour l'exécution de machines virtuelles
- Pas comme Virtual Box

## 3. Proxmox

- Libre
- Basé sur Debian
- KVM (machines virtuelles) et LXC (conteneurs)
- Gestion via terminal ou interface web
- Orchestration, réplication, cluster
- Concurrent à Hyper-V ou ESXi
- Gestion des sauvegardes

### 3.1. Orchestration et mode cluster

- Gestion des réplications
- Gestion de la perte de machines
- Gestion des sauvegardes

### 3.2. Machines virtuelles et conteneurs

#### 3.2.1. Machine virtuelle

- Aussi appelé VM
- Embarque un système d'exploitation complet
- ➕ Isolation forte
- ➖ Lourd et nécessite plus de puissance

Les machines virtuelles sont souvent installées depuis un ISO, comme il serait fait pour une machine physique.

#### 3.2.2. Conteneur

- Aussi appelé CT
- Embarque uniquement les fichiers nécessaires
- ➕ Plus léger
- ➖ Isolation plus faible

Les conteneurs sont installés depuis des "Templates" qui possèdent des options de configuration. Les "Templates" sont des archives contenant un système de fichier.

## 4. Note sur les network bridges

- Pont entre deux réseaux
- Comme un "switch virtuel"
- Nécessaire pour permettre aux VM et CT l'accès au réseau

## 5. Éléments de configuration

### 5.1. Système

- Interfaces réseau virtuelles
- Pare-feu basique
- Gestion fine des permissions

### 5.2. Machines virtuelles et conteneurs

- CPU et mémoire vive
- Taille du (des) disque(s)
- Interfaces réseau
- Pare-feu basique

## 6. L'interface

- 1: Liste des ressources: machines, conteneurs, volumes de stockage
- 2: Configuration de l'instance / du cluster
- 3: Statut de l'instance Proxmox
- 4: Boutons pour créer les machines
- 5: Tâches en cours et historique

### 6.1. Création d'une machine virtuelle (VM)

#### 6.1.1. Onglet "General"

- "Node": l'instance Proxmox sur laquelle créer la VM
- "VM ID": l'identifiant de la VM
- "Name": le nom pour la VM
- "Resource pool": la pool de ressources à utiliser

#### 6.1.2. Onglet "OS"

- "Storage": l'espace de stockage où est stocké l'ISO
- "ISO image": l'image ISO à utiliser

#### 6.1.3. Onglet "Disks"

- "Storage": l'espace de stockage dans lequel sera stocké la VM
- "Disk size": la taille du disque

#### 6.1.4. Onglet "CPU"

- "Sockets": le nombre de CPU à virtualiser
- "Cores": le nombre de cœurs par CPU
- "Total cores": récapitulatif du nombre de cœurs qu'aura la VM

#### 6.1.5. Onglet "Memory"

- "Memory": la taille de la mémoire vive

#### 6.1.6. Onglet "Network"

- "Bridge": le pont réseau à utiliser

#### 6.1.7. Onglet "Confirm"

Récapitule la configuration de la future machine virtuelle.

### 6.2. Création d'un conteneur (CT)

Les onglets et options sont similaires à celles de la création d'une VM, avec quelques options en plus.

#### 6.2.1. Onglet "General"

- "Password" et "Confirm password": mot de passe de l'utilisateur par défaut (souvent `root`)
- "SSH public key": votre clef publique pour la connexion en SSH

#### 6.2.2. Onglet "Template"

- "Template": la template à utiliser

#### 6.2.3. Onglet "Network"

- "IPv4/CIDR": l'adresse IP qui sera assignée à l'interface réseau du conteneur
- "Gateway": la passerelle réseau qui sera utilisée

### 6.3. Notes à propos de la configuration

Vous pouvez modifier ces options à tout moment et les appliquer à la machine virtuelle ou au conteneur.

## 7. Démonstration

## 8. Pour aller plus loin

- Documentation Proxmox: `https://pve.proxmox.com/pve-docs/pve-admin-guide.html`
- Un autre guide: `https://www.it-connect.fr/comment-installer-proxmox-ve-7-0-et-creer-sa-premiere-vm/`