# Proxmox

Quoi ? Tu veux mettre un buzzer dans le téléviseur ? Non mamie, je vais installer un cluster sur mes hyperviseurs !

# [Proxmox] PVE

## Introduction

**PVE** pour *Proxmox Virtual Environment* est un hyperviseur libre permettant la création de machines virtuelles ainsi que de conteneur LXC.

Il est gratuit et adapté aux utilisation personnelles et professionnelles.

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-09/scaled-1680-/Uayimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-09/Uayimage.png)

## Prérequis

- Clé USB

## Installation

La première étape consiste à créer un support de démarrage avec l'[ISO](https://enterprise.proxmox.com/iso/proxmox-ve_8.0-2.iso) de **Proxmox**.

Une fois la clé USB flashée, lancer le processus d'installation et préparer si possible une adresse IP fixe pour le serveur.

Suivez les étapes d'installation.

# [Proxmox] Dépôts sans souscription

## Introduction

Par défaut, les dépôts de **Proxmox** sélectionnés sont les dépôts de la version **Enterprise** réservé aux utilisateurs ayant acheté une licence.

Cependant, si aucune clé de licence n'est spécifiée, les dépôts ne seront pas utilisables.

C'est ainsi qu'entre en jeu les dépôts **No-Subscription** qui permettent aux utilisateurs sans licence de pouvoir bénéficier de mise à jour et des dépôts de Proxmox.

## Modification des dépôts PVE et Ceph

- Tout d'abord, renommez les fichiers qui servent à l'utilisation des dépôts d'entreprise afin de les désactiver :

```bash
mv /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-enterprise.list.bak && mv /etc/apt/sources.list.d/ceph.list /etc/apt/sources.list.d/ceph.list.bak
```

- Puis créez les fichiers avec les entrées des nouveaux dépôts à utiliser :

```bash
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list && echo "deb http://download.proxmox.com/debian/ceph-quincy bookworm no-subscription" > /etc/apt/sources.list.d/ceph-no-subscription.list
```

# [Proxmox] Supprimer message subscription

## Introduction

Lorsque vous utilisez Proxmox en mode no-subscription, un message apparaît à chaque fois que vous vous connectez pour vous rappeler que vous n'avez pas de licence.

Si vous utilisez Proxmox quotidiennement, cela peut vite devenir gênant.

## Commande

Voici la commande qui va supprimer ce message (à refaire à chaque MAJ de Proxmox) :

```bash
sed -Ezi.bak "s/(Ext.Msg.show\(\{\s+title: gettext\('No valid sub)/void\(\{ \/\/\1/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service
```

# [Proxmox] Cluster

## Introduction

Les **clusters** Proxmox sont des groupes de serveurs Proxmox (appelés **noeuds**) qui permettent d'étendre les fonctionnalités de Proxmox.

Ils sont nécessaire pour faire de la migration d'un serveur à l'autre, de la haute disponibilité et pour pouvoir gérer tous les serveurs Proxmox depuis la même interface.

## ![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/VKCimage.png)

## Prérequis

- Avoir 3 serveurs Proxmox installés sur le même sous-réseau etavec la même version.

## Installation

Dans notre configuration nous aurons 3 serveurs Proxmox vierges, fraîchement installés :

- **pve01** (Node 1) : 192.168.200.11
- **pve02** (Node 2) : 192.168.200.12
- **pve03** (Node 3) : 192.168.200.13

Depuis le Node 1, on va se rendre dans **Datacenter &gt; Cluster** pour créer le cluster :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/Vuuimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/Vuuimage.png)

On donne un nom au cluster et on sélectionne l'interface réseau de celui-ci :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/H4Oimage.png)

Une fois que le message **"Task OK"** apparaît, on peut fermer la fenêtre :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/To0image.png)

Désormais, on peut cliquer sur **Join Information** pour afficher et **copier** les informations nécessaires pour rejoindre le cluster :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/bQnimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/bQnimage.png)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/qO9image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/qO9image.png)

Ensuite, on peut venir se connecter sur le **Node 2** et se rendre dans **Datacenter &gt; Cluster** pour cliquer sur **Join Cluster** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/m34image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/m34image.png)

On peut coller les informations copiées précédemment, saisir le mot de passe root du Node 1 ainsi que sélectionner l'interface réseau connecté au cluster :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/tCSimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/tCSimage.png)

