Frage Installiere Ubuntu mit BTRFS und mehr Subvolumes


Ich möchte einen Ubuntu Server mit einem installieren btrfs Dateisystem (in einer RAID1-Weise).

Das Problem ist, dass ich die Option im Installer nicht sehe, um mehr Subvolumes zu erstellen. Das Installationsprogramm erstellt standardmäßig zwei: @ und @homeund ich möchte auch trennen @var, @tmp, ...

Gibt es eine Möglichkeit, dies zu tun? Vielleicht mit der Shell ... aber ich denke, der Installer versteht das Subvolume-Feature nicht btrfs, sodass Sie nicht jede Partition in jedem Subvolume mounten können ...


4
2018-01-31 12:37


Ursprung




Antworten:


Dies sollte nach der ersten Installation leicht geändert werden können.

  • Ein guter Weg ist es, zwei Schnappschüsse davon zu machen @, sie anrufend @var und @tmp.
  • Dann lösche alles in @var ausser für @var/varbewegen sie den Inhalt von @var/var/* bis zu @var/* und löschen @var/var. Gleiches für @tmp/tmp/.
  • Dann ändern /etc/fstab mit dem neuen Subvolume Mountpunkte für /var und /tmp.
  • Starten Sie neu.
  • Schließlich (ich bin mir über dieses letzte Bit nicht so sicher) sollten Sie in der Lage sein, den ursprünglichen Inhalt von @/var und @/tmp durch die Montage des Subvolumens @ unter /mnt (So ​​wird das gleiche Teilvolumen zweimal montiert, einmal als / und einmal als /mnt) und löschen /mnt/var und /mnt/tmp.

3
2018-02-01 08:38



Einige Dokumentation über das Arbeiten mit Snapshots in Ubuntu: help.ubuntu.com/community/... - ermannob


Sie haben recht, der Installer kennt keine BTRFS-Subvolumes, und dies ist immer noch der Fall für 18.04.

Verwenden eines separaten Untervolumens für /var/log/ ermöglicht es, einen Snapshot von wiederherzustellen / ohne die Stämme zu verlieren.

  • Nehmen Sie die Servereinstellungen wie gewohnt vor Beenden Sie die Installation Schritt, wählen Geh zurück und Führe eine Shell aus.
  • Listen Sie alle Ihre Zieldateisysteme auf:

    mount | grep target
    
    /dev/md-0 on /target type btrfs (rw,noatime,space_cache,subvolid=257,subvol=/@)
    /dev/md-0 on /target/home type btrfs (rw,noatime,space_cache,subvolid=258,subvol=/@home)
    proc on /target/proc type proc (rw,nosuid,nodev,noexec,relatime)
    devtmpfs on /target/dev type devtmpfs (rw,nosuid,relatime,size=475608k,nr_inodes=118902,mode=755)
    
  • Notieren Sie sich das btrfs-Gerät in diesem Beispiel /dev/dm-0.

  • Entfernen Sie jetzt alle angehängten Dateisysteme.

    umount /target/dev
    umount /target/proc
    umount /target/boot/efi
    umount /target/home
    umount /target/
    
  • Montieren Sie Ihre eben btrfs Dateisystem:

    cd /tmp
    mkdir work
    mount /dev/dm-0 work
    cd work
    
  • Überprüfen Sie, ob die Halterung korrekt ist (sollte angezeigt werden) @ und @home):

    ls 
    
    @ @home
    
  • Erstellen Sie Ihre zusätzlichen Subvolumes (@tmp, @var, @var-log)

    btrfs subvolume create @tmp
    btrfs subvolume create @var
    btrfs subvolume create @var-log
    
  • Verschieben Sie die Daten

    mv @/var/log/* @var-log/
    mv @/var/* @var/
    
    # Remove data from tmp
    rm @/tmp/* @/tmp/.*
    
    # For 18.04, remove the swapfile since it won't work on btrfs
    rm @/swapfile
    
  • Fügen Sie die neuen Subvolumes zu fstab hinzu, da sich der Geräteteil vom vorherigen mount-Befehl unterscheidet. Kopieren Sie den Geräteteil von den bereits vorhandenen Mount-Punkten.

    ...
    /dev/mapper/root-root /               btrfs   noatime,subvol=@ 0       1
    /dev/mapper/root-root /home           btrfs   noatime,subvol=@home 0       2
    /dev/mapper/root-root /var            btrfs   noatime,subvol=@var 0       2
    /dev/mapper/root-root /var/log        btrfs   noatime,subvol=@var-log 0       2
    
  • Unmounten

    cd /tmp
    umount work
    sync
    
  • exit, dann Beenden Sie die Installation

  • Installieren und konfigurieren Schnapper, ein großartiges Werkzeug zur Automatisierung von Snapshots.


1
2018-04-23 10:24