Swap-Datei unter Linux erstellen und aktivieren

CompTIABeginner
Jetzt üben

Einführung

In diesem Lab lernen Sie die grundlegende administrative Aufgabe kennen, eine Swap-Datei unter Linux zu erstellen und zu aktivieren. Dieser Prozess ermöglicht es Ihnen, den virtuellen Speicher Ihres Systems zu erweitern, was besonders dann entscheidend ist, wenn der physische Arbeitsspeicher (RAM) knapp wird. Sie sammeln praktische Erfahrungen mit fundamentalen Kommandozeilen-Werkzeugen zur effektiven Verwaltung von Systemressourcen und lernen so eine flexible Alternative zur Erstellung einer dedizierten Swap-Partition kennen.

Sie durchlaufen den kompletten Workflow: Zuerst prüfen Sie den aktuellen Swap-Speicher mit dem Befehl swapon. Danach erstellen Sie mit dd eine Datei für den Swap-Bereich, formatieren diese mit mkswap für die Nutzung als Auslagerungsspeicher und aktivieren sie anschließend. Zum Abschluss des Labs verifizieren Sie, dass die neue Swap-Datei erfolgreich konfiguriert wurde und vom System erkannt wird.

Aktuellen Swap-Speicher mit swapon prüfen

In diesem Schritt lernen Sie, wie Sie die aktuelle Konfiguration des Swap-Speichers auf Ihrem Linux-System überprüfen. Swap-Speicher ist ein Teil der Festplatte, der als virtueller Arbeitsspeicher verwendet wird, wenn der physische Speicher (RAM) voll ist. Er ermöglicht es dem System, mehr Anwendungen auszuführen, als eigentlich in den physischen RAM passen würden.

Zunächst verwenden Sie den Befehl swapon, ein Werkzeug zum Festlegen von Geräten und Dateien für das Paging und Swapping. Wir nutzen die Option --show, um eine Zusammenfassung der aktiven Swap-Geräte anzuzeigen. Da die Verwaltung des Swap-Speichers eine administrative Aufgabe ist, müssen Sie sudo verwenden, um den Befehl mit Root-Rechten auszuführen.

Führen Sie in Ihrem Terminal, das sich bereits im Verzeichnis ~/project befindet, den folgenden Befehl aus:

sudo swapon --show

Sie sehen eine Ausgabe ähnlich der folgenden. Die Details wie NAME und SIZE können je nach der initialen Konfiguration Ihrer virtuellen Maschine variieren. Es ist auch möglich, dass gar kein Swap-Speicher konfiguriert ist; in diesem Fall liefert der Befehl keine Ausgabe.

NAME        TYPE      SIZE USED PRIO
/dev/loop12 partition   2G   0B   -2

Lassen Sie uns die Ausgabe aufschlüsseln:

  • NAME: Der Name des Swap-Geräts oder der Datei. In diesem Beispiel ist es ein Loop-Gerät (/dev/loop12).
  • TYPE: Die Art des Swap-Speichers, entweder eine Partition (partition) oder eine Datei (file).
  • SIZE: Die Gesamtgröße des Swap-Speichers.
  • USED: Die Menge des aktuell genutzten Swap-Speichers.
  • PRIO: Die Priorität des Swap-Speichers. Wenn Sie mehrere Swap-Bereiche haben, wird derjenige mit der höheren Priorität zuerst verwendet.

Durch das Ausführen dieses Befehls haben Sie die aktuelle Swap-Konfiguration des Systems erfolgreich überprüft. In den nächsten Schritten lernen Sie, wie Sie eine neue Swap-Datei erstellen und aktivieren – eine flexible Methode, um Swap-Speicher hinzuzufügen, ohne eine Festplatte neu partitionieren zu müssen.

Datei für den Swap-Speicher mit dd erstellen

Im vorherigen Schritt haben Sie gelernt, wie Sie die vorhandene Swap-Konfiguration einsehen. Jetzt erstellen Sie eine dedizierte Datei, die als neuer Swap-Speicher dienen soll. Die Verwendung einer Datei für Swap ist eine flexible Methode, da sie keine Neupartitionierung Ihrer Festplatte erfordert.

Wir verwenden den Befehl dd, ein mächtiges Werkzeug zum Kopieren und Konvertieren von Daten. Er ist ideal für diese Aufgabe, da er eine Datei mit einer präzisen Größe erstellen kann, indem er aus einem speziellen Systemgerät namens /dev/zero liest, das einen endlosen Strom von Nullzeichen (Nullen) liefert.

Um eine 250 MB große Datei namens swapfile in Ihrem aktuellen Verzeichnis (~/project) zu erstellen, führen Sie den folgenden Befehl aus. Sie benötigen sudo, da die Datei später vom System verwaltet wird.

