Verschieben, /var
ohne in den Einzelbenutzermodus zu wechseln
Als ich einen neuen virtuellen Server übernahm, der von der Hosting-Firma meines Arbeitgebers für mich bereitgestellt wurde, erstellte ich zusätzliche logische Volumes für var
und home
die waren reguläre Verzeichnisse in der Root-Partition. Da der Anbieter des virtuellen Servers keine KVM-ähnliche Schnittstelle zur Verfügung stellte, über die ich im Einzelbenutzermodus auf den Server zugreifen konnte, waren die obigen Antworten für meine Einrichtung nicht zutreffend. Ich hoffe, diese Antwort ist für andere in einer ähnlichen Situation nützlich (ich habe die LVM-Details beibehalten, aber diese können übersprungen werden, da es nicht besonders relevant ist, ob das neue Dateisystem auf einem logischen Volume oder einer Festplattenpartition erstellt wird).
Erstellen und verwenden Sie ein neues /var
Dateisystem mit LVM
Erstellen Sie das Dateisystem für das neue var
Volume, hängen Sie es (unter Verwendung eines temporären Verzeichnisses) ein und kopieren Sie Dateien vom aktuellen /var
in das neue Dateisystem. rsync
Verwenden Sie beim Kopieren von Dateien die -a, --archive
Option zum Beibehalten von Zeitstempeln, Eigentümern, Modi usw. und die -X, --xattrs
Option zum Beibehalten der erweiterten Attribute, z. B. der von AppArmor und SELinux verwendeten Sicherheitsetiketten.
sudo lvcreate -L 60GB -n var VolGroup00
sudo mkfs.ext4 /dev/VolGroup00/var
sudo mkdir /var.new
sudo mount /dev/VolGroup00/var /var.new
sudo rsync -raX /var/ /var.new/
Aktualisieren Sie die Dateisystemtabelle
Konfigurieren Sie das neue Dateisystem, das als neuer Einhängepunkt verwendet /var
werden soll, indem Sie die folgende Zeile hinzufügen /etc/fstab
. Beachten Sie, dass dies 0
als Passnummer (letztes Feld) verwendet wird, damit das Dateisystem fsck
nach einer bestimmten Anzahl von Neustarts nicht automatisch überprüft wird ( ) (Ich habe keinen Zugriff, um mich im Einzelbenutzermodus beim Server anzumelden).
/dev/mapper/VolGroup00-var /var ext4 defaults 0 0
Da ich nicht in den Einzelbenutzermodus wechseln kann, starten Sie den Computer neu, um dieses neue Volume als zu verwenden /var
.
Stellen Sie Speicherplatz vom Root-Dateisystem wieder her
Führen Sie nach dem Neustart des Computers die folgenden Schritte aus, um das temporäre Verzeichnis zu bereinigen und die alten /var
Dateien aus dem Root-Dateisystem zu entfernen :
Entfernen Sie den temporären Einhängepunkt:
sudo rmdir /var.new
Erstellen Sie einen neuen Einhängepunkt, um einen alternativen Pfad zu den Dateien im alten /var
Verzeichnis im Root-Dateisystem zu erstellen (derzeit wird er vom neuen /var
Dateisystem im Verzeichnis „maskiert“ ):
sudo mkdir /old-root
sudo mount /dev/mapper/VolGroup00-root /old-root/
sudo rm -rf /old-root/var/*
sudo umount /old-root/
sudo rmdir /old-root/