-
Notifications
You must be signed in to change notification settings - Fork 314
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* New translations proton.md (French) * New translations hpe_amsd.md (French) * New translations xfce_installation.md (French) * New translations mate_installation.md (French) * New translations kde_installation.md (French) * New translations 00-toc.md (French) * New translations 00-toc.md (French) * New translations 01-install.md (French) * New translations accel-ppp_pppoe_server.md (French) * New translations 02-zfs_setup.md (French) * New translations 05-incus_images.md (French) * New translations wireguard_vpn.md (German)
- Loading branch information
1 parent
dbaf70d
commit deda877
Showing
11 changed files
with
1,156 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
--- | ||
title: Serveur Incus. Introduction | ||
author: Steven Spencer | ||
contributors: Ezequiel Bruni, Ganna Zhyrnova | ||
tested_with: 9.4 | ||
tags: | ||
- lxd | ||
- incus | ||
- entreprise | ||
--- | ||
|
||
## Création d'un serveur Incus | ||
|
||
### Présence de `Incus` sur Rocky Linux | ||
|
||
Il y a plus d'un an maintenant – 2023 –, l'annonce suivante est sortie sur la liste de diffusion lxc-users : | ||
|
||
> Canonical, the creator and main contributor of the LXD project has decided that after over 8 years as part of the Linux Containers community, the project would now be better served directly under Canonical’s own set of projects. | ||
> — | ||
> Canonical, le créateur et principal contributeur du projet LXD, a décidé qu'après plus de 8 ans au sein de la communauté Linux Containers, le projet serait désormais mieux servi directement dans le cadre du propre ensemble de projets de Canonical. | ||
> — | ||
L’un des facteurs décisifs a été la démission de certains développeurs principaux de LXD. Ces développeurs ont ensuite bifurqué LXD vers Incus, annonçant le fork en août 2023. Une version de publication (0.1) est sortie en octobre 2023, et les développeurs ont depuis rapidement développé cette version avec des versions progressives jusqu'à la 0.7 (en mars 2024). La sortie de la version de support à long terme (6.0 LTS) a suivi la sortie de la version 0.7. 2024-09-25 : La version actuelle est 6.5. | ||
|
||
Tout au long du processus, Canonical était censé continuer à maintenir des liens vers les images de conteneurs fournies par Linux Containers. Cependant, un [changement de licence](https://stgraber.org/2023/12/12/lxd-now-re-licensed-and-under-a-cla/) a rendu impossible pour Linux Containers de continuer à proposer les images de conteneurs dans LXD. Cela signifie que LXD aura des images de conteneur, mais elles ne seront pas ce à quoi vous pourriez vous attendre. Linux Containers continue d'héberger et de prendre en charge leurs images si vous utilisez Incus. | ||
|
||
Ce document est une conversion du [livre LXD](../lxd_server/00-toc.md) vers Incus. Depuis la création d'un référentiel par le co-responsable de l'infrastructure du projet Rocky Linux [Neil Hanlon](https://wiki.rockylinux.org/team/infrastructure/), vous avez la possibilité d'installer Incus avant son inclusion dans le référentiel EPEL (Extra Packages for Enterprise Linux). | ||
|
||
!!! warning "Le serveur Incus n'est pas disponible sur Rocky Linux 8" | ||
|
||
``` | ||
L'installation du serveur Incus n'est disponible que pour Rocky Linux 9.x et est actuellement testée sur Rocky Linux 9.4. Si vous avez besoin de quelque chose qui fonctionne sur Rocky Linux 8.x, utilisez la [procédure LXD mentionnée précédemment](../lxd_server/00-toc.md). | ||
``` | ||
|
||
## Introduction | ||
|
||
Incus est le mieux décrit sur le [site officiel](https://linuxcontainers.org/incus/), mais considérez-le comme un système de conteneur offrant les avantages des serveurs virtuels dans un conteneur. | ||
|
||
Il est très puissant, et avec le matériel approprié et configuré, peut être mis à profit pour exécuter beaucoup d'instances de serveurs sur un seul matériel. Si vous associez cela à un serveur de snapshot, vous avez également un ensemble de conteneurs que vous pouvez faire tourner presque immédiatement si votre serveur principal se trouve déconnecté. | ||
|
||
!!! warning "Ceci n'est pas une sauvegarde" | ||
|
||
``` | ||
Il ne faut pas considérer cela comme une sauvegarde traditionnelle. Vous avez toujours besoin d'un système de sauvegarde classique, tel que [rsnapshot](../../guides/backup/rsnapshot_backup.md). | ||
``` | ||
|
||
La courbe d'apprentissage d'Incus peut être raide, mais ce livre tentera de vous donner les connaissances nécessaires pour vous aider à déployer et à utiliser `Incus` sur Rocky Linux. | ||
|
||
Pour ceux qui souhaitent utiliser Incus comme environnement de laboratoire sur leurs ordinateurs portables ou leurs postes de travail, voir [Annexe A : Configuration du poste de travail](30-appendix_a.md). | ||
|
||
## Prérequis | ||
|
||
- Un serveur Rocky Linux 9, configuré de manière adéquate. Envisagez un disque dur séparé pour l’espace disque ZFS dans un environnement de production (vous devez le faire si vous utilisez ZFS). En effet un des prérequis ici est un serveur bare metal, et non pas un VPS (Virtual Private Server). | ||
- C'est un sujet avancé, mais pas très difficile à comprendre. Si vous suivez ces instructions dès le début, vous devriez réussir. Cela dit, avoir quelques notions de base sur la gestion des conteneurs sera très utile. | ||
- Vous devriez maîtriser la ligne de commande sur chaque machine et pouvoir utiliser un éditeur de texte comme `vi` (par exemple). (L'auteur utilise _vi_ dans ces exemples, mais vous pouvez le remplacer par votre éditeur préféré.) | ||
- Il suffit d'être un utilisateur sans privilège pour la majeure partie de ces procédures. Pour les premières étapes de configuration, vous devrez être connecté en tant qu'utilisateur root ou pouvoir utiliser `sudo` pour le devenir. Tout au long de ces chapitres, nous supposons que votre utilisateur non privilégié est `incusadmin`. Vous devrez créer ce compte utilisateur ultérieurement dans le processus. | ||
- Pour ZFS, vérifiez que le démarrage sécurisé d'UEFI n'est PAS activé. Sinon, vous devrez signer cryptographiquement le module ZFS pour pouvoir le charger. | ||
- Nous utilisons principalement des conteneurs basés sur Rocky Linux | ||
|
||
!!! info "Info" | ||
|
||
``` | ||
L'auteur inclut une méthodologie pour utiliser un système de fichiers ZFS. Veuillez noter que le projet Incus recommande BTRFS comme système de fichiers pour un serveur Incus. (ZFS est toujours une option de système de fichiers.) BTRFS, cependant, n'est pas du tout disponible sur Rocky Linux 9.4. Jusqu'à ce qu'il soit approuvé par le système en amont et publié, votre seule option est d'utiliser ZFS ou un autre système de fichiers inclus. Pour en savoir plus sur les options du système de fichiers Incus, consultez [le document officiel du projet ici.](https://linuxcontainers.org/incus/docs/main/reference/storage_dir/) | ||
``` | ||
|
||
## Synopsis | ||
|
||
- **Chapitre 1 : Installation et configuration** traite de l’installation du serveur principal. Généralement, la bonne façon de mettre en œuvre Incus en production est d'avoir un serveur principal et un serveur d'instantanés. | ||
- **Chapitre 2 : Configuration de ZFS** décrit la configuration et l’installation de ZFS. ZFS est un gestionnaire de volume logique et système de fichiers open-source créé par Sun Microsystems, à l'origine pour son système d'exploitation Solaris. | ||
- **Chapitre 3 : Initialisation d'Incus et configuration de l'utilisateur** traite de l'initialisation et des options de base, ainsi que de la configuration de votre utilisateur non privilégié que vous utiliserez pendant la majeure partie du reste de la procédure | ||
- **Chapitre 4 : Configuration du pare-feu** Contient les options de configuration `firewalld` | ||
- **Chapitre 5 : Configuration et gestion des images** décrit la procédure d'installation des images de système d'exploitation dans un conteneur et leur configuration | ||
- **Chapitre 6 : Profils** traite de l'ajout de profils et de leur application aux conteneurs et couvre principalement `macvlan` et son importance pour l'adressage IP sur votre LAN ou WAN | ||
- **Chapitre 7 : Options de configuration des conteneurs** couvre brièvement certaines des options de configuration de base des conteneurs et décrit certains avantages et effets secondaires pour la modification des options de configuration | ||
- **Chapitre 8 : Snapshots de conteneurs** détaille le principe d'instantané pour les conteneurs sur le serveur principal | ||
- **Chapitre 9 : Le serveur de snapshots** couvre l'installation et la configuration du serveur de snapshots et comment créer la relation symbiotique entre le serveur principal et le serveur de snapshots | ||
- **Chapitre 10 : Automatisation des Snapshots** couvre l'automatisation de la création d'instantanés et le remplissage du serveur d'instantanés avec des Snapshots | ||
- **L'annexe A : Configuration du poste de travail** ne fait techniquement pas partie des documents du serveur de production. Cette annexe présente une solution pour les personnes qui souhaitent créer un laboratoire de conteneurs `Incus` sur leurs ordinateurs portables ou leurs postes de travail. | ||
|
||
## Conclusion | ||
|
||
Vous pouvez utiliser ces chapitres pour configurer efficacement une paire de serveurs `Incus` primaire et de Snapshots au niveau d'entreprise. Ce faisant, vous en apprendrez énormément sur `Incus`. Sachez simplement qu’il y a encore beaucoup à apprendre et considérez ces documents comme un point de départ. | ||
|
||
L’avantage le plus significatif d’Incus est qu’il est économique à utiliser sur un serveur, qu’il vous permet de lancer rapidement des installations de systèmes d’exploitation et qu’il permet à de nombreux serveurs d’applications autonomes de s’exécuter sur un seul matériel, en exploitant ce matériel pour une utilisation optimale. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,185 @@ | ||
--- | ||
title: "Chapitre 1 : Installation et Configuration" | ||
author: Steven Spencer | ||
contributors: Ezequiel Bruni, Ganna Zhyrnova | ||
tested_with: 9.4 | ||
tags: | ||
- incus | ||
- entreprise | ||
- installation d'incus | ||
--- | ||
|
||
Tout au long de ce chapitre, vous devez être l'utilisateur root ou pouvoir utiliser _sudo_ pour avoir les privilèges nécessaires. | ||
|
||
## Installation des référentiels EPEL et OpenZFS | ||
|
||
Incus nécessite le dépôt EPEL (Extra Packages for Enterprise Linux), qui est facile à installer avec la commande suivante : | ||
|
||
```bash | ||
dnf install epel-release -y | ||
``` | ||
|
||
Une fois installé, vérifiez qu'il n'y a pas de mises à jour en attente : | ||
|
||
```bash | ||
dnf upgrade | ||
``` | ||
|
||
Si des mises à jour du noyau ont été effectuées pendant le processus de mise à niveau, redémarrez le serveur. | ||
|
||
### Le Dépôt OpenZFS | ||
|
||
Installez le dépôt OpenZFS en utilisant la commande suivante : | ||
|
||
```bash | ||
dnf install https://zfsonlinux.org/epel/zfs-release-2-2$(rpm --eval "%{dist}").noarch.rpm | ||
``` | ||
|
||
## Installation de `dkms`, `vim` et `kernel-devel` | ||
|
||
Installation de paquets nécessaires : | ||
|
||
```bash | ||
dnf install dkms vim kernel-devel bash-completion | ||
``` | ||
|
||
## Installation d'Incus | ||
|
||
Vous aurez besoin du référentiel CRB disponible pour certains packages spéciaux et du COPR (Cool Other Package Repo) de Neil Hanlon : | ||
|
||
```bash | ||
dnf config-manager --enable crb | ||
dnf copr enable neil/incus | ||
dnf install incus incus-tools | ||
``` | ||
|
||
Activez et démarrez le service `incus` : | ||
|
||
```bash | ||
systemctl enable incus --now | ||
``` | ||
|
||
Relancez le serveur maintenant avant de continuer. | ||
|
||
## Installation d'OpenZFS | ||
|
||
```bash | ||
dnf install zfs | ||
``` | ||
|
||
## Configuration de l'Environnement | ||
|
||
L'exécution de nombreux conteneurs nécessite davantage de paramètres que la plupart des paramètres du noyau du serveur. Si nous supposons dès le début que nous utiliserons notre serveur en production, alors nous devons faire ces changements avant pour éviter que des erreurs telles que `Too many open files` ne se produisent. | ||
|
||
Heureusement, peaufiner les paramètres d’Incus n’est pas difficile avec quelques modifications de fichiers et un redémarrage. | ||
|
||
### Modification de `limits.conf` | ||
|
||
Le premier fichier que vous devez modifier est `limits.conf`. Ce fichier est autodocumenté. Examinez les explications dans les commentaires du fichier pour comprendre à quoi sert ce fichier. Pour effectuer vos modifications, saisissez : | ||
|
||
```bash | ||
vi /etc/security/limits.conf | ||
``` | ||
|
||
La plus grande partie de ce fichier est constitué de commentaires et, en bas, affiche les paramètres par défaut actuels. Vous devez ajouter les paramètres personnalisés dans l'espace vide au-dessus de la fin du marqueur de fichier (#Fin du fichier). La fin du fichier ressemblera à ceci lorsque vous aurez terminé : | ||
|
||
```text | ||
# Modifications made for LXD | ||
* soft nofile 1048576 | ||
* hard nofile 1048576 | ||
root soft nofile 1048576 | ||
root hard nofile 1048576 | ||
* soft memlock unlimited | ||
* hard memlock unlimited | ||
``` | ||
|
||
Enregistrez vos modifications et quittez l'éditeur (++shift+colon+"w"+"q"+exclam++ pour _vi_). | ||
|
||
### Modification de `sysctl.conf` avec `90-incus-override.conf` | ||
|
||
Avec _systemd_, vous pouvez modifier la configuration globale de votre système et les options du noyau _sans_ modifier le fichier de configuration principal. Au lieu de cela, vous mettrez vos paramètres dans un fichier séparé qui remplacera les paramètres particuliers dont vous avez besoin. | ||
|
||
Pour effectuer ces modifications du noyau, vous créerez un fichier appelé `90-incus-override.conf` dans le répertoire `/etc/sysctl.d`. Pour ce faire, tapez ce qui suit : | ||
|
||
```bash | ||
vi /etc/sysctl.d/90-incus-override.conf | ||
``` | ||
|
||
Placez le contenu suivant dans le fichier. Notez que si vous vous demandez comment faire ici, le contenu du fichier est auto-documenté : | ||
|
||
```bash | ||
## The following changes have been made for LXD ## | ||
|
||
# fs.inotify.max_queued_events specifies an upper limit on the number of events that can be queued to the corresponding inotify instance | ||
- (default is 16384) | ||
|
||
fs.inotify.max_queued_events = 1048576 | ||
|
||
# fs.inotify.max_user_instances This specifies an upper limit on the number of inotify instances that can be created per real user ID - | ||
(default value is 128) | ||
|
||
fs.inotify.max_user_instances = 1048576 | ||
|
||
# fs.inotify.max_user_watches specifies an upper limit on the number of watches that can be created per real user ID - (default is 8192) | ||
|
||
fs.inotify.max_user_watches = 1048576 | ||
|
||
# vm.max_map_count contains the maximum number of memory map areas a process may have. Memory map areas are used as a side-effect of cal | ||
ling malloc, directly by mmap and mprotect, and also when loading shared libraries - (default is 65530) | ||
|
||
vm.max_map_count = 262144 | ||
|
||
# kernel.dmesg_restrict denies container access to the messages in the kernel ring buffer. Please note that this also will deny access t | ||
o non-root users on the host system - (default is 0) | ||
|
||
kernel.dmesg_restrict = 1 | ||
|
||
# This is the maximum number of entries in ARP table (IPv4). You should increase this if you create over 1024 containers. | ||
|
||
net.ipv4.neigh.default.gc_thresh3 = 8192 | ||
|
||
# This is the maximum number of entries in ARP table (IPv6). You should increase this if you plan to create over 1024 containers.Not nee | ||
ded if not using IPv6, but... | ||
|
||
net.ipv6.neigh.default.gc_thresh3 = 8192 | ||
|
||
# This is a limit on the size of eBPF JIT allocations which is usually set to PAGE_SIZE * 40000. Set this to 1000000000 if you are running Rocky Linux 9.x | ||
|
||
net.core.bpf_jit_limit = 1000000000 | ||
|
||
# This is the maximum number of keys a non-root user can use, should be higher than the number of containers | ||
|
||
kernel.keys.maxkeys = 2000 | ||
|
||
# This is the maximum size of the keyring non-root users can use | ||
|
||
kernel.keys.maxbytes = 2000000 | ||
|
||
# This is the maximum number of concurrent async I/O operations. You might need to increase it further if you have a lot of workloads th | ||
at use the AIO subsystem (e.g. MySQL) | ||
|
||
fs.aio-max-nr = 524288 | ||
``` | ||
Enregistrez vos modifications et quittez l'éditeur. | ||
À ce stade, vous devriez redémarrer le serveur. | ||
### Vérification des variables dans `sysctl.conf` | ||
Une fois le redémarrage terminé, reconnectez-vous sur le serveur. Nous devons vérifier que notre fichier de remplacement a effectivement fait le travail. | ||
Ce n'est pas difficile à faire. Il n'est pas nécessaire de vérifier tous les paramètres, sauf si vous le souhaitez, mais en vérifier quelques-uns permettra de s'assurer que les paramètres sont enregistrés. Pour ce faire, utilisez la commande `sysctl` : | ||
```bash | ||
sysctl net.core.bpf_jit_limit | ||
``` | ||
Pour obtenir la ligne suivante : | ||
```bash | ||
net.core.bpf_jit_limit = 1000000000 | ||
``` | ||
Faites la même chose avec quelques autres paramètres dans le fichier de substitution pour vérifier que des modifications ont été apportées. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
--- | ||
title: "Chapitre 2 : ZFS Setup" | ||
author: Steven Spencer | ||
contributors: Ezequiel Bruni, Ganna Zhyrnova | ||
tested_with: 9.4 | ||
tags: | ||
- incus | ||
- entreprise | ||
- incus zfs | ||
--- | ||
|
||
# Chapitre 2 : ZFS Setup | ||
|
||
Tout au long de ce chapitre, vous devez être l'utilisateur root ou pouvoir utiliser `sudo` pour obtenir les privilèges nécessaires. | ||
|
||
Si vous avez déjà installé ZFS, cette section vous guidera tout au long de la configuration de ZFS. | ||
|
||
## Activation de ZFS et configuration du `pool` | ||
|
||
Tout d'abord, entrez la commande suivante : | ||
|
||
```bash | ||
/sbin/modprobe zfs | ||
``` | ||
|
||
S'il n'y a pas d'erreur, iel reviendra à l'invite sans afficher quoi que ce soit. Si vous obtenez une erreur, vous pouvez arrêter maintenant et commencer à trouver une solution. Encore une fois, assurez-vous que l'amorçage sécurisé est désactivé. C'est le coupable le plus probable. | ||
|
||
Ensuite, vous devez examiner les disques de notre système, découvrir où se trouve le système d’exploitation et déterminer ce qui est disponible pour le pool ZFS. Pour ce faire utilisez `lsblk` : | ||
|
||
```bash | ||
lsblk | ||
``` | ||
|
||
Ce qui renverra quelque chose comme ceci (sur votre système ce sera différent !) : | ||
|
||
```bash | ||
AME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT | ||
loop0 7:0 0 32.3M 1 loop /var/lib/snapd/snap/snapd/11588 | ||
loop1 7:1 0 55.5M 1 loop /var/lib/snapd/snap/core18/1997 | ||
loop2 7:2 0 68.8M 1 loop /var/lib/snapd/snap/lxd/20037 | ||
sda 8:0 0 119.2G 0 disk | ||
├─sda1 8:1 0 600M 0 part /boot/efi | ||
├─sda2 8:2 0 1G 0 part /boot | ||
├─sda3 8:3 0 11.9G 0 part [SWAP] | ||
├─sda4 8:4 0 2G 0 part /home | ||
└─sda5 8:5 0 103.7G 0 part / | ||
sdb 8:16 0 119.2G 0 disk | ||
├─sdb1 8:17 0 119.2G 0 part | ||
└─sdb9 8:25 0 8M 0 part | ||
sdc 8:32 0 149.1G 0 disk | ||
└─sdc1 8:33 0 149.1G 0 part | ||
``` | ||
|
||
Cette liste montre que le système d'exploitation utilise _/dev/sda_. Vous pouvez utiliser _/dev/sdb_ pour le `zpool`. Notez que si vous avez beaucoup de disques durs disponibles, vous pouvez envisager d'utiliser raidz (un logiciel de raid spécialement conçu pour ZFS). | ||
|
||
Cela n’entre pas dans le cadre de ce document mais devra être pris en compte pour la production. Il offre de meilleures performances et une meilleure redondance. Pour l'instant, créez votre pool sur le seul disque que vous avez identifié : | ||
|
||
```bash | ||
zpool create storage /dev/sdb | ||
``` | ||
|
||
Cela indique de créer un pool appelé `storage` qui est ZFS sur le périphérique _/dev/sdb_. | ||
|
||
Une fois le pool créé, redémarrez à nouveau le serveur. |
Oops, something went wrong.