sudo dd if=/dev/zero of=swapfile bs=1M count=250

Lassen Sie uns diesen Befehl aufschlüsseln:

  • sudo: Führt den Befehl mit Root-Rechten aus.
  • dd: Das Kommandozeilen-Werkzeug, das wir verwenden.
  • if=/dev/zero: Gibt die Eingabedatei (input file) an. /dev/zero ist eine Spezialdatei, die einen Strom von Nullzeichen erzeugt.
  • of=swapfile: Gibt die Ausgabedatei (output file) an. Dies erstellt eine Datei namens swapfile im aktuellen Verzeichnis.
  • bs=1M: Setzt die Blockgröße (block size) auf 1 Megabyte. dd liest und schreibt Daten in 1-MB-Häppchen.
  • count=250: Kopiert 250 Blöcke. Da unsere Blockgröße 1 MB beträgt, ergibt dies eine Datei von 250 * 1 MB = 250 MB.

Nach dem Ausführen des Befehls sehen Sie eine Bestätigung, dass der Vorgang erfolgreich war:

250+0 records in
250+0 records out
262144000 bytes (262 MB, 250 MiB) copied, 0.270222 s, 970 MB/s

Sie haben nun erfolgreich eine 250 MB große Datei erstellt. Im nächsten Schritt werden Sie diese Datei so formatieren, dass sie als Swap-Speicher erkannt wird, und die entsprechenden Berechtigungen setzen.

Datei als Swap formatieren mit mkswap

Im vorherigen Schritt haben Sie eine Datei namens swapfile erstellt, die mit Nullen gefüllt ist. Das Betriebssystem erkennt sie jedoch noch nicht als gültigen Swap-Bereich an. Sie müssen sie speziell für diesen Zweck formatieren. Hier kommt der Befehl mkswap ins Spiel.

Der Befehl mkswap richtet einen Linux-Swap-Bereich auf einem Gerät oder in einer Datei ein. Er schreibt eine spezielle Signatur in die Datei, die der Kernel identifizieren kann.

Zuerst formatieren wir die erstellte swapfile. Führen Sie in Ihrem Terminal folgenden Befehl aus:

sudo mkswap swapfile

Nach der Ausführung des Befehls sehen Sie eine Ausgabe, die anzeigt, dass der Swap-Bereich eingerichtet wurde. Das System weist Ihrem neuen Swap-Bereich eine eindeutige Kennung (UUID) zu. Möglicherweise sehen Sie auch eine Warnung bezüglich unsicherer Berechtigungen, um die wir uns als Nächstes kümmern.

mkswap: swapfile: insecure permissions 0644, fix with: chmod 0600 swapfile
Setting up swapspace version 1, size = 250 MiB (262139904 bytes)
no label, UUID=aabf0226-9f7b-47f5-9ad3-10248552795c

Wichtiger Sicherheitshinweis: Eine Swap-Datei kann potenziell sensible Daten aus dem Arbeitsspeicher Ihres Computers enthalten. Aus Sicherheitsgründen ist es entscheidend, dass nur der Benutzer root die Berechtigung hat, daraus zu lesen oder hineinzuschreiben. Andere Benutzer auf dem System sollten keinerlei Zugriff haben.

Um die korrekten Berechtigungen zu setzen, verwenden wir den Befehl chmod. Wir setzen die Berechtigungen auf 600, was dem Besitzer (root) Lese- und Schreibzugriff gewährt und allen anderen jeglichen Zugriff entzieht.

Führen Sie den folgenden Befehl aus, um Ihre swapfile abzusichern:

sudo chmod 600 swapfile

Dieser Befehl erzeugt keine Ausgabe, wenn er erfolgreich ist. Sie haben nun die swapfile erfolgreich formatiert und die Berechtigungen abgesichert. Sie ist nun bereit, vom System aktiviert und genutzt zu werden, was Sie im nächsten Schritt tun werden.

Neue Swap-Datei mit swapon aktivieren

Sie haben erfolgreich eine swapfile erstellt und vorbereitet. Sie ist nun formatiert und verfügt über die korrekten Berechtigungen, aber der Linux-Kernel nutzt sie noch nicht als virtuellen Speicher. In diesem Schritt aktivieren Sie die Swap-Datei und stellen sie dem System zur Verfügung.

Dazu verwenden Sie erneut den Befehl swapon. Im ersten Schritt haben Sie ihn mit der Option --show verwendet, um die aktuelle Konfiguration anzuzeigen. Diesmal geben Sie den Pfad zu Ihrer swapfile als Argument an, um sie zu aktivieren.