On peut ensuite cliquer sur le bouton **Join '&lt;CLUSTER NAME&gt;'** et attendre que la connexion avec le serveur échoue.

<p class="callout warning">Il faudra rafraîchir la page manuellement pour constater que le noeud à bien été ajouté au cluster après le plantage de Proxmox (un message **Connection Error** devrait apparaître en fond).</p>

On peut réitérer les opération faites sur le Node 2 sur le **Node 3** pour qu'il puisse à son tour rejoindre le Cluster :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/STeimage.png)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/OR3image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/OR3image.png)

Si on se reconnecte sur un des trois noeuds, on s'aperçoit que le cluster est créé et fonctionnel :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/Zk3image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/Zk3image.png)

# [Proxmox] CEPH et HA

## Introduction

La mise en place de **CEPH** vous permet d'avoir un disque partagé entre les noeuds de votre cluster Proxmox.

Cela sera utile notamment pour la haute disponibilité (**HA**) que l'on mettra en place dans un second temps.

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/5z2image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/5z2image.png)

## Prérequis

- [Installer un cluster Proxmox](https://wiki.neopipe.fr/books/proxmox/page/proxmox-cluster)

## Installation de CEPH

#### Ajout des disques et carte réseaux CEPH

La première étape va être d'ajouté un disque partagé dans chacun des noeuds du cluster.

J'utilise un environnement **VMware** mais on peut très bien le faire avec des disque physiques sur des serveurs dans une baie :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/2KYimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/2KYimage.png)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/pe1image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/pe1image.png)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/qZBimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/qZBimage.png)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/VL7image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/VL7image.png)

J'ajoute un disque d'une taille de **10Go** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/8nAimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/8nAimage.png)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/oCHimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/oCHimage.png)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/rCCimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/rCCimage.png)

<p class="callout info">Puis on réitère l'opération sur chacun des noeuds du cluster Proxmox.</p>

Désormais, il faut ajouter une carte réseau sur chaque noeud pour le **réseau CEPH** (192.168.201.0/24) et ajouté un Linux Bridge sur chacun des noeuds Proxmox :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/vw7image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/vw7image.png)

<p class="callout warning">N'oubliez pas d'appliquer la configuration réseau en appuyant sur **Apply configuration**.</p>

#### Installation de CEPH sur les noeuds

Une fois les VMs redémarrées avec leur nouveau disque et nouvelle carte réseau, rendez-vous sur le **Node 1** dans l'onglet et cliquer sur **Installer CEPH** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/blzimage.png)

Puis on peut lancer l'installation de la version actuelle de CEPH (**quincy** dans notre cas) :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/08Wimage.png)

Une fois l'installation terminée, on clique sur **Next** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/cbAimage.png)

L'écran de configuration de CEPH devrait s'ouvrir et vous devrez sélectionner l'interface du réseau CEPH.

Vous devriez voir cette configuration :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/5j0image.png)

<p class="callout info">Pour le moment, l'état de santé n'est pas bon puisque nous avons pas de stockage CEPH définit.</p>

<p class="callout info">Maintenant, il faut réitérer l'installation de CEPH sur chacun des noeuds du cluster.</p>

#### Configuration des Moniteurs et Managers

Désormais ce qui est recommandé, c'est de configurer chacun des noeuds avec le rôle **Monitor** et **Manager** pour qu'on puisse avoir de la surveillance du pool même si un des noeud tombe.\*

<p class="callout warning">Par défaut, le Node 1 possède déjà les rôles Monitor et Manager.</p>

On commence par aller sur le **Node 1** dans **CEPH &gt; Moniteur** puis **Créer** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/pnaimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/pnaimage.png)

On sélectionne d'abord le **Node 2** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/SVpimage.png)

Puis le **Node 3** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/1faimage.png)

Et on fait de même pour le rôle **Manager** qui est juste en dessous avec nos **Node 2 et 3** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/AbEimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/AbEimage.png)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/Wqyimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/Wqyimage.png)[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/LrCimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/LrCimage.png)

Au final vous devriez avoir cette configuration :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/XLdimage.png)

#### Création des OSDs

Les OSDs sont les disques partagés CEPH.

On va commencer par configurer un OSD sur le **Node 1** en allant dans **CEPH &gt; OSD** puis **Create OSD** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/teIimage.png)

On peut sélectionner le disque sur lequel on souhaite installer CEPH (**/dev/sdb** dans notre cas) :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/H8yimage.png)

