Website-Suche

So verschieben Sie das Home-Verzeichnis unter Linux auf eine neue Partition oder Festplatte


Auf jedem Linux-System muss eines der Verzeichnisse, dessen Größe sicherlich zunehmen wird, das Verzeichnis /home sein. Dies liegt daran, dass sich die Verzeichnisse der Systemkonten (Benutzer) in /home befinden, mit Ausnahme des Root-Kontos – hier speichern Benutzer kontinuierlich Dokumente und andere Dateien.

Ein weiteres wichtiges Verzeichnis mit demselben Verhalten ist /var. Es enthält Protokolldateien, deren Größe im weiteren Betrieb des Systems allmählich zunimmt, z. B. Protokolldateien, Webdateien, Druckspooldateien usw.

Wenn diese Verzeichnisse voll sind, kann dies zu kritischen Problemen im Root-Dateisystem führen, die zu einem Systemstartfehler oder anderen damit zusammenhängenden Problemen führen können. Manchmal können Sie dies jedoch erst bemerken, nachdem Sie Ihr System installiert und alle Verzeichnisse auf dem Root-Dateisystem/der Root-Partition konfiguriert haben.

Empfohlene Lektüre: Linux-Verzeichnisstruktur und wichtige Dateipfade erklärt

In dieser Anleitung zeigen wir, wie Sie das Home-Verzeichnis in eine dedizierte Partition verschieben, möglicherweise auf einer neuen Speicherplatte unter Linux.

Installieren und Partitionieren einer neuen Festplatte unter Linux

Bevor wir fortfahren, erklären wir kurz, wie man eine neue Festplatte zu einem bestehenden Linux-Server hinzufügt.

Hinweis: Wenn Sie bereits eine Partition für den Vorgang bereit haben, fahren Sie mit dem Abschnitt fort, in dem die Schritte zum Verschieben des Verzeichnisses /home in a erläutert werden eine eigene Partition unten.

Wir gehen davon aus, dass Sie die neue Festplatte an das System angeschlossen haben. Auf einer Festplatte wird die Anzahl der zu erstellenden Partitionen sowie die Partitionstabelle normalerweise durch den Typ der Festplattenbezeichnung bestimmt und die ersten paar Bytes des Speicherplatzes definieren den MBR (Master Boot Record). ), in dem die Partitionstabelle sowie der Bootloader (für bootfähige Festplatten) gespeichert sind.

Obwohl es viele Bezeichnungstypen gibt, akzeptiert Linux nur zwei: MSDOS MBR (516 Byte groß) oder GPT (GUID-Partitionstabelle) MBR.

