Wie man Swap Space unter Ubuntu 20.04 hinzufügt

Dieses Tutorial konzentriert sich darauf, wie man Swap Space unter Ubuntu 20.04 mithilfe einer Swap-Partition oder einer Swap-Datei erstellt.

Für Systemadministratoren ist es nicht ungewöhnlich, dass Servern der Arbeitsspeicher ausgeht.

In manchen Fällen haben Sie vielleicht zu viele Programme gestartet oder einige der Programme verbrauchen bereits zu viele Ressourcen.

In diesem Fall haben Sie nicht viele Möglichkeiten.

Sie können entweder einige Prozesse stoppen, um etwas RAM zu gewinnen, aber das ist vielleicht nicht möglich.

Glücklicherweise gibt es eine andere Lösung: das Hinzufügen von Swap-Speicher.

In diesem Tutorial erfahren Sie, wie Sie Swap-Speicher unter Ubuntu 20.04 hinzufügen können: über eine Swap-Partition oder eine Swap-Datei.

Inhaltsverzeichnis

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie sudo-Rechte auf Ubuntu 20.04 haben.

$ groups

Wenn Sie die „sudo“-Gruppen in der Gruppenliste sehen, sollten Sie in der Lage sein, eine Swap-Partition zu erstellen.

Vorhandene Swap-Partitionen überprüfen

Um vorhandene Swap-Partitionen auf Ihrem System zu überprüfen, müssen Sie den Befehl „swapon“ verwenden.

$ sudo swapon --show

Standardmäßig wird bei der Ubuntu-Installation in der Regel bereits eine Swap-Partition angelegt.

Als Folge sollten Sie die folgende Ausgabe auf Ihrer Konsole sehen.

Wie Sie sehen können, besitze ich eine Swap-Partition namens „dm-1“ mit einer Größe von 980 Mb.

Der aktuelle Arbeitsspeicher reicht jedoch für meinen Server aus, so dass er überhaupt nicht verwendet wird.

Wenn auf Ihrem Server keine Swap-Spaces konfiguriert sind, sollten Sie die folgende Ausgabe sehen.

Add Swap Space on Ubuntu 20.04 using a swap partition

Die erste Möglichkeit, Swap Space auf Ubuntu hinzuzufügen, ist das Hinzufügen einer Swap-Partition.

Um diese Partition hinzuzufügen, verwenden wir:

  • den Befehl „lvcreate“, wenn Sie sich auf einem LVM-Gerät befinden (d.h. eine als LVM formatierte Festplattenpartition)
  • den Befehl „fdisk“, wenn Sie sich auf einer „normalen“ Festplatte befinden.

a – Swap-Partition auf einem LVM-Gerät erstellen

Zuallererst müssen Sie die vorhandenen Partitionen auf Ihrem Host inspizieren.

$ sudo fdisk -l

Wie Sie hier sehen können, besitze ich bereits drei Partitionen :

  • /dev/sda1 : meine bootfähige Partition, da ich es hier mit einer MBR-Platte zu tun habe;
  • /dev/sda2 : eine erweiterte Partition der Größe 14,5 GB;
  • /dev/sda5 : meine primäre LVM-Partition.

Wenn man das weiß, kann man entweder eine Swap-Partition auf der erweiterten Partition oder auf der primären LVM-Partition erstellen.

In diesem Fall entscheiden wir uns, diese Partition auf der LVM-Partition zu erstellen.

Deshalb müssen wir überprüfen, ob wir noch Platz dafür haben.

Zur Erinnerung: /dev/sda5 ist eine Festplattenpartition, auch physisches Volume genannt, die mit einer Volume Group verknüpft ist.

Um zu überprüfen, ob wir noch Platz haben, müssen wir den Befehl „vgs“ verwenden.

Wenn Sie mit LVM nicht vertraut sind, empfehle ich Ihnen, zunächst unseren Artikel zu diesem Thema zu lesen.

$ sudo vgs

In diesem Fall haben wir noch etwa 980 Mb Speicherplatz übrig, was für unsere Swap-Partition ausreichen sollte.

Um ein neues logisches Volume auf dieser Volume-Gruppe zu erstellen, verwenden wir den Befehl „lvcreate“.