Führen Sie in Ihrem Terminal (im Verzeichnis ~/project) den folgenden Befehl aus, um Ihren neuen Swap-Speicher zu aktivieren:

sudo swapon swapfile

Lassen Sie uns den Befehl kurz durchgehen:

  • sudo: Dies ist notwendig, da das Aktivieren von Swap-Speicher eine Operation auf Systemebene ist, die Root-Rechte erfordert.
  • swapon: Der Befehl zum Aktivieren von Geräten und Dateien für das Swapping.
  • swapfile: Der Name der Datei, die Sie aktivieren möchten. Da Sie sich im Verzeichnis ~/project befinden, in dem die Datei liegt, müssen Sie nicht den vollständigen Pfad angeben.

Wenn der Befehl erfolgreich ist, erfolgt keine Ausgabe. Dies ist das Standardverhalten vieler Linux-Befehle – keine Nachricht ist eine gute Nachricht.

Ihre swapfile ist nun aktiv und wird vom System als zusätzlicher virtueller Speicher verwendet. Im letzten Schritt verifizieren Sie, dass der neue Swap-Speicher erfolgreich zu den gesamten Speicherressourcen des Systems hinzugefügt wurde.

Neue Swap-Speicher-Konfiguration verifizieren

Herzlichen Glückwunsch! Sie haben erfolgreich eine neue Swap-Datei erstellt, formatiert und aktiviert. In diesem letzten Schritt überprüfen Sie, ob das System diese neue Ressource erkennt und bereit ist, sie zu nutzen. Dies bestätigt, dass alle vorherigen Schritte korrekt ausgeführt wurden.

Beginnen wir mit demselben Befehl wie zu Beginn dieses Labs: swapon --show. Wenn Sie ihn jetzt ausführen, sollte eine aktualisierte Liste der aktiven Swap-Bereiche angezeigt werden, einschließlich der soeben hinzugefügten swapfile.

Führen Sie in Ihrem Terminal folgenden Befehl aus:

sudo swapon --show

Die Ausgabe zeigt nun zwei Einträge: die ursprüngliche Swap-Partition (falls vorhanden) und Ihre neue Swap-Datei. Achten Sie auf die neue Zeile für /home/labex/project/swapfile.

NAME                         TYPE      SIZE USED PRIO
/dev/loop12                  partition   2G   0B   -2
/home/labex/project/swapfile file      250M   0B   -3

Wie Sie sehen können, erkennt das System nun einen Swap-Speicher vom Typ file mit einer Größe von 250M. Ihm wurde auch eine Priorität (PRIO) zugewiesen. Der Kernel verwendet den Swap-Speicher mit der höheren Priorität zuerst.

Ein weiterer nützlicher Befehl zur Überprüfung der Speicher- und Swap-Auslastung ist free. Die Option -h (--human) macht die Ausgabe leichter lesbar, indem Größen in Megabyte (M) oder Gigabyte (G) angezeigt werden.

Führen Sie den Befehl free -h aus:

free -h

Sie sehen eine Zusammenfassung des System-Speichers. Achten Sie besonders auf die Zeile Swap.

               total        used        free      shared  buff/cache   available
Mem:           3.5Gi       608Mi       732Mi        16Mi       2.2Gi       2.7Gi
Swap:          2.2Gi          0B       2.2Gi

Der Wert unter total in der Zeile Swap sollte nun die kombinierte Größe des ursprünglichen Swap-Speichers und Ihrer neuen 250-MB-Datei widerspiegeln. Wenn Sie beispielsweise mit 2 GB Swap gestartet sind, beträgt der neue Gesamtwert etwa 2,2 GB.

Sie haben erfolgreich eine neue Swap-Datei auf Ihrem Linux-System hinzugefügt und verifiziert, wodurch dem System mehr virtueller Speicher zur Verfügung steht.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie eine Swap-Datei erstellen und aktivieren, um den virtuellen Speicher eines Linux-Systems zu erweitern. Sie begannen mit der Überprüfung der bestehenden Swap-Konfiguration mittels sudo swapon --show, um den aktuellen Zustand des virtuellen Speichers zu verstehen und die Ausgabe zu interpretieren.

Nach der ersten Analyse haben Sie mit dem Befehl dd eine neue Swap-Datei erstellt, um den gewünschten Festplattenplatz zu reservieren. Anschließend haben Sie diese Datei mit mkswap für die Nutzung als Swap formatiert und sie mit dem Befehl swapon aktiviert, wodurch sie dem System sofort zur Verfügung stand. Abschließend haben Sie durch erneutes Ausführen von swapon --show verifiziert, dass die neue Swap-Datei erfolgreich hinzugefügt und aktiviert wurde, was die aktualisierte Konfiguration bestätigte.