Questo tutorial si concentra su come creare spazio di swap su Ubuntu 20.04 utilizzando una partizione di swap o un file di swap.
Per gli amministratori di sistema, è abbastanza comune per i server esaurire la RAM.
In alcuni casi, si possono aver lanciato troppi programmi o alcuni dei programmi stanno già utilizzando troppe risorse.
In questo caso, non si hanno molte opzioni.
Potresti fermare alcuni processi per guadagnare un po’ di RAM, ma potresti non essere in grado di farlo.
Per fortuna, hai un’altra soluzione: aggiungere dello spazio di swap.
In questo tutorial, imparerai come puoi aggiungere spazio di swap su Ubuntu 20.04: tramite una partizione di swap o un file di swap.
Tabella dei contenuti
- Prequisiti
- Check Existing Swap Partitions
- Aggiungi spazio di swap su Ubuntu 20.04 usando una partizione di swap
- a – Creare una partizione di swap su un dispositivo LVM
- b – Creare una partizione swap su una partizione regolare
- c – Abilitare la tua partizione di swap
- d – Rendi permanente lo spazio di swap
- Aggiungere spazio di swap su Ubuntu 20.04 usando un file di swap
- a – Creare un file di swap usando dd
- b – Proteggi il tuo file di swap con i permessi
- c – Abilita il tuo file di swap
- d – Rendi permanente il tuo file di swap
- Risoluzione dei problemi
Prequisiti
Prima di iniziare, assicurati di avere i privilegi sudo su Ubuntu 20.04.
$ groups
Se vedi i gruppi “sudo” nella lista dei gruppi, dovresti essere in grado di creare una partizione di swap.
Check Existing Swap Partitions
Per controllare le partizioni di swap esistenti sul tuo sistema, devi usare il comando “swapon”.
$ sudo swapon --show
Di default, durante l’installazione di Ubuntu, è molto comune che una partizione di swap sia già stata creata.
Di conseguenza, si dovrebbe vedere il seguente output sulla console.
Come potete vedere, possiedo una partizione di swap chiamata “dm-1” di 980 Mb.
Tuttavia, la mia RAM attuale è sufficiente per il mio server, quindi non viene utilizzata affatto.
Se non sono configurati spazi di swap sul tuo server, dovresti vedere il seguente output.
Aggiungi spazio di swap su Ubuntu 20.04 usando una partizione di swap
Il primo modo per aggiungere spazio di swap su Ubuntu è aggiungere una partizione di swap.
Per aggiungere questa partizione, useremo :
- il comando “lvcreate” se siete su un dispositivo LVM (cioè una partizione del disco formattata come LVM)
- il comando “fdisk” se siete su un disco “normale”.
a – Creare una partizione di swap su un dispositivo LVM
Prima di tutto, è necessario ispezionare le partizioni esistenti sul vostro host.
$ sudo fdisk -l
Come potete vedere qui, ho già tre partizioni:
- /dev/sda1 : la mia partizione avviabile, poiché ho a che fare con un disco MBR;
- /dev/sda2 : una partizione estesa di 14,5 GB;
- /dev/sda5 : la mia partizione LVM primaria.
Sapendo questo, potete creare una partizione di swap sulla partizione estesa o sulla vostra partizione LVM primaria.
In questo caso, scegliamo di creare questa partizione su quella LVM.
Di conseguenza, dovremo controllare di avere dello spazio per essa.
Come promemoria, /dev/sda5 è una partizione del disco, chiamata anche volume fisico, collegata a un gruppo di volumi.
Per controllare se abbiamo dello spazio residuo, dobbiamo usare il comando “vgs”.
Se non avete familiarità con LVM, vi consiglio di leggere prima il nostro articolo dedicato all’argomento.
$ sudo vgs
In questo caso, abbiamo circa 980 Mb di spazio rimanente che dovrebbe essere sufficiente per la nostra partizione di swap.
Per creare un nuovo volume logico su questo gruppo di volumi, useremo il comando “lvcreate”.
$ sudo lvcreate -L 500M -n lvswap vgubuntu
Nota: ti potrebbe essere richiesto di eliminare una firma di swap su un dato volume logico. Puoi premere “y”, ti viene chiesta questa informazione perché prima c’era una partizione esistente con lo stesso nome.
Puoi verificare che il tuo volume logico sia stato creato correttamente usando il comando “lvs”.
$ sudo lvs
b – Creare una partizione swap su una partizione regolare
Puoi saltare questa sezione e andare alla prossima se hai già creato la partizione su un dispositivo LVM.
Se avete a che fare con una “regolare” partizione Linux, dovrete usare il comando fdisk.
Nel nostro caso, la nostra partizione “regolare” (tipo Linux) si chiama “/dev/sda2”.
$ sudo fdisk /dev/sdaWelcome to fdisk (util-linux 2.34).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Command (m for help): n
Per creare una nuova partizione, dovete usare l’opzione “n”.
Command (m for help): nPartition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions)Select (default p) :
Potete scegliere di creare una partizione “primaria”. Se hai più di quattro partizioni primarie, allora puoi crearne una logica.
Select (default p) : pPartition number (2-4, default 2):
In questo caso puoi lasciare i valori predefiniti.
Al prossimo prompt, ti viene chiesto di specificare il primo settore, puoi anche lasciarlo alle impostazioni predefinite.
All space for primary partitions is in useAdding logical partition 5First sector (48291898-65062911, default 48291840):
Infine, ti viene chiesto di specificare la dimensione totale della partizione da creare. Nel nostro caso, sceglieremo uno spazio di swap di 1GB (o “+1G”).
Last sector, +/-sectors or +/-size{K,M,G,T,P} : +1GCreated a new partition 5 of type 'Linux' and of size 1 GiB.
Di default, la vostra partizione sarà creata con un tipo “Linux” per default.
Voi volete cambiarla con un tipo di partizione swap.
Per ottenere ciò, digitate “t” per “type” e cambiatelo in “82” (per swap)
Command (m for help): tPartition number (1,2,5, default 5): 1Hex code (type L to list all codes): 82
Premete Invio, e assicuratevi che il tipo di partizione sia stato cambiato correttamente.
Changed type of partition 'Linux' to 'Linux swap / Solaris'
Non dimenticare di scrivere i tuoi cambiamenti sul disco usando il comando “w”.
Command (m for help): wThe partition table has been alteredSyncing disks.
c – Abilitare la tua partizione di swap
Prima di tutto, assicurati di eseguire mkswap in modo che gli header di swap siano correttamente impostati per la partizione.
# For a regular partition$ sudo mkswap /dev/sda5# For a LVM partition$ sudo mkswap /dev/vgubuntu/lvswap
Ora che le intestazioni sono impostate, è semplice come attivare il tuo spazio di swap usando “swapon”.
# For a regular partition$ sudo swapon /dev/sda5# For a LVM partition$ sudo swapon /dev/vgubuntu/lvswap
Ora che il tuo swap è attivo, assicurati di elencare nuovamente le partizioni di swap con l’opzione “-show”.
$ sudo swapon --show
Fantastico, hai creato con successo una partizione di swap su Linux!
d – Rendi permanente lo spazio di swap
Come ogni altra partizione, devi rendere permanente la tua partizione.
Se dovessi riavviare il tuo server proprio ora, i cambiamenti non sarebbero persistiti.
Prima di tutto, devi ottenere il tuo UUID per la partizione appena creata.
$ sudo blkid | grep "swap"
Copiate il valore UUID e modificate il file fstab per aggiungere le seguenti modifiche.
$ sudo nano /etc/fstabUUID=<copied value> none swap defaults 0 0
Salvate il file e riavviate il sistema per assicurarvi che le modifiche siano permanenti.
$ sudo reboot$ sudo swapon --show
Fantastico, le vostre modifiche sono ora permanenti!
Aggiungere spazio di swap su Ubuntu 20.04 usando un file di swap
Un altro modo comune di aggiungere spazio è quello di creare un file dedicato.
Molti tutorial non specificano questo dettaglio, ma i file di swap non possono contenere alcun buco.
Significa che non dovreste usare il comando cp sul vostro host per creare un file di swap.
Per questo, userete il comando “dd” che si assicura di non avere buchi nel vostro file.
a – Creare un file di swap usando dd
Per aggiungere spazio di swap, esegui il seguente comando
$ sudo dd if=/dev/zero of=swapfile bs=1MB count=$((1*2014))
In questo caso, stai per creare uno spazio di swap di 2Gb.
Assicurati che il tuo file di swap sia stato creato dando il seguente comando.
$ ls -l swapfile
b – Proteggi il tuo file di swap con i permessi
I file di swap sono destinati ad essere utilizzati per l’ottimizzazione della memoria.
Di conseguenza, non dovrebbero essere editati o modificati in alcun modo.
Di conseguenza, cambieremo i suoi permessi.
$ sudo chmod 600 swapfile
In questo caso, il file è in lettura-scrittura solo per l’account root.
c – Abilita il tuo file di swap
Per abilitare il tuo file di swap, puoi usare il comando “mkswap” seguito da quello “swapon”.
$ sudo mkswap swapfile$ sudo swapon swapfile
Ecco, hai creato con successo il tuo file di swap!
L’ultima cosa che devi fare è renderlo permanente usando fstab.
d – Rendi permanente il tuo file di swap
Per rendere permanente il tuo spazio di swap, modifica il file /etc/fstab e incolla le seguenti modifiche.
$ sudo nano fstab<path_to_file>/swapfile none swap defaults 0 0
Salva il tuo file e riavvia per essere sicuro che lo spazio di swap sia ancora montato.
$ sudo reboot$ sudo swapon --show
Hai aggiunto con successo dello spazio di swap sulla tua Ubuntu 20.04!
Risoluzione dei problemi
Quando aggiungi spazio di swap su Ubuntu 20.04, potresti incorrere nel seguente errore.
- swapon: /swapfile: read swap header failed.
Questo errore si verifica quando non si esegue il comando mkswap prima di eseguire il comando swapon.
Come promemoria, mkswap imposta l’intestazione del file o della partizione da usare come spazio di swap.
Se dimenticate di eseguire il comando mkswap, Linux non sarà in grado di assegnarlo come spazio di swap sul vostro host.
- Failed to find logical volume “vg/lv”
Questo errore accade quando hai cancellato un volume logico che era stato definito per essere caricato nella tua configurazione initramfs.
Per risolvere questo problema, hai due scelte:
- Esegui “update-initramfs -u”
- Assicurati che nessun volume logico sia stato originariamente menzionato nel file “resume” del tuo initramfs.
Icone fatte da Freepik da FlatIcon.