<p class="callout success">Réitérer l'opération sur chacun des noeuds du cluster.</p>

Vous devriez avoir la configuration suivante :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/FtNimage.png)

#### Création du pool de stockage

L'objectif va être de créer un groupe (pool) d'OSDs qui sera utilisé par nos VMs.

Pour cela, on se rend sur le **Node 1** dans **CEPH &gt; Pools** puis **Create** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/Bypimage.png)

On choisit un **nom** ainsi que la **taille** du pool qui correspond au nombre d'OSD présent dans le pool :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/18Uimage.png)

<p class="callout info"> La **taille minimale** (Min Size) signifie que le pool continuera de fonctionner avec seulement 2 noeuds sur 3 disponibles.</p>

Le stockage CEPH devrait apparaître sur chacun des noeuds :

## ![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/0kpimage.png)

## Installation de la Haute Disponibilité (HA)

#### Création de la VM pour la HA

Nous allons créer une VM qui prendra en charge la **HA**, ce qui signifie qu'elle sera automatiquement répliquée sur le une autre noeud si le noeud principal de VM venait à devenir défaillant.

<p class="callout warning">La migration ne sera effective que si les lecteurs **CD** sont supprimés des VMs sinon elle échouera systématiquement.</p>

Pour cela nous allons créer une VM de manière standard mais nous allons l'installer sur le **<span style="text-decoration: underline;">stockage</span> CEPH** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/185image.png)

<p class="callout info">Vous pouvez créer et installer votre VM normalement, la configuration de la HA viendra après ces étapes.</p>

#### Configuration de la HA sur le cluster

Désormais, on va configurer la HA sur le cluster.

Pour cela, rendez-vous dans **Cluster &gt; HA &gt; Groups** puis **Create** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/Sx8image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/Sx8image.png)

Ensuite, donnez un nom à votre groupe de VM du **Node 1** pour sa configuration HA et définissez les priorités :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/itGimage.png)

<p class="callout info">Plus la priorité est haute, plus les VMs appartenant à ce groupe auront tendance à se rendre sur le noeud correspondant.</p>

On peut maintenant créer les groupes HA pour les **Nodes 2 et 3** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/Qjwimage.png)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/S8Simage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/S8Simage.png)

#### Ajout des ressources pour la HA

L'objectif va être de définir les VMs qui devront utiliser notre configuration HA.

Pour cela, rendez-vous dans **HA** Puis **Add** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/Hw2image.png)

On peut sélectionner notre VM **debian-test** (mettez la VM où vous souhaitez activer la HA), sélectionner le groupe HA que l'on souhaite ici **pool-ha-01** et cliquer sur **Add** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/5l6image.png)

<p class="callout success">La HA est désormais fonctionnelle sur votre VM.</p>

<p class="callout info">On peut le tester en arrêtant le **Node 1** et la VM doit être migrée sur le **Node 2**.</p>

# [Proxmox] Création VM Windows

## Introduction

L'installation d'une machine virtuelle Windows sur Proxmox est un peu plus fastidieuse qu'une machine virtuelle Linux.

## Source

- [Documentation officielle de Proxmox](https://pve.proxmox.com/wiki/Windows_2022_guest_best_practices)

## Prérequis

- ISO Windows
- [VirtIO driver](https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso)

## Préparation de la VM

- Créer une VM avec comme OS **Microsoft Windows 11/2022**.
- Activer le **Qemu Agent**.
- Monter le lecteur CD avec l'ISO de windows souhaité.
- Pour le disque virtuel, sélectionner **SCSI**, pour le cache choisissez l'option **Write back** et cocher **Discard**.
- Pour la carte réseau choisissez **VirtIO (paravirtualized)**
- Cliquer sur Finish
- Ajouter un disque CDROM avec comme bus **IDE** avec comme nombre 0 pour accueillir l'**ISO** des drivers virtio.

## Installation

Lors du démarrage de la VM, appuyez sur une touche pour démarrer sur le lecteur CD de Windows.

Ensuite, suivez le processus d'installation jusqu'au menu suivant :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/scaled-1680-/8tkimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/8tkimage.png)

Cliquez sur **Charger un pilote** puis choisissez **vioscsi\\2k19\\amd64** .

Vous pouvez continuer l'installation de Windows normalement.

