Augmenter le swap dans Ubuntu 18.04 sous Lvm et système de fichiers crypté

22

J'ai fait une nouvelle installation d'Ubuntu 18.04 Desktop.

J'ai utilisé l'installateur graphique et choisi "Crypter la nouvelle installation d'Ubuntu pour la sécurité".

Il a utilisé LVM par défaut et créé une partition pour le swap au lieu du fichier. Voici le sudo swapon -srésultat:

eviatan89@leviatan89-K55VD:~$ sudo swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-2                               partition   1003516 999448  -2

J'ai besoin d'augmenter la taille car j'ai beaucoup de problèmes avec une faible quantité de RAM.

Par curiosité, des problèmes surviennent lors de l'utilisation de Cassandra et Firefox avec plusieurs onglets ouverts (y compris YouTube). Mon système a 6 Go de RAM.

Merci beaucoup pour votre aide!

leviatan89
la source
centos.org/docs/5/html/5.1/Deployment_Guide/… a fonctionné pour moi (chiffrement complet du disque 18.04)
olejorgenb
1
Je me demande si nous pouvons simplement agrandir la partition. LVM devrait vous faciliter la tâche, non? Quelqu'un l'a-t-il essayé? Impossible de trouver une réponse avec cette option.
AlikElzin-kilaka le
J'ai essayé de redimensionner la partition à l'aide de l'application Disks, mais l'option n'était pas disponible. Pas même après l'avoir "arrêté". J'ai également essayé de démarrer à partir d'une clé USB, qui ne monte rien sur le disque dur, mais l'option de redimensionnement n'était pas disponible pour les non de la partition LVM. Serait-ce parce que la partition "principale" est verrouillée? Après l'avoir déverrouillé, l'option n'était toujours pas disponible.
AlikElzin-kilaka
@ AlikElzin-kilaka: oui, vous devez utiliserkpvm pour redimensionner le swapvolume, et en effet, c'est très simple.
Dan Dascalescu
@DanDascalescu Étendre le volume logique ... est désactivé pour ma swap_1partition, tout comme Réduire le volume logique ... pour root. Que faire?
Bojan P.

Réponses:

29

La solution la plus simple serait d'ajouter un fichier d'échange. Si vous chiffrez déjà votre système de fichiers racine, je ne m'embêterais pas avec un fichier d'échange chiffré, ce qui n'est qu'un peu plus difficile, mais il est plus lent. L'avantage d'un fichier d'échange est que vous pouvez le supprimer ultérieurement pour regagner de l'espace disque. Et le disque est déjà crypté!

Les étapes sont simples. Commencez par créer le fichier. Par exemple, cela ferait 1 Go de nouveau swap:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024k

Le of=/swapfiledit ddde mettre le nouveau fichier d'échange /swapfile. Vous pouvez l'appeler comme vous voulez. Vous pouvez également ajouter plusieurs fichiers d'échange. Pour les noyaux Linux récents, la vitesse est la même qu'une partition de swap.

Ensuite, vous devez formater le fichier d'échange comme espace d'échange, comme ceci:

sudo mkswap /swapfile

Cette commande vous donnera une sortie comme:

Setting up swapspace version 1, size = 1048576 KiB

no label, UUID=83352590-ef57-49f5-84c4-7fb847e4e4e0

Et c'est votre nouveau fichier d'échange. Enfin, vous devez activer le swap sur votre machine à l'aide de la commande suivante:

sudo swapon /swapfile

Maintenant, sudo swapon -sdevrait vous montrer à la fois la partition de swap et le fichier de swap.

Je recommande ensuite d'ajouter de la sécurité en modifiant les autorisations comme suit:

sudo chown root:root /swapfile
sudo chmod 0600 /swapfile

Si tout semble bien jusqu'à présent, vous pouvez ajouter le fichier d'échange de façon permanente en ajoutant la ligne suivante à l' /etc/fstabaide de votre éditeur préféré:

/swapfile       none    swap    sw      0       0

Vous pouvez bien sûr ajouter plusieurs fichiers d'échange. Et vous pouvez supprimer le fichier d'échange à l'aide de sudo swapoff /swapfile.

J'espère que cela t'aides.