Nehmen wir außerdem an, dass Sie für die neue Festplatte (/dev/sdb mit der Größe 270 GB, die für den Zweck dieses Handbuchs verwendet wird, wahrscheinlich eine größere Kapazität auf einem Server benötigen große Nutzerbasis.

Zuerst müssen Sie den Datenträger-Label-Typ mit fdisk oder parted festlegen; In diesem Beispiel haben wir den Labelnamen GPT verwendet.

parted /dev/sdb mklabel gpt

Hinweis: fdisk unterstützt derzeit nur MSDOS MBR und parted unterstützt beide Bezeichnungen.

Erstellen Sie nun die erste Partition (/dev/sdb1) mit der Größe 106GB. Wir haben 1024 MB Speicherplatz für den MBR reserviert.

parted -a cylinder /dev/sdb mkpart primary 1074MB 107GB

Erläuterung des obigen Befehls:

  • a – Option zum Festlegen der Partitionsausrichtung.
  • mkpart – Unterbefehl zum Erstellen der Partition.
  • primär – legt den Partitionstyp auf der Festplatte als primär fest (andere Werte sind logisch oder erweitert).
  • 1074 MB – Beginn der Partition.
  • 107 GB – Ende der Partition.

Überprüfen Sie nun den freien Speicherplatz auf der Festplatte wie folgt.

parted /dev/sdb print free

Wir werden eine weitere Partition (/dev/sdb2) mit einer Größe von 154 GB erstellen.

parted -a cylinder /dev/sdb mkpart primary 115GB 268GB

Als nächstes legen wir den Dateisystemtyp für jede Partition fest.

mkfs.ext4 /dev/sdb1
mkfs.xfs /dev/sdb2

Um alle an das System angeschlossenen Speichergeräte anzuzeigen, geben Sie Folgendes ein:

parted -l

Verschieben des Home-Verzeichnisses in eine dedizierte Partition

Jetzt haben wir die neue Festplatte hinzugefügt und die erforderliche Partition erstellt; Jetzt ist es an der Zeit, den Home-Ordner in eine der Partitionen zu verschieben. Um ein Dateisystem zu verwenden, muss es an einem Mount-Punkt im Root-Dateisystem gemountet werden: dem Zielverzeichnis, z. B. /home.

Listen Sie zunächst die Dateisystemnutzung mit dem Befehl df auf dem System auf.

df -l

Wir beginnen mit der Erstellung eines neuen Verzeichnisses /srv/home, in dem wir vorerst /dev/sdb1 mounten können.

mkdir -p /srv/home
mount /dev/sdb1 /srv/home 

Verschieben Sie dann den Inhalt von /home nach /srv/home (damit er praktisch in /dev/sdb1 gespeichert wird), indem Sie den Befehl rsync verwenden oder cp-Befehl.

rsync -av /home/* /srv/home/
OR
cp -aR /home/* /srv/home/

Danach ermitteln wir mit dem Diff-Tool den Unterschied zwischen den beiden Verzeichnissen. Wenn alles in Ordnung ist, fahren wir mit dem nächsten Schritt fort.

diff -r /home /srv/home

Anschließend löschen Sie alle alten Inhalte in /home wie folgt.

rm -rf /home/*

Als nächstes heben Sie die Bereitstellung von /srv/home auf.

umount /srv/home

Abschließend müssen wir das Dateisystem /dev/sdb1 vorerst nach /home mounten.

mount /dev/sdb1 /home
ls -l /home

Die oben genannten Änderungen gelten nur für den aktuellen Startvorgang. Fügen Sie die folgende Zeile in die Datei /etc/fstab ein, um die Änderungen dauerhaft zu machen.

Verwenden Sie den folgenden Befehl, um die UUID der Partition abzurufen.

blkid /dev/sdb1

/dev/sdb1: UUID="e087e709-20f9-42a4-a4dc-d74544c490a6" TYPE="ext4" PARTLABEL="primary" PARTUUID="52d77e5c-0b20-4a68-ada4-881851b2ca99"

Sobald Sie die UUID der Partition kennen, öffnen Sie die Datei /etc/fstab und fügen Sie die folgende Zeile hinzu.

UUID=e087e709-20f9-42a4-a4dc-d74544c490a6   /home   ext4   defaults   0   2

Erläuterung des Feldes in der Zeile oben:

  • UUID – gibt das Blockgerät an, alternativ können Sie die Gerätedatei /dev/sdb1 verwenden.
  • /home – das ist der Einhängepunkt.
  • etx4 – beschreibt den Dateisystemtyp auf dem Gerät/der Partition.
  • Standards – Mount-Optionen (hier bedeutet dieser Wert rw, suid, dev, exec, auto, nouser und async).
  • 0 – wird vom Dump-Tool verwendet. 0 bedeutet, dass kein Dump erstellt wird, wenn das Dateisystem nicht vorhanden ist.
  • 2 – wird vom fsck-Tool zum Ermitteln der Dateisystem-Prüfreihenfolge verwendet. Dieser Wert bedeutet, dass dieses Gerät nach dem Root-Dateisystem überprüft wird.

Speichern Sie die Datei und starten Sie das System neu.

Sie können den folgenden Befehl ausführen, um zu sehen, dass das Verzeichnis /home erfolgreich in eine dedizierte Partition verschoben wurde.

df -hl

Das war es fürs Erste! Um mehr über das Linux-Dateisystem zu erfahren, lesen Sie diese Anleitungen zur Dateisystemverwaltung unter Linux.

  1. So löschen Sie Benutzerkonten mit Home-Verzeichnis unter Linux
  2. Was ist Ext2, Ext3 und Ext4 und wie erstellt und konvertiert man Linux-Dateisysteme?
  3. 7 Möglichkeiten zur Bestimmung des Dateisystemtyps unter Linux (Ext2, Ext3 oder Ext4)
  4. So mounten Sie ein Remote-Linux-Dateisystem oder -Verzeichnis mithilfe von SSHFS über SSH

In dieser Anleitung haben wir Ihnen erklärt, wie Sie das Verzeichnis /home in eine dedizierte Partition unter Linux verschieben. Sie können Ihre Gedanken zu diesem Artikel über das Kommentarformular unten mitteilen.