<p class="callout warning">À la fin, il se peut que les pilotes (notamment ceux de la carte réseau) ne se soient pas installés correctement.   
Si c'est le cas, ouvrez un explorateur de fichiers pour accéder au CD de virtIO et lancez **virtio-win-gt-x64.msi** .</p>

## Drivers

Après l'installation vous verrez que vous n'avez pas accès au réseau à cause de certains pilotes manquants.

Pour corriger cela, il suffit de se rendre sur le lecteur CD pour exécuter le fichier **C:\\virtio-win-gt.msi** .

## Activer Windows et la suite Office

Lanez une session Powershell en administrateur et lancez la commande suivante :

```powershell
irm https://get.activated.win/ | iex
```

## Supprimer la partition de récupération

Tout d'abord ouvrez un **cmd.exe** en tant qu'administrateur, puis lancez **diskpart** :

```powershell
diskpart
```

Affichez les disques :

```
list disk
```

Sélectionnez votre disque :

```powershell
select disk X
```

Listez les partitions :

```powershell
list partition
```

Sélectionnez votre partition :

```powershell
select partition X
```

Supprimez-la :

```powershell
delete partition override
```

# [Proxmox] Gestion de VMs en CLI

## Introduction

Lors d'un dépannage d'appoint, il peut s'avérer utile de manipuler vos machines virtuelles et vos conteneurs depuis le shell via la commande **qm**.

## Cheat-sheet

#### Lister vos VMs

```bash
qm list
```

#### Démarrer une VM

```bash
qm start <VMID>
```

#### Éteindre une VM

```bash
qm shutdown <VMID>
```

#### Forcer l'arrêt d'une VM

```bash
qm stop <VMID>
```

# [Proxmox] Conteneur LXC

## Introduction

Proxmox en plus de la création de machine virtuelle, permet la création de **conteneur LXC** qui ne sont rien d'autres que des conteneurs Linux plus légers, plus souples et plus performant que des VMs.

De plus, les **images turnkey** permettent d'obtenir des conteneurs prêt à l'emploi pour déployer divers types de service et répondre à vos besoins.

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/scaled-1680-/XCzimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/XCzimage.png)

## Déployer un conteneur LXC

La première étape consiste à télécharger l'image dont vous avez besoin directement depuis l'interface de Proxmox en vous rendant dans un espace de stockage prêt à accueillir des **CT templates**, par défaut il s'agit de **local**.

Dans mon cas, **local &gt; CT Templates &gt; Templates** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/scaled-1680-/QUGimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/QUGimage.png)

Vous pouvez **télécharger vos images** à travers le menu suivant, qu'il s'agisse de **conteneur Linux vanilla** ou de **conteneur Turnkey** pour votre plus grand plaisir !

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/scaled-1680-/iibimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/iibimage.png)

Dans mon cas, je possède déjà une image **Debian 12 standard**, que je vais déployer pour l'exemple.

Pour ce faire, **sélectionnez le noeud** sur lequel vous souhaitez installer le conteneur et **cliquez sur Create CT** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/scaled-1680-/rTKimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/rTKimage.png)

La fenêtre suivante devrait apparaître où vous devrez indiquer les **informations du conteneur** dont le mot de passe **root** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/scaled-1680-/dcTimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/dcTimage.png)

<p class="callout info">Vous pouvez charger une clé SSH qiu sera installée sur le conteneur dès sa création.</p>

Ensuite, sélectionnez l'**image** à utiliser pour déployer le conteneur (ici, debian) :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/scaled-1680-/cwZimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/cwZimage.png)

Choisissez la taille du **disque** virtuel à allouer au conteneur :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/scaled-1680-/zirimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/zirimage.png)

<p class="callout info">Les conteneurs permettent un redimensionnement du disque à chaud !</p>

Allouez des **coeurs** de processeur au conteneur :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/scaled-1680-/Oplimage.png)

Allouez de la mémoire vive (**RAM**) au conteneur et du **swap** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/scaled-1680-/3pCimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/3pCimage.png)

Définissez les **paramètres réseaux** et confirmez :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/scaled-1680-/kKwimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/kKwimage.png)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/scaled-1680-/l36image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/l36image.png)[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/scaled-1680-/paVimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/paVimage.png)

