it-swarm.com.de

Wie kann ich / var auf einer separaten Partition speichern?

Ich möchte /var auf einer anderen Partition als / speichern. Was ist der richtige Weg, um dies einzurichten?

12
ændrük

Bereiten Sie zunächst eine neue Partition vor (z. B. mit parted und mkfs).

Angenommen, die Partition ist/dev/sda5

Hängen Sie die neue Partition ein:

mkdir /var2
mount /dev/sda5 /var2

Synchronisiere deine aktuelle Var:

rsync -a /var/ /var2

Fügen Sie den Eintrag zu/etc/fstab hinzu

/dev/sda5    /var    ext4    defaults      2 2

Starten Sie neu.

Wenn Sie Ihr altes/var zurücksetzen müssen, kommentieren Sie einfach den Eintrag in fstab aus.

16

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 reguläre Verzeichnisse in der Root-Partition waren. Da der Anbieter von virtuellen Servern keine KVM-ähnliche Schnittstelle zur Verfügung stellte, über die ich im Einzelbenutzermodus auf den Server zugreifen konnte, verwendete ich eine sehr ähnliche Methode wie die von Aleksander (diese Antwort enthält zusätzliche Details zur Wiederherstellung des Speicherplatzes in Zusatz zu LVM-spezifischen Befehlen).

Erstellen und Verwenden eines neuen/var-Dateisystems 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 die Dateien vom aktuellen /var in das neue Dateisystem. Verwenden Sie beim Kopieren von Dateien mit rsync die Option -a, --archive, um Zeitstempel, Eigentumsrechte, Modi usw. beizubehalten, und die Option -X, --xattrs, um die erweiterten Attribute wie die von verwendeten Sicherheitsetiketten beizubehalten AppArmor und SELinux.

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 für /var verwendet werden soll, indem Sie die folgende Zeile zu /etc/fstab hinzufügen. Beachten Sie, dass 0 als Durchlaufnummer (letztes Feld) verwendet wird, damit das Dateisystem nach einer bestimmten Anzahl von Neustarts nicht automatisch überprüft wird (fsck) (ich habe keinen Zugriff zum Anmelden) der Server im Einzelbenutzermodus).

/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 /var zu verwenden.

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:

  1. Entfernen Sie den temporären Einhängepunkt:

    Sudo rmdir /var.new
    
  2. Erstellen Sie einen neuen Einhängepunkt, um einen alternativen Pfad zu den Dateien im alten /var -Verzeichnis im Root-Dateisystem zu erstellen (das derzeit vom neuen /var -Dateisystem maskiert wird, das im Verzeichnis eingehängt ist):

    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/
    
1