# [Incus] Manuel

## Introduction

Incus est un gestionnaire de conteneur LXC et de machines virtuelles. Il est très rapide et s'accompagne d'une interface graphique qui aide grandement à la gestion des instances.

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

## Manuel

#### Créer un pool de stockage BTRFS

```bash
incus storage create pool-01 btrfs
```

<p class="callout success">Ici le pool s'appellera **pool-01** .</p>

#### Créer un réseau NAT

```bash
incus network create incusbr0 --type=bridge
```

#### Attacher un réseau NAT à une VM

```bash
incus network attach incusbr0 ct-almalinux eth0
```

#### Connecter le réseau Host à une interface

```bash
incus network attach-profile enp1s0 default eth0
```

<p class="callout success">Ici l'interface virtuelle **eth0** (à remplacer par le nom de l'interface de votre VM) sera connectée sur l'interface physique **enp1s0** de l'hôte. </p>

#### Créer un conteneur

```bash
incus launch images:almalinux/9 ct-almalinux --storage pool-01 --network incusbr0
```

<p class="callout info">Dans le cas où vous souhaitez vous connecter au réseau hôte, ne mettez pas l'option **--network** et connectez le réseau host comme vu ci-dessus.</p>

#### Créer une VM

```bash
incus launch images:debian/12 vm-debian-01 --vm --storage pool-01
```

#### Lister les VMs

```
incus list
```

#### Lister les réseaux

```bash
incus network list
```

#### Lister les pools de stockage

```bash
incus storage list
```

#### Afficher des infos sur une VMs

```bash
incus info <VM_NAME>
```

#### Ouvrir un shell dans une VM

```bash
incus exec <VM_NAME> -- /bin/bash
```

<p class="callout info">**/bin/bash** peut être remplacé pour exécuter un autre programme (ou commande).</p>

#### Créer une backup d'une VM/conteneur

```bash
incus export <VM_NAME> vm_backup.tar.gz
```

#### Restaurer une backup d'une VM/conteneur

```bash
incus import <BACKUP_NAME>
```

#### Créer un snapshot d'une VM/conteneur

```bash
incus export <VM_NAME> vm_backup.tar.gz
```

#### Restaurer une snapshot d'une VM/conteneur

```bash
incus snapshot restore <VM_NAME> <SNAPSHOT_NAME>
```

#### Cloner une VM/conteneur

```bash
incus copy <VM_NAME> <NEW_VM_NAME>
```