Une fois votre conteneur est créé vous pouvez y accéder de la même manière qu'une machine virtuelle :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/scaled-1680-/1x3image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/1x3image.png)Une fois, le conteneur démarré, vous pouvez vous rendre dans la console et vous apercevoir que celui-ci est prêt à l'emploi et qu'aucun processus d'installation n'est requis contrairement à une VM :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/scaled-1680-/FTZimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-11/FTZimage.png)

<p class="callout success">Il ne vous reste plus qu'à vous connecter avec le compte root et le mot de passe précédemment définit.</p>

# [Proxmox] Spice

## Introduction

Le protocole **SPICE** est utilisé pour accéder graphiquement à la console de vos machines virtuelles sur Proxmox.

Il est plus agréable d'utilisation que le serveur VNC utilisé par défaut à travers le navigateur puisqu'il permet une meilleure intégration ainsi que le support du copier-coller (ce qui est extrêmement avantageux).

## Configuration de SPICE pour votre VM

Tout d'abord, sélectionnez votre machine virtuelle depuis le **menu principal de Proxmox**, rendez vous dans l'onglet **Hardware** et ouvrez l'option **Display** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-12/scaled-1680-/kxzimage.png)

Faites défiler le menu déroulant **Graphic Card** et sélectionnez **SPICE** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-12/scaled-1680-/DvYimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-12/DvYimage.png)

## Client SPICE sur Linux

Ensuite il vous faut un logiciel client SPICE sur votre machine pour pouvoir accéder à la console via le protocole.

Pour cela, je vous recommande d'installer le paquet **virt-viewer** :

```bash
sudo apt install -y virt-viewer
```

Désormais, une fois sur Proxmox lorsque vous cliquerez sur le bouton **Console**, un fichier sera téléchargé sur votre machine.

Il vous suffira de l'ouvrir avec virt-viewer et le tour est joué !

## Spice-guest-tool sur Windows

Pour faire fonctionner le **copier-coller** et le **transfert de fichier**, vous devez installer les spice-guest-tools sur la machine virtuelle windows.

Pour cela, rendez-vous sur le site de Spice dans la catégorie **Guest &gt; Windows Binaries** :

[https://www.spice-space.org/download/windows/spice-guest-tools/spice-guest-tools-latest.exe](https://www.spice-space.org/download/windows/spice-guest-tools/spice-guest-tools-latest.exe)

# [Proxmox] PBS

## Introduction

Proxmox dispose d'un système de sauvegarde appelé **PBS** pour *Proxmox Backup Server*.

Celui-ci permet de gérer les sauvegardes de machines virtuelles de votre serveur Proxmox.

Voici quelques options intéressantes proposées par PBS :

- Sauvegardes incrémentales.
- Gestion de la rétention.
- Planification des tâches de sauvegarde.
- Vérification de l'intégrité des sauvegardes.
- Interface web d'administration.

## [![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-10/scaled-1680-/F3cimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-10/F3cimage.png)Source

- [Documentation officielle de l'installation manuelle de PBS](https://pbs.proxmox.com/docs/installation.html)

## Installation

#### ISO

Bien que PBS s'installe sur Debian, il est préférable d'utiliser l'[ISO](https://enterprise.proxmox.com/iso/proxmox-backup-server_3.0-1.iso) si vous souhaitez y dédier un serveur.

Une fois que vous avez lancé le processus d'installation suivez les instructions afin d'installer le système.

#### Manuelle

Sinon, si vous souhaitez installer PBS sur un serveur **Debian** ou **Ubuntu**, vous pouvez lancer la commande suivante :

```bash
echo "deb http://download.proxmox.com/debian/pbs bookworm pbs-no-subscription" >> /etc/apt/source.list && wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg && apt update && apt install -y proxmox-backup
```

Puis redémarrez le système.

## Accéder à l'interface web

Ensuite, vous pourrez vous connecter à l'interface web depuis l'URL suivante :

```html
https://<IP>:8007
```

## Initialisation de disque et datastore

Nous allons initialiser un disque qui va accueillir notre datastore.

Pour cela, nous partons du principe que notre VM possède déjà d'un deuxième disque vierge dédié.

Rendez-vous sur l'interface web de PBS dans **Administration &gt; Storage / Disks** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/scaled-1680-/poaimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/poaimage.png)

<p class="callout info">Ici nous utiliserons le disque **/dev/sdb**</p>

Commencez par créer une table de partition sur le disque en cliquant sur **Initialize Disk with GPT** après avoir sélectionné le disque :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/scaled-1680-/OaRimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/OaRimage.png)

Ensuite, rendez vous dans **Directory** et cliquez sur **Create: Directory** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/scaled-1680-/92Himage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/92Himage.png)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/scaled-1680-/3iyimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/3iyimage.png)

