#format wiki
#LANGUAGE it
<
>
<>
<>
= Introduzione =
La seguente guida illustra l'ottimizzazione di un subvolume per un filesystem
'''[[https://en.wikipedia.org/wiki/Btrfs|Btrfs]]''' su Ubuntu.<
>
Per altre informazioni di carattere più generale sull'argomento consultare [[Hardware/DispositiviPartizioni/Btrfs/Introduzione|questa guida]].
Creare vari subvolumi può comportare alcuni vantaggi:
* Esclusione dagli '''snapshot''' quando usiamo strumenti (ad esempio '''[[AmministrazioneSistema/BackupDelSistema/Timeshift|timeshift]]''').
* Disabilitare '''COW''', settare un diverso algoritmo di compressione o disabilitare la compressione.
* Inviare l'intero subvolume su un disco esterno o di rete per un backup con '''Btrfs send''' (come unico requisito è Btrfs come filesystem sul dispositivo di destinazione).
{{{#!wiki note
Per individuare la lettera e il numero di partizione del '''filesystem''' radice, digitare nel [[AmministrazioneSistema/Terminale|terminale]]:<
>
`mount -t btrfs`<
>
L'output sarà del tipo:<
>
`/dev/sda2 on / type btrfs (rw,noatime,compress=zstd:1,ssd,subvolid=983,subvol=/@)`<
>
`/dev/sda2 on /home type btrfs (rw,noatime,compress=zstd:1,ssd,subvolid=257,subvol=/@home)`<
>
}}}
= Subvolume cartella /var/tmp =
0. [[Hardware/DispositiviPartizioni/MontarePartizioni|Montare]] la radice su `/mnt` (la cartella montata è di esempio, si può scegliere o creare altre cartelle per il montaggio):{{{
sudo mount -t btrfs -o --options-source /dev/sda2 /mnt
}}}
0. Creare subvolume della cartella:{{{
sudo btrfs subvolume create /mnt/@vartmp
}}}
0. Impostare i permessi della cartella tramite il [[https://it.wikipedia.org/wiki/Sticky|bit sticky]]:{{{
sudo chmod 1777 /mnt/@vartmp
}}}
0. Copiare il contenuto della cartella nel subvolume:{{{
sudo cp -a /mnt/@/var/tmp/* /mnt/@vartmp/
}}}
0. Aprire con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/fstab` e scriverci le opzioni di montaggio:{{{
UUID=UUID /var/tmp btrfs noatime,subvol=@vartmp
}}}
0. Fare clic su '''Ctrl+S''' per salvare e su '''Ctrl+Q''' per chiudere l'editor.
0. Smontare il filesystem:{{{
sudo umount /mnt
}}}
= Subvolume cartella /var/cache =
0. Montare la radice su `/mnt` (la cartella montata è di esempio, si può scegliere o creare altre cartelle per il montaggio):{{{
sudo mount -t btrfs -o --options-source /dev/sda2 /mnt
}}}
0. Creare subvolume della cartella:{{{
sudo btrfs subvolume create /mnt/@varcache
}}}
0. Copiare il contenuto della cartella nel subvolume:{{{
sudo cp -a /mnt/@/var/cache/* /mnt/@varcache/
}}}
0. Aprire con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/fstab` e scriverci le opzioni di montaggio:{{{:{{{
UUID=UUID /var/cache btrfs noatime,subvol=@varcache
}}}
0. Fare clic su '''Ctrl+S''' per salvare e su '''Ctrl+Q''' per chiudere l'editor.
0. Smontare il filesystem:{{{
sudo umount /mnt
}}}
= Subvolume cartella /var/log =
0. Montare la radice su `/mnt` (la cartella montata è di esempio, si può scegliere o creare altre cartelle per il montaggio):{{{
sudo mount -t btrfs -o --options-source /dev/sda2 /mnt
}}}
0. Creare subvolume della cartella:{{{
sudo btrfs subvolume create /mnt/@varlog
}}}
0. Copiare il contenuto della cartella nel subvolume:{{{
sudo cp -a /mnt/@/var/log/* /mnt/@varlog/
}}}
0. Aprire con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/fstab` e scriverci le opzioni di montaggio:{{{
UUID=UUID /var/log btrfs noatime,compress=zstd:1,subvol=@varlog
}}}
0. Fare clic su '''Ctrl+S''' per salvare e su '''Ctrl+Q''' per chiudere l'editor.
0. Smontare il filesystem:{{{
sudo umount /mnt
}}}
= Subvolume flatpak =
È utile in caso di ripristino di sistema da uno '''snapshot''', poiché le applicazioni '''[[AmministrazioneSistema/InstallareProgrammi/PacchettiFlatpak|flatpak]]''' non vengono ripristinate.
0. Montare la radice su `/mnt` (la cartella montata è di esempio, si può scegliere o creare altre cartelle per il montaggio):{{{
sudo mount -t btrfs -o --options-source /dev/sda2 /mnt
}}}
0. Creare subvolume della cartella:{{{
sudo btrfs subvolume create /mnt/@varlibflatpak
}}}
0. Copiare il contenuto della cartella nel subvolume:{{{
sudo cp -a /mnt/@/var/lib/flatpak/* /mnt/@varlibflatpak/
}}}
0. Aprire con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/fstab` e scriverci le opzioni di montaggio:{{{
UUID=UUID /var/lib/flatpak btrfs noatime,compress=zstd:1,subvol=@varlibflatpak
}}}
0. Fare clic su '''Ctrl+S''' per salvare e su '''Ctrl+Q''' per chiudere l'editor.
0. Smontare il filesystem:{{{
sudo umount /mnt
}}}
= Subvolume VM gestite da VirtManager =
0. Montare la radice su `/mnt` (la cartella montata è di esempio, si può scegliere o creare altre cartelle per il montaggio):{{{
sudo mount -t btrfs -o --options-source /dev/sda2 /mnt
}}}
0. Creare subvolume della cartella:{{{
sudo btrfs subvolume create /mnt/@varlibvirt
}}}
{{{#!wiki note
Da [[https://www.redhat.com/archives/libvir-list/2020-July/msg01382.html|libvirt version 6.6.0]] non è più necessario disattivare il COW manualmente, se rileva Btrfs come filesystem, viene disattivato in automatico per le nuove immagini.
}}}
{{{#!wiki important
Non disattivare COW se si utilizza una configurazione di mirroring (raid1, raid1cN, raid10, ecc.).
Per ulteriore dettagli: https://github.com/kdave/btrfs-progs/issues/481
}}}
0. Disattivare il '''COW''' sul subvolume:{{{
sudo chattr +C /mnt/@varlibvirt
}}}
0. Copiare il contenuto della cartella nel subvolume:{{{
sudo cp -a /mnt/@/var/lib/libvirt/images/* /mnt/@varlibvirt/
}}}
0. Aprire con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/fstab` e scriverci le opzioni di montaggio:{{{
UUID=UUID /var/lib/libvirt/images/ btrfs noatime,subvol=@varlibvirt
}}}
0. Fare clic su '''Ctrl+S''' per salvare e su '''Ctrl+Q''' per chiudere l'editor.
0. Smontare il filesystem:{{{
sudo umount /mnt
}}}
= Subvolume immagini di GNOME-Boxes =
{{{#!wiki note
Per la versione di '''flatpak''' che si trova sullo store '''flathub''', il percorso alle immagini VM è `/.var/app/org.gnome.Boxes/data/gnome-boxes/images`.
}}}
Con '''GNOME-Boxes''' già installato seguire i seguenti passaggi.
0. Creare la cartella temporanea:{{{
sudo mkdir /home/utente/boxtmp
}}}
0. Copiare il contenuto della cartella:{{{
sudo cp -a /home/username/.local/share/gnome-boxes/images/* /home/username/boxtmp/
}}}
0. Elimina la cartella `/images` per creare il subvolume:{{{
sudo rm -r /home/username/.local/share/gnome-boxes/images
}}}
0. Creare subvolume della cartella:{{{
sudo btrfs subvolume create /home/username/.local/share/gnome-boxes/images
}}}
0. Ripristinare il contenuto della cartella `/images`:{{{
sudo cp -a /home/username/boxtmp/* /home/username/.local/share/gnome-boxes/images/
}}}
Se '''GNOME-Boxes''' non è già installato, prima d'installarlo creare il subvolume `/home/username/.local/share/gnome-boxes/images` e successivamente installare '''GNOME-Boxes'''.
= Ulteriori risorse =
* [[https://btrfs.readthedocs.io/en/latest/|Sito ufficiale]]
* [[https://help.ubuntu.com/community/btrfs|Aiuto della community (in inglese)]]
* [[https://apps.gnome.org/it/Boxes/|GNOME Boxes]]
----
CategoryAmministrazione