Ich habe die Prozedur zusammengefasst, wenn das Root-Dateisystem von Ubuntu Server 20.04 auf Btrfs eingestellt ist.
Btrfs-Subvolumes können einzeln bereitgestellt und als Unterverzeichnisse angezeigt werden. Darüber hinaus können Btrfs-Snapshots mit der CoW-Funktion (Copy-on-Write) schnell erstellt werden.
Für das Layout von Btrfs-Subvolumes ist openSUSE hilfreich. Das Standarddateisystem für openSUSE ist Btrfs.
Wählen Sie in den Speicherlayouteinstellungen "Benutzerdefiniertes Speicherlayout".
Erstellen Sie eine Partition für das Startgerät.
Fügen Sie eine GPT-Partition hinzu.
Formatieren Sie mit btrfs und setzen Sie den Einhängepunkt auf /
.
Schreiben Sie die Partitionstabelle auf die Festplatte und setzen Sie die Installation fort.
Fahren Sie nach Abschluss der Installation mit dem nächsten Schritt fort, ohne neu zu starten.
Drücken Sie nach Abschluss der Installation "ALT" + "F2", ohne neu zu starten, um zur Konsole zu wechseln. Hier ist die Route.
sudo -i
Zeigt die gemounteten Geräte an. Ubuntu ist in / target
installiert.
mount -l | grep /target
Hängen Sie / target
aus und mounten Sie die Festplatte auf / mnt
.
umount -l /target
mount /dev/vda2 /mnt
Sie können die Liste der Blockgeräte mit lsblk
anzeigen.
Erstellen Sie ein Subvolume.
cd /mnt
btrfs subvolume create @
btrfs subvolume create @/home
btrfs subvolume create @/opt
btrfs subvolume create @/root
btrfs subvolume create @/srv
btrfs subvolume create @/tmp
chmod 1777 @/tmp
mkdir @/usr
btrfs subvolume create @/usr/local
btrfs subvolume create @/var
btrfs subvolume create @/swap
Deaktivieren Sie Copy-on-Write (CoW) für / var
, um die Leistung zu verbessern.
chattr +C /mnt/@/var
Verschieben Sie alle Dateien und Ordner in das Subvolume.
shopt -s dotglob
mv home/* @/home
mv root/* @/root
mv usr/local/* @/usr/local
mv var/* @/var
rmdir home opt root srv usr/local tmp var
ls | grep -v @ | xargs mv -t @
Hängen Sie / mnt
aus, um alle für Ihr System erforderlichen Geräte zu mounten.
umount /mnt
mount -o subvol=@ /dev/vda2 /target
mount /dev/vda2 /target/boot/efi
mount --bind /proc /target/proc
mount --bind /dev /target/dev
mount --bind /sys /target/sys
Drücken Sie "ALT" + "F3", um zum dritten Fenster zu wechseln, und "chroot", um das System zu wechseln.
sudo -i
chroot /target
Bearbeiten Sie fstab, um den entsprechenden Einhängepunkt für das Subvolume festzulegen.
vi /etc/fstab
UUID=xxxx / btrfs defaults,ssd,noatime,space_cache,commit=120,compress=zstd,subvol=@ 0 1
/swap/swapfile none swap sw 0 0
Copy-on-Write (CoW) muss deaktiviert sein, um eine Auslagerungsdatei auf einem Btrfs-Subvolume zu erstellen. Wenn Sie jedoch eine Datei mit deaktiviertem Copy-on-Write (CoW) haben, können Sie keinen Schnappschuss erstellen. Erstellen Sie daher ein Subvolume für die Auslagerungsdatei und erstellen Sie dort eine Auslagerungsdatei.
touch /swap/swapfile
chmod 0600 /swap/swapfile
chattr +C /swap/swapfile
fallocate /swap/swapfile -l 2g
mkswap /swap/swapfile
Zum Schluss GRUB aktualisieren.
update-initramfs -u -k all
grub-install --recheck /dev/sda
update-grub
Drücken Sie ALT
+ F1
, um zum ersten Fenster zu wechseln und neu zu starten.
Recommended Posts