<p class="callout success"> Le disque est maintenant formaté, monté et un datastore a automatiquement été créé dessus.</p>

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/scaled-1680-/7Flimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/7Flimage.png)

## Ajout du dépôt de sauvegarde sur PVE

Une fois que votre datastore est opérationnel sur le PBS, rendez vous sur l'interface web du PVE dans **Datacenter &gt; Storage** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/scaled-1680-/DZ6image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/DZ6image.png)

Puis cliquez sur **Add &gt; Proxmox Backup Server** et ajoutez toutes les informations requises :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/scaled-1680-/EZ3image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/EZ3image.png)

Vous pouvez récupérer les Fingerprints de votre serveur PBS depuis le **Dashboard** l'interface web de PBS :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/scaled-1680-/6AOimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/6AOimage.png)

## Création d'une tâche de sauvegarde

Pour l'exemple, nous allons créer une sauvegarde quotidienne de notre VM **debian-test** en nous rendant sur l'interface web de PVE dans le menu **Datacenter &gt; Backups** puis cliquez sur **Add** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/scaled-1680-/K0Mimage.png)

Dans l'onglet **Retention** vous pouvez configurer les sauvegardes qui seront conservées de manière journalière, hebdomadaire, mensuelle ou même annuelle :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/scaled-1680-/zukimage.png)

<p class="callout info">Ici, la sauvegarde sera effectuée tous les jours à 4h du matin et nous conserverons 5 sauvegardes journalières, 1 hebdomadaire, 1 mensuelle et 1 annuelle. </p>

<p class="callout success">Une fois que vous aurez cliqué sur **Create**, votre tâche planifiée de sauvegarde sera programmée.</p>

<p class="callout success">Vous pouvez cliquer sur **Run Now** pour lancer et tester votre sauvegarde.</p>

## Restaurer une sauvegarde

Si vous avez besoin de restaurer une sauvegarde, vous pouvez vous rendre sur l'interface web PVE, sélectionnez votre VM puis dans le menu **Backup**, cliquez sur **Restore** après avoir sélectionné votre sauvegarde :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/scaled-1680-/UN3image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/UN3image.png)

# [Proxmox] GNS3 Remote Server

## Introduction

Ce tutoriel présente comment installer un **Remote GNS3 Server** dans une VM Proxmox.

Bien que Proxmox ne soit pas officiellement supporté pour GNS3, des membres de la communauté ont testés la solution et semble fonctionner de manière stable.

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/SF3image.png)

## Source

- [https://benheater.com/proxmox-gns3-remote-server/](https://benheater.com/proxmox-gns3-remote-server/)

## Installation

#### Préparation de la VM

Tout d'abord, il va falloir préparer la machine virtuelle qui accueillera GNS3.

Pour cela, on clique sur **Create VM** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/U93image.png)

On coche **Do not use any media** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/tpYimage.png)

Dans la catégorie **Disks**, on supprime le disque en cliquant sur le logo de la corbeille :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/kIKimage.png)

<p class="callout info">Les options suivantes sont à configurer à votre guise et n'ont pas de spécificités propres à GNS3.</p>

#### Import des disques virtuels

L'objectif va être de récupérer les disques virtuels pour la version **VMware ESXI** depuis le site officiel, pour les convertir en format **QEMU** (utilisé par Proxmox) et puis les attribuer à notre VM précédemment créée.

Pour commencer, récupérez le lien des disques au format ESXI sur le site officiel de GNS3 :