$ sudo lvcreate -L 500M -n lvswap vgubuntu

Hinweis: Sie werden möglicherweise aufgefordert, eine Swap-Signatur auf einem bestimmten logischen Volume zu löschen. Sie können „y“ drücken, Sie werden nach dieser Information gefragt, weil es bereits eine Partition mit dem gleichen Namen gab.

Sie können überprüfen, ob Ihr logisches Volume korrekt erstellt wurde, indem Sie den Befehl „lvs“ verwenden.

$ sudo lvs

b – Swap-Partition auf einer regulären Partition erstellen

Sie können diesen Abschnitt überspringen und zum nächsten gehen, wenn Sie Ihre Partition bereits auf einem LVM-Gerät erstellt haben.

Wenn Sie es mit einer „normalen“ Linux-Partition zu tun haben, müssen Sie den Befehl fdisk verwenden.

In unserem Fall heißt unsere „normale“ (Linux-Typ) Partition „/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

Um eine neue Partition zu erstellen, müssen Sie die Option „n“ verwenden.

Command (m for help): nPartition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions)Select (default p) :

Sie können eine „primäre“ Partition erstellen. Wenn Sie mehr als vier primäre Partitionen haben, können Sie eine logische Partition erstellen.

Select (default p) : pPartition number (2-4, default 2):

In diesem Fall können Sie die Standardeinstellungen beibehalten.

Bei der nächsten Eingabeaufforderung werden Sie aufgefordert, den ersten Sektor anzugeben, Sie können es auch bei den Standardeinstellungen belassen.

All space for primary partitions is in useAdding logical partition 5First sector (48291898-65062911, default 48291840):

Schließlich werden Sie aufgefordert, die Gesamtgröße der zu erstellenden Partition anzugeben. In unserem Fall entscheiden wir uns für einen 1 GB großen Swap-Speicher (oder „+1G“).

Last sector, +/-sectors or +/-size{K,M,G,T,P} : +1GCreated a new partition 5 of type 'Linux' and of size 1 GiB.

Standardmäßig wird Ihre Partition mit dem Typ „Linux“ erstellt.

Sie möchten diesen Typ in eine Swap-Partition ändern.

Um das zu erreichen, geben Sie „t“ für „type“ ein und ändern Sie es in „82“ (für Swap)

Command (m for help): tPartition number (1,2,5, default 5): 1Hex code (type L to list all codes): 82

Drücken Sie die Eingabetaste und vergewissern Sie sich, dass Ihr Partitionstyp korrekt geändert wurde.

Changed type of partition 'Linux' to 'Linux swap / Solaris'

Vergessen Sie nicht, Ihre Änderungen mit dem Befehl „w“ auf die Festplatte zu schreiben.

Command (m for help): wThe partition table has been alteredSyncing disks.

c – Aktivieren der Swap-Partition

Zuerst müssen Sie mkswap ausführen, damit die Swap-Header für die Partition korrekt gesetzt werden.

# For a regular partition$ sudo mkswap /dev/sda5# For a LVM partition$ sudo mkswap /dev/vgubuntu/lvswap

Nun, da die Header gesetzt sind, ist es so einfach wie das Aktivieren Ihres Swap-Bereichs mit „swapon“.

# For a regular partition$ sudo swapon /dev/sda5# For a LVM partition$ sudo swapon /dev/vgubuntu/lvswap

Nun, da Ihr Swap eingeschaltet ist, stellen Sie sicher, dass Sie Ihre Swap-Partitionen mit der Option „-show“ wieder auflisten.

$ sudo swapon --show

Gut, du hast erfolgreich eine Swap-Partition unter Linux erstellt!

d – Mache deinen Swap-Speicherplatz permanent

Wie jede andere Partition auch, musst du deine Partitionen permanent machen.

Wenn Sie Ihren Server jetzt neu starten würden, würden die Änderungen nicht erhalten bleiben.

Zuallererst müssen Sie die UUID für die neu erstellte Partition ermitteln.

$ sudo blkid | grep "swap"

Kopieren Sie den UUID-Wert und bearbeiten Sie die fstab-Datei, um die folgenden Änderungen hinzuzufügen.

$ sudo nano /etc/fstabUUID=<copied value> none swap defaults 0 0

