-
Notifications
You must be signed in to change notification settings - Fork 315
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* New translations xfce_installation.md (French) * New translations templates-automation-packer-vsphere.md (French) * New translations mate_installation.md (French) * New translations 08-process.md (Chinese Simplified) * New translations index.md (Chinese Simplified) * New translations 9_4.md (Chinese Simplified) * New translations 00-toc.md (Italian) * New translations 01-install.md (Italian) * New translations 02-zfs_setup.md (Italian) * New translations 03-incusinit.md (Italian) * New translations 04-firewall.md (Italian) * New translations 05-incus_images.md (Italian) * New translations 06-profiles.md (Italian) * New translations 07-configurations.md (Italian) * New translations 08-snapshots.md (Italian) * New translations 09-backups.md (Italian) * New translations index.md (Italian) * New translations rl9_network_manager.md (Italian)
- Loading branch information
1 parent
6c62b41
commit 316cdc0
Showing
18 changed files
with
2,183 additions
and
83 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
Large diffs are not rendered by default.
Oops, something went wrong.
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,81 @@ | ||
--- | ||
title: Introduzione | ||
author: Spencer Steven | ||
contributors: Ezequiel Bruni, Ganna Zhyrnova | ||
tested_with: 9.4 | ||
tags: | ||
- lxd | ||
- incus | ||
- enterprise | ||
--- | ||
|
||
# Creare un server Incus | ||
|
||
## Lo stato di Incus su Rocky Linux | ||
|
||
Quasi un anno fa, nella mailing list di lxc-users è stato pubblicato il seguente annuncio: | ||
|
||
> Canonical, il creatore e principale collaboratore del progetto LXD, ha deciso che, dopo oltre 8 anni di appartenenza alla comunità di Linux Containers, il progetto sarebbe stato gestito meglio direttamente nell'ambito dei progetti di Canonical. | ||
Uno dei fattori decisivi sono state le dimissioni di alcuni sviluppatori principali di LXD. Questi sviluppatori hanno poi biforcato LXD in Incus, annunciando il fork nell'agosto del 2023. Una versione di rilascio (0.1) è stata rilasciata nell'ottobre 2023, e da allora gli sviluppatori hanno rapidamente sviluppato questa versione con rilasci successivi fino alla 0.7 (nel marzo 2024). Il rilascio della versione di supporto a lungo termine (6.0 LTS) ha seguito il rilascio della versione 0.7. La versione attuale è la 6.5. | ||
|
||
Durante tutto il processo, si ritieneva che Canonical continasse a mantenere i collegamenti alle immagini dei container forniti da Linux Containers. Tuttavia, una [modifica della licenza](https://stgraber.org/2023/12/12/lxd-now-re-licensed-and-under-a-cla/) ha reso impossibile a Linux Containers di continuare a offrire le immagini dei container all'interno di LXD. Questo significa che LXD avrà delle immagini container, ma non saranno quelle che ci si aspetta. Linux Containers continua a ospitare e supportare le proprie immagini se si utilizza Incus. | ||
|
||
Questo documento è una conversione del [libro LXD](../lxd_server/00-toc.md) in Incus. Dopo la creazione di un repository da parte del dell'infrastruttura co-leader del progetto Rocky Linux [Neil Hanlon](https://wiki.rockylinux.org/team/infrastructure/), è possibile installare Incus prima della sua inclusione nel repository EPEL (Extra Packages for Enterprise Linux). | ||
|
||
!!! warning "Incus server non è disponibile su Rocky Linux 8" | ||
|
||
``` | ||
L'installazione del server Incus è disponibile solo per Rocky Linux 9.x e attualmente è testata su Rocky Linux 9.4. Se si ha bisogno di qualcosa che funzioni su Rocky Linux 8.x, usare la [procedura LXD già citata](../lxd_server/00-toc.md). | ||
``` | ||
|
||
## Introduzione | ||
|
||
Una migliore descrizione di Incus è presente sul [sito ufficiale](https://linuxcontainers.org/incus/), ma può essere considerato come un sistema di container che offre i vantaggi dei server virtuali in un container. | ||
|
||
È molto potente e, con l'hardware e la configurazione giusta, è possibile creare molte istanze di server su un singolo componente hardware. Se lo si abbina a un server snapshot, si ha anche una serie di container che possono essere avviati quasi immediatamente se il server primario si guasta. | ||
|
||
!!! warning "Questo non è un backup" | ||
|
||
``` | ||
Non si deve pensare a questo come a un backup tradizionale. È ancora necessario un sistema di backup tradizionale, come [rsnapshot](../../guides/backup/rsnapshot_backup.md). | ||
``` | ||
|
||
La curva di apprendimento di Incus può essere impegantiva, ma questo libro cercherà di fornire le conoscenze necessarie a distribuire e utilizzare Incus su Rocky Linux. | ||
|
||
Per coloro che desiderano utilizzare Incus come ambiente di prova su notebook o workstation, vedere [Appendice A: Configurazione della workstation] (30-appendix_a.md). | ||
|
||
## Prerequisiti e presupposti | ||
|
||
- Un server Rocky Linux, ben configurato. Considerare un disco rigido separato per lo spazio disco ZFS (è necessario se si usa ZFS) in un ambiente di produzione. E sì, il presupposto è un server bare metal, non un VPS (Virtual Private Server). | ||
- Si tratta di un argomento avanzato, ma non troppo difficile da comprendere. Se si seguono queste istruzioni fin dall'inizio, si dovrebbe avere successo. Detto questo, esserea a conoscenza di alcune nozioni di base sulla gestione dei container è molto utile. | ||
- Comfort con la riga di comando della macchina (o delle macchine) e dimestichezza con l'editor a riga di comando. (In questi esempi si utilizza _vi_, ma è possibile sostituirlo con il proprio editor preferito) | ||
- Per la maggior parte di questi processi è necessario essere un utente non privilegiato. Per le prime fasi di configurazione, è necessario essere l'utente root o poter fare `sudo` per diventarlo. In tutti questi capitoli si assume che l'utente non privilegiato sia “incusadmin”. L'account utente dovrà essere creato più avanti nel processo. | ||
- Per ZFS, assicurarsi che l'avvio sicuro UEFI NON sia abilitato. Altrimenti, si finirà per dover firmare il modulo ZFS per farlo caricare. | ||
- Utilizzo di container basati su Rocky Linux per la maggior parte del tempo | ||
|
||
!!! info "Informazione" | ||
|
||
``` | ||
L'autore include una metodologia per l'utilizzo di un filesystem ZFS. Si noti che il progetto Incus raccomanda BTRFS come file system per un server Incus. (BTRFS, tuttavia, non è disponibile su Rocky Linux 9.4. Fino a quando non sarà approvato dall'upstream e rilasciato, il file system BTRFS non sarà disponibile. Finché non sarà approvato dall'upstream e rilasciato, l'unica opzione è utilizzare ZFS o un altro filesystem incluso. Per saperne di più sulle opzioni del filesystem di Incus, vedere [il documento ufficiale del progetto qui] (https://linuxcontainers.org/incus/docs/main/reference/storage_dir/) | ||
``` | ||
|
||
## Sinossi | ||
|
||
- Il **Capitolo 1: Installazione e configurazione** si occupa dell'installazione del server primario. In generale, il modo più corretto di utilizzare Incus in produzione è quello di avere un server primario e uno snapshot. | ||
- Il **Capitolo 2: Configurazione di ZFS** tratta l'impostazione e la configurazione di ZFS. ZFS è un gestore di volumi logici e un file system open source creato da Sun Microsystems, originariamente per il suo sistema operativo Solaris. | ||
- Il **Capitolo 3: Inizializzazione di Incus e Setup Utente** tratta l'inizializzazione e le opzioni di base, nonché l'impostazione dell'utente non privilegiato che verrà utilizzato per la maggior parte del resto del processo. | ||
- **Capitolo 4: Impostazione del firewall** Ha le opzioni di configurazione di `firewalld` | ||
- Il **Capitolo 5: Impostazione e gestione delle immagini** descrive il processo di installazione delle immagini di sistema operativo in un container e la loro configurazione. | ||
- Il **Capitolo 6: Profili** si occupa dell'aggiunta di profili e della loro applicazione ai container e tratta principalmente di `macvlan` e della sua funzione per l'indirizzamento IP sulla LAN o sulla WAN. | ||
- Il **Capitolo 7: Opzioni di configurazione dei contenitori** tratta brevemente alcune opzioni di configurazione di base per i container e offre alcuni vantaggi ed effetti collaterali per la modifica delle opzioni di configurazione. | ||
- Il **Capitolo 8: Istantanee dei container** illustra in dettaglio il processo di snapshot dei container sul server primario. | ||
- Il **Capitolo 9: Il server snapshot** tratta l'impostazione e la configurazione del server snapshot e come creare una relazione simbiotica tra il server primario e il server snapshot. | ||
- Il **Capitolo 10: Automatizzazione delle shapshots** tratta l'automazione della creazione di snapshot e il popolamento del server snapshot con le snapshots. | ||
- **Appendice A: Impostazione della stazione di lavoro** non fa tecnicamente parte della documentazione del server di produzione. Offre una soluzione per chi vuole creare un ambiente di containers Incus sui propri notebook o workstation. | ||
|
||
## Conclusioni | ||
|
||
Questi capitoli consentono di configurare efficacemente una coppia di server Incus primario e snapshot enterprise-level. Nel corso del processo, imparerete molto su Incus. Siate consapevoli che c'è ancora molto da imparare e considerate questi documenti come un punto di partenza. | ||
|
||
Il vantaggio più importate di Incus è la sua economicità d'uso su un server, consente di avviare rapidamente le installazioni del sistema operativo e permette di eseguire molti server applicativi standalone su una singola macchina, sfruttando al massimo l'hardware disponibile. |
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: 1 Installazione e configurazione | ||
author: Spencer Steven | ||
contributors: Ezequiel Bruni, Ganna Zhyrnova | ||
tested_with: 9.4 | ||
tags: | ||
- incus | ||
- enterprise | ||
- incus install | ||
--- | ||
|
||
Nel corso di questo capitolo, è necessario essere l'utente root o essere in grado di eseguire con i privilegi di root con _sudo_. | ||
|
||
## Installare i repository EPEL e OpenZFS | ||
|
||
Incus richiede il repository EPEL (Extra Packages for Enterprise Linux), il quale è facile da installare: | ||
|
||
```bash | ||
dnf install epel-release -y | ||
``` | ||
|
||
Una volta installato, verificare che non vi siano aggiornamenti: | ||
|
||
```bash | ||
dnf upgrade | ||
``` | ||
|
||
Se durante il processo di aggiornamento sono stati effettuati aggiornamenti del kernel, riavviare il server. | ||
|
||
### OpenZFS repository | ||
|
||
Installare il repository OpenZFS con: | ||
|
||
```bash | ||
dnf install https://zfsonlinux.org/epel/zfs-release-2-2$(rpm --eval "%{dist}").noarch.rpm | ||
``` | ||
|
||
## Installazione di `dkms`, `vim` e `kernel-devel` | ||
|
||
Installare alcuni pacchetti necessari: | ||
|
||
```bash | ||
dnf install dkms vim kernel-devel bash-completion | ||
``` | ||
|
||
## Installazione di `Incus` | ||
|
||
È necessario il repository CRB, disponibile per alcuni pacchetti speciali, e il COPR (Cool Other Package Repo) di Neil Hanlon: | ||
|
||
```bash | ||
dnf config-manager --enable crb | ||
dnf copr enable neil/incus | ||
dnf install incus incus-tools | ||
``` | ||
|
||
Abilitare ed attivare il serivzio: | ||
|
||
```bash | ||
systemctl enable incus --now | ||
``` | ||
|
||
Riavviare il server prima di continuare. | ||
|
||
## Installare OpenZFS | ||
|
||
```bash | ||
dnf install zfs | ||
``` | ||
|
||
## Impostazione dell'ambiente | ||
|
||
Per eseguire molti container sono necessarie diverse impostazioni del kernel del server. Se si presume fin dall'inizio che si utilizzerà il server in produzione, è necessario apportare queste modifiche in anticipo per evitare errori come "Too many open files". | ||
|
||
Fortunatamente, modificare le impostazioni di Incus non è difficile, basta modificare alcuni file e riavviare il sistema. | ||
|
||
### Modifica di `limits.conf` | ||
|
||
Il primo file da modificare è il file `limits.conf`. Questo file è autodocumentato. Esaminate le spiegazioni nei commenti del file per capire cosa fa questo file. Per effettuare le modifiche, digitare: | ||
|
||
```bash | ||
vi /etc/security/limits.conf | ||
``` | ||
|
||
L'intero file è costituito da commenti e, in fondo, mostra le impostazioni predefinite correnti. È necessario aggiungere le impostazioni personalizzate nello spazio vuoto sopra il marcatore di fine file (#End of file). Una volta completato, il file avrà il seguente aspetto: | ||
|
||
```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 | ||
``` | ||
|
||
Salvare le modifiche e uscire (++shift+colon+"w ‘+’q ”+exclam++ per _vi_). | ||
|
||
### Modifica di `sysctl.conf` con `90-incus-override.conf` | ||
|
||
Con _systemd_, è possibile modificare la configurazione di sistema e le opzioni del kernel _senza_ modificare il file di configurazione principale. Le impostazioni vanno invece inserite in un file separato che sovrascrive le impostazioni specifiche necessarie. | ||
|
||
Per apportare queste modifiche al kernel, si deve creare un file chiamato `90-incus-override.conf` in `/etc/sysctl.d`. Per fare ciò, digitare il seguente comando: | ||
|
||
```bash | ||
vi /etc/sysctl.d/90-incus-override.conf | ||
``` | ||
|
||
Inserite il seguente contenuto nel file. Se vi state chiedendo cosa state facendo, il contenuto del file è autodocumentante: | ||
|
||
```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 | ||
``` | ||
Salvare le modifiche e uscire. | ||
A questo punto, riavviare il server. | ||
### Controllare i parametri di `sysctl.conf` | ||
Dopo il riavvio, accedere nuovamente al server come utente root. È necessario verificare che il nostro file di override abbia effettivamente completato il lavoro. | ||
Non è difficile da fare. Non è necessario verificare tutte le impostazioni, a meno che non lo si voglia fare, ma controllarne alcune consente di verificare che le impostazioni siano state modificate. Per farlo, utilizzare il comando `sysctl`: | ||
```bash | ||
sysctl net.core.bpf_jit_limit | ||
``` | ||
Che vi mostrerà: | ||
```bash | ||
net.core.bpf_jit_limit = 1000000000 | ||
``` | ||
Eseguire la stessa operazione con alcune altre impostazioni del file di sovrascrittura per verificare le modifiche. |
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: 2 ZFS Setup | ||
author: Spencer Steven | ||
contributors: Ezequiel Bruni, Ganna Zhyrnova | ||
tested_with: 9.4 | ||
tags: | ||
- incus | ||
- enterprise | ||
- incus zfs | ||
--- | ||
|
||
# Capitolo 2: Configurazione di ZFS | ||
|
||
In tutti i passaggi di questo capitolo, è necessario essere l'utente root o poter eseguire i comandi come root utilizzando `sudo` . | ||
|
||
Se avete già installato ZFS, questa sezione vi guiderà attraverso la configurazione di ZFS. | ||
|
||
## Abilitazione di ZFS e impostazione del pool | ||
|
||
Per prima cosa, inserite questo comando: | ||
|
||
```bash | ||
/sbin/modprobe zfs | ||
``` | ||
|
||
Se non ci sono errori, si ritorna al prompt e non viene emesso alcun eco. Se si verifica un errore, è possibile fermarsi ora e iniziare il troubleshooting. Anche in questo caso, assicuratevi che il secure boot sia disattivato. Questo sarà il colpevole più probabile. | ||
|
||
Successivamente, è necessario esaminare i dischi del sistema, scoprire dove si trova il sistema operativo e determinare cosa è disponibile per il pool ZFS. Questo si fa con `lsblk`: | ||
|
||
```bash | ||
lsblk | ||
``` | ||
|
||
Che restituirà qualcosa di simile (il vostro sistema sarà diverso!): | ||
|
||
```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 | ||
``` | ||
|
||
Questo elenco mostra che il sistema operativo utilizza _/dev/sda_. Si utilizzerà _/dev/sdb_ per zpool. Si noti che se si dispone di molti dischi rigidi, si può prendere in considerazione l'uso di raidz (un software raid specifico per ZFS). | ||
|
||
Ciò esula dall'ambito di questa documentazione, ma è una considerazione per la produzione. Offre migliori prestazioni e ridondanza. Per ora, create il vostro pool sul singolo dispositivo che avete identificato: | ||
|
||
```bash | ||
zpool create storage /dev/sdb | ||
``` | ||
|
||
Questo dice di creare un pool chiamato “storage” che è ZFS sul dispositivo _/dev/sdb_. | ||
|
||
Dopo aver creato il pool, riavviare il server. |
Oops, something went wrong.