- [https://gns3.com/software/download-vm](https://gns3.com/software/download-vm)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/8G1image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/8G1image.png)

Ensuite, connectez-vous au shell de votre serveur Proxmox et exécutez les commandes suivantes :

```bash
cd /tmp
```

```bash
wget <LINK>
```

<p class="callout info">Remplacez **&lt;LINK&gt;** par le lien copié précédemment sur le site de GNS3.</p>

```bash
unzip GNS3.VM.VMware.ESXI.*.zip
mkdir GNS3_OVA_Files
tar -xvf 'GNS3 VM.ova' -C GNS3_OVA_Files/
cd GNS3_OVA_Files/
```

Ensuite, convertissez les disques au format **qcow2** (la commande peut mettre un moment à s'exécuter, soyez patient) :

```bash
qemu-img convert -f vmdk -O qcow2 ./GNS3_VM-disk1.vmdk ./GNS3_VM-disk1.qcow2
qemu-img convert -f vmdk -O qcow2 ./GNS3_VM-disk2.vmdk ./GNS3_VM-disk2.qcow2
```

 Puis importez les disques dans la VM :

```bash
qm importdisk <VM_ID> ./GNS3_VM-disk1.qcow2 local-lvm --format qcow2
qm importdisk <VM_ID> ./GNS3_VM-disk2.qcow2 local-lvm --format qcow2
```

<p class="callout info"> Le **&lt;VM\_ID&gt;** doit être remplacé par le numéro (ID) de la VM et **local-lvm** est le nom du volume qui accueille les VMs par défaut, ce qui n'est peut-être pas votre cas et vous devriez le changer si c'est le cas.</p>

Puis on peut tout nettoyer :

```bash
cd /tmp
rm -rf GNS3*
```

Enfin, on doit forcer la VM à utiliser le processeur en mode **host** avec cette commande sinon vous aurez des problèmes de virtualisation des équipements dans GNS3 :

```bash
qm set <VM_ID> --cpu host
```

#### Paramétrage des disques dans la VM

Depuis l'interface web de Proxmox, sélectionnez la VM GNS3 et rendez-vous dans **Hardware** puis faite un double clique sur **Disk 0** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/wMDimage.png)

Cliquez sur Add et faite de même avec le **Disk 1** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/Bm4image.png)

Maintenant, rendez-vous dans l'onglet **Options** et cliquez sur **Boot Order** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/45himage.png)

<p class="callout success">Vous pouvez valider et démarrer la VM. Par défaut elle utilise DHCP pour obtenir une IP et écoute sur le port **80**.</p>

# [Proxmox] Exporter une VM de VMWare à Proxmox

## Introduction

Le passage d'une VM de VMware à Proxmox n'est pas supporté de manière graphique dans Proxmox mais quelques lignes de commande assez simples permettent de réaliser ces opérations.

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/vy8image.png)

## Manuel

La première étape est de copier le fichier de disque de VMware (format **vmdk**) sur le serveur Proxmox.

Pour cela, plusieurs solutions s'offrent à vous mais personnellement j'aime bien utiliser **SCP** :

```bash
scp <VM>.vmdk <USER>@<SRV_IP>
```

Une fois le fichier transféré, on peut créer une nouvelle VM sur Proxmox sans lui attribuer de nouveau disque.

Ensuite, utilisez la commande suivante pour convertir le fichier **vmdk** au format **qcow2**, pris en charge par QEMU et donc par Proxmox :

```bash
qemu-img convert -f vmdk <VM>.vmdk -O qcow2 /var/lib/vz/images/<VM_ID>/<VM_NAME>.qcow2
```

Enfin, sélectionnez votre VM depuis l'interface web de Proxmox et rendez-vous dans la catégorie **Hardware** pour importer le disque grâce au **Disk actions**.

# [Proxmox] Exporter une VM de Virtualbox à Proxmox

## Introduction

Le passage d'une VM de Virtualbox à Proxmox n'est pas supporté de manière graphique dans Proxmox mais quelques lignes de commande assez simples permettent de réaliser ces opérations.

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2026-04/scaled-1680-/image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2026-04/image.png)

## Manuel

La première étape est de copier le fichier de disque de Virtualbox (format **ova**) sur le serveur Proxmox.

Pour cela, plusieurs solutions s'offrent à vous mais personnellement j'aime bien utiliser **SCP** :

```bash
scp <VM>.ova <USER>@<SRV_IP>
```

Une fois le fichier transféré, on peut créer une nouvelle VM sur Proxmox sans lui attribuer de nouveau disque.

Tout d'abord, il faut extraire l'archive .ova pour récupérer le fichier .vmdk (format VMWare) :

```bash
tar xvf <VM>.ova
```

Ensuite, utilisez la commande suivante pour convertir le fichier **vmdk** récupéré au format **qcow2**, pris en charge par QEMU et donc par Proxmox :

```bash
qemu-img convert -f vmdk <VM>.vmdk -O qcow2 /var/lib/vz/images/<VM_ID>/<VM_NAME>.qcow2
```