Speichern Sie Ihre Datei und starten Sie Ihr System neu, um sicherzustellen, dass Ihre Änderungen dauerhaft sind.

$ sudo reboot$ sudo swapon --show

Gut, Ihre Änderungen sind jetzt dauerhaft!

Swap-Speicherplatz unter Ubuntu 20.04 mit einer Auslagerungsdatei hinzufügen

Eine weitere gängige Methode, um Speicherplatz hinzuzufügen, ist die Erstellung einer Datei, die dafür vorgesehen ist.

Viele Anleitungen gehen nicht auf dieses Detail ein, aber Auslagerungsdateien können überhaupt keine Löcher enthalten.

Das bedeutet, dass Sie den cp-Befehl auf Ihrem Rechner nicht verwenden sollten, um eine Auslagerungsdatei zu erstellen.

Dafür werden Sie den „dd“-Befehl verwenden, der sicherstellt, dass Sie keine Löcher in Ihrer Datei haben.

a – Erstellen einer Auslagerungsdatei mit dd

Um Auslagerungsspeicher hinzuzufügen, führen Sie den folgenden Befehl aus

$ sudo dd if=/dev/zero of=swapfile bs=1MB count=$((1*2014))

In diesem Fall werden Sie einen 2Gb Auslagerungsspeicher erstellen.

Stellen Sie sicher, dass Ihre Auslagerungsdatei erstellt wurde, indem Sie den folgenden Befehl eingeben.

$ ls -l swapfile

b – Sichern Sie Ihre Auslagerungsdatei mit Berechtigungen

Swap-Dateien sind für die Speicheroptimierung gedacht.

Deshalb sollten sie nicht bearbeitet oder in irgendeiner Weise verändert werden.

Deshalb werden wir ihre Berechtigungen ändern.

$ sudo chmod 600 swapfile

In diesem Fall ist die Datei nur für den Root-Account schreib-lesbar.

c – Aktiviere deine Auslagerungsdatei

Um deine Auslagerungsdatei zu aktivieren, kannst du den Befehl „mkswap“ gefolgt von „swapon“ verwenden.

$ sudo mkswap swapfile$ sudo swapon swapfile

Gut, du hast deine Auslagerungsdatei erfolgreich erstellt!

Das letzte, was Sie tun müssen, ist, sie mit fstab dauerhaft zu machen.

d – Machen Sie Ihre Auslagerungsdatei dauerhaft

Um Ihren Swap Space dauerhaft zu machen, bearbeiten Sie die Datei /etc/fstab und fügen Sie die folgenden Änderungen ein.

$ sudo nano fstab<path_to_file>/swapfile none swap defaults 0 0

Speichern Sie Ihre Datei und starten Sie neu, um sicherzustellen, dass der Swap Space immer noch eingehängt ist.

$ sudo reboot$ sudo swapon --show

Sie haben erfolgreich Swap-Speicherplatz auf Ihrem Ubuntu 20.04 hinzugefügt!

Fehlerbehebung

Beim Hinzufügen von Swap-Speicherplatz unter Ubuntu 20.04 können Sie auf den folgenden Fehler stoßen.

  • swapon: /swapfile: read swap header failed.

Dieser Fehler tritt auf, wenn man den Befehl mkswap nicht ausführt, bevor man den Befehl swapon ausführt.

Zur Erinnerung: mkswap setzt den Header für die Datei oder die Partition, die als Swap-Speicher verwendet werden soll.

Wenn Sie vergessen, den mkswap-Befehl auszuführen, kann Linux die Datei oder Partition nicht als Swap-Speicher auf dem Host zuweisen.

  • Fehlgeschlagene Suche nach dem logischen Volume „vg/lv“

Dieser Fehler tritt auf, wenn Sie ein logisches Volume gelöscht haben, das in Ihrer initramfs-Konfiguration als geladen definiert wurde.

Um diesen Fehler zu beheben, haben Sie zwei Möglichkeiten:

  • Rufen Sie „update-initramfs -u“
  • Stellen Sie sicher, dass in der „resume“-Datei Ihres initramfs ursprünglich keine logischen Volumes erwähnt wurden.

Icons made by Freepik from FlatIcon.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.