Martin W
la source
2
Merci! Ça a marché. Il s'agit de la commande dd que j'ai utilisée pour ajouter un fichier d'échange 4G: sudo dd if = / dev / zero of = / swapfile bs = 1024 count = 4096k
leviatan89
Pourquoi est-il 1024k? Mon intuition dirait que c'était 1 mégaoctet, pas un concert.
grofte
4
Le paramètre de taille de bloc «bs» est en octets. Ainsi, un décompte de 1 024 Ko ou 1 million de blocs de 1 Ko équivaut à 1 Go.
Martin W
Étant donné que l'OP utilise LVM, il serait encore plus facile de simplement redimensionner le swapvolume à l' aide kpvm.
Dan Dascalescu
@DanDascalescu… plus facile sauf si OP préfère ne pas installer les bibliothèques KDE uniquement pour ce problème
törzsmókus
3

Ajout à la première réponse . Depuis je n'ai pas la réputation de commenter. Mes excuses.

Dans le cas où vous essayez d'augmenter l'espace d'échange et que l'espace d'échange est déjà alloué.

Avertissement : fermez les applications qui utilisent l'espace d'échange.

Tout d'abord, faites cela, sinon vous obtiendrez une erreur :

sudo swapoff -a

Et puis procédez comme indiqué ci-dessus.

De plus, le processus ci-dessus effacera l'espace de swap précédent, donc si vous avez 2 Go de swap et que vous voulez 6 Go de plus, vous devrez allouer 9 nouveaux Go de swap. Ou nommez le fichier d'échange à quelque chose de différent des autres fichiers d'échange.

sudo dd if=/dev/zero of=/swapfile2 bs=1024 count=6144k

Erreur:

~ $sudo dd if=/dev/zero of=/swapfile bs=1024 count=6144k                     
dd: failed to open '/swapfile': Text file busy

REMARQUE: Ceci est une extension suggérée à la réponse de @Martin W

cRAYonhere
la source
Avec LVM, vous n'avez pas besoin d'un fichier d'échange. Vous pouvez très facilement redimensionner le swapvolume à l' aide de kpvm.
Dan Dascalescu
1

Notez que si votre installation utilise LVM, vous disposez peut-être déjà d'un volume d'échange. Vérifiez en utilisant kvpm. Si ce n'est pas le cas, voici des étapes concises pour créer un nouveau fichier d'échange de 4 Go. Fermez d'abord toutes les applications utilisant l'espace d'échange (ou redémarrez votre machine). Alors:

sudo swapoff -a                                    # Turn off all swap space.
sudo rm /swapfile                                  # Delete current swap file.
sudo dd if=/dev/zero of=/swapfile bs=1G count=4    # Make a new 4GB swap file.
sudo chown root:root /swapfile                     # Set owner to root, group root
sudo chmod 0600 /swapfile                          # Set permission to root
sudo mkswap /swapfile                              # Convert file to swap format
sudo swapon /swapfile                              # Enable swap space

Exécutez htopou un autre moniteur système pour vérifier que le nouveau swap est en vigueur. Si tout semble correct, rendez le fichier d'échange permanent en ajoutant la ligne suivante à /etc/fstab:

/swapfile       none    swap    sw      0       0
rouble
la source
Si j'ai besoin de 12 Go de swap, dois-je simplement changer le nombre = 12288, n'est-ce pas?
user_6396
1
En effet,4096*3=12288
Alexis Paques
Avec LVM, vous n'avez pas besoin d'un fichier d'échange. LVM facilite le redimensionnement du swapvolume à l' aide de kpvm.
Dan Dascalescu
0

Il utilise LVM par défaut et crée une partition pour le swap au lieu du fichier.

Ce n'est pas vraiment une partition; il s'agit plutôt d'un volume LVM ( Logical Volume Management ). Vous pouvez voir les volumes LVM en utilisant kvpm:

Capture d'écran kpvm avec volume d'échange

Ainsi, la bonne réponse à votre question n'est pas de créer une autre destination de swap (un fichier de swap), mais de redimensionner le volume de swap en utilisant kvpm: faites un clic droit sur le swapvolume et choisissez Extend logical volume.

Si cette option n'est pas disponible, vous devrez peut-être d'abord réduire la taille d'un autre volume.

Dan Dascalescu
la source
Cela fonctionnera-t-il lors de l'utilisation zfssur Ubuntu 19.10?
AlikElzin-kilaka
1
Étendre le volume logique ... est désactivé pour ma swap_1partition, tout comme Réduire le volume logique ... pour root. Que faire?
Bojan P.
-1

Si vous utilisez mint 19.X, voici quelques étapes concises:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=10240k # make 10G swapfile
sudo chown root:root /swapfile
sudo chmod 0600 /swapfile
sudo mkswap /swapfile

Éditer /etc/fstab

commenter la ligne: /dev/mapper/mint--vg-swap_1 none swap sw 0 0

ajouter une ligne: /swapfile none swap sw 0 0

Redémarrez ensuite.

Tom Berghuis
la source