Enfin, sélectionnez votre VM depuis l'interface web de Proxmox et rendez-vous dans la catégorie **Hardware** pour importer le disque grâce au **Disk actions**.

# [Proxmox] Créer un utilisateur PAM

## Introduction

La procédure pour créer un utilisateur PAM n'est pas inuitive et nécessite quelques manipulations pour être effectuée.

## Manuel

Tout d'abord ouvrez un shell sur le serveur Proxmox et créez votre utilisateur :

```bash
adduser <USER>
```

Ensuite, ajoutez le au groupe Proxmox :

```bash
pveum user add <USER>@pam
```

Et définissez ses droits :

```bash
pveum acl modify <PATH> --roles PVEAdmin --users <USER>@pam
```

<p class="callout info">Remplacez le **&lt;PATH&gt;** par la racine (/) ou un autre chemin.</p>

# [Proxmox] GOAD

## Introduction

Pour mettre en place le **GOAD**, vous pouvez suivre la documentation officielle sauf que celle-ci et longue et fastidieuse. Je vous partage ici la solution à partir des images disques des trois machines.

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-12/scaled-1680-/image.png)

## Prérequis

La première étape consiste à extraire le .ova pour obtenir les vmdk et les convertir :

```bash
qemu-img convert -O qcow2 disk1.vmdk disk1.qcow2
```

<p class="callout info">Réitérez avec toutes les images disques.</p>

## Installation

Après avoir téléversé les images sur le noeud proxmox, créez les VMs avec les options suivantes :

- Pas de disque
- System &gt; SCSI Controller &gt; Default (LSI53C895A)

Une fois que c'est fait, attachez le disque à la VM :

```bash
qm importdisk 505 disk1.qcow2 local-lvm
```

Puis activez le disque :

- VM &gt; Hardware &gt; Double clic sur le disque &gt; Bus device &gt; SATA &gt; Add
- Option &gt; Boot order &gt; Cocher le disque &gt; Déplacer en haut de la liste

<p class="callout success">Démarrez les VMs !</p>

# [Proxmox] Template et cloud-init

## Inroduction

Proxmox permet la création de templates qui vous permettent d'éviter l'installation de l'OS à chaque installation et d'enregistrer certaines configurations. Cloud-init va vous permettre d'enregistrer un nom d'utilisateur, un mot de passe, une clé SSH et une configuration IP depuis le menu de Proxmox ce qui est très pratique et automatisable.

## Installation

#### Debian 12

Tout d'abord, lancez un shell sur votre noeud proxmox puis téléchargez l'image cloud-init de Debian 12 :

```bash
wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-genericcloud-amd64.qcow2
```

Créez la VM qui va servir de base pour votre template :

```bash
qm create <TEMPLATE_ID> --name "<TEMPLATE_NAME>" --memory 1024 --net0 virtio,bridge=vmbr0
```

<p class="callout info">Vous pouvez changer la taille de la RAM et le réseau à utiliser par défaut pour votre template.</p>

Importez le disque cloud-init dans votre VM :

```bash
qm importdisk <TEMPLATE_ID> debian-12-genericcloud-amd64.qcow2 local-lvm
```

Modifiez les paramètre du disque pour le rendre fonctionnel :

```bash
qm set <TEMPLATE_ID> --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-900-disk-0
```

Mettre le disque en mode cloud-init :

```bash
qm set <TEMPLATE_ID> --ide2 local-lvm:cloudinit
```

Rendre le disque bootable :

```bash
qm set <TEMPLATE_ID> --boot c --bootdisk scsi0
```

Configurez l'affichage pour Proxmox :

```bash
qm set <TEMPLATE_ID> --serial0 socket --vga serial0
```

Puis templatisez votre VM :

```
qm template <TEMPLATE_ID>
```

Vous devriez voir apparaître votre template dans l'interface de Proxmox :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2025-01/scaled-1680-/image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2025-01/image.png)

<p class="callout success"> Vous pouvez désormais cloner votre template pour créer des VMs.</p>

#### Cloud-init

Vous pouvez modifier les paramètres de votre VM grâce à Cloud Init :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2025-01/scaled-1680-/rNjimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2025-01/rNjimage.png)

Vous pouvez définir :

- Le nom d'utilisateur.
- Le mot de passe d'utilisateur.
- Une clé SSH.
- La mise à jour automatique des paquets.
- La configuration IP (statique/DHCP).