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.
- So löschen Sie Benutzerkonten mit Home-Verzeichnis unter Linux
- Was ist Ext2, Ext3 und Ext4 und wie erstellt und konvertiert man Linux-Dateisysteme?
- 7 Möglichkeiten zur Bestimmung des Dateisystemtyps unter Linux (Ext2, Ext3 oder Ext4)
- 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.