Review
OverlayFS is primarily used automatically by the system to mount read-only Btrfs system snapshots as writable environments. This allows you to safely boot into a broken system snapshot from GRUB, run tests, or perform a system restoration while keeping the actual snapshot pristine.
Original disk layout
boris@Server44D:~$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sr0
zram0 swap 1 zram0 bf5880ed-22bf-4df2-b8e8-64b8fdc465ae [SWAP]
vda
├─vda1 vfat FAT32 7E26-5D1C 1014.1M 1% /boot/efi
└─vda2 btrfs a93f8d3f-daa0-49b0-a00e-82fcdcc76154 65.5G 10% /home
/.snapshots
/
$ sudo dnf install btrfs-assistant snapper gawk inotify-tools libdnf5-plugin-actions git make -y
$ sudo dnf install python3-btrfsutil dracut-live -y
========================
Trick Snapper Method
========================
$ sudo umount /.snapshots
$ sudo rmdir /.snapshots
$ sudo snapper -c root create-config /
$ sudo mount /.snapshots
Create the missing directory:
$ sudo mkdir -p /boot/grub
$ sudo dnf install grub2-tools
$ sudo make install
boris@192.168.0.106's password:
Web console: https://Server44D:9090/ or https://192.168.0.106:9090/
Last login: Thu Aug 6 16:13:49 2026 from 192.168.0.81
boris@Server44D:~$ mount | grep -E 'on / type'
/dev/vda2 on / type btrfs (rw,relatime,seclabel,compress=zstd:1,discard=async,space_cache=v2,subvolid=267,subvol=/snapshots/6/snapshot)
boris@Server44D:~$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sr0
zram0 swap 1 zram0 c17f6e59-5d8d-40b8-aba7-95e143ca5e91 [SWAP]
vda
├─vda1 vfat FAT32 7E26-5D1C 1014.1M 1% /boot/efi
└─vda2 btrfs a93f8d3f-daa0-49b0-a00e-82fcdcc76154 65.5G 10% /home
/.snapshots
/run/rootfsbase
/
==============================
Linux Server44D 7.1.6-201.fc44.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Aug 4 00:23:39 UTC 2026 x86_64 GNU/Linux
boris@Server44D:~$ df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda2 btrfs 74G 7.2G 66G 10% /
devtmpfs devtmpfs 7.5G 0 7.5G 0% /dev
tmpfs tmpfs 7.6G 12K 7.6G 1% /dev/shm
efivarfs efivarfs 256K 85K 166K 34% /sys/firmware/efi/efivars
tmpfs tmpfs 3.1G 1.5M 3.1G 1% /run
none tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-journald.service
none tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-resolved.service
/dev/vda2 btrfs 74G 7.2G 66G 10% /.snapshots
/dev/vda2 btrfs 74G 7.2G 66G 10% /home
tmpfs tmpfs 7.6G 4.0K 7.6G 1% /tmp
/dev/vda1 vfat 1022M 7.9M 1015M 1% /boot/efi
tmpfs tmpfs 1.6G 84K 1.6G 1% /run/user/1000
boris@Server44D:~$ sudo .local/bin/btrview
a93f8d3f-daa0-49b0-a00e-82fcdcc76154 | 10% full
Subvolume Tree: Snapshot Tree:
<FS_TREE> @_backup_2026-08-06T13:23:55.046Z
├── snapshots on: /.snapshots ├── snapshot
│ ├── snapshot │ └── @_backup_2026-08-06T13:32:22.385Z
│ ├── snapshot │ └── snapshot
│ ├── snapshot │ └── @ on: /
│ ├── snapshot │ ├── snapshot
│ ├── snapshot │ ├── snapshot
│ ├── snapshot │ └── snapshot
│ ├── snapshot ├── snapshot
│ ├── snapshot ├── snapshot
│ └── snapshot ├── snapshot
├── @ on: / └── snapshot
│ ├── portables <FS_TREE>
│ └── .snapshots on: /.snapshots snapshots on: /.snapshots
├── @home on: /home @home on: /home
├── @_backup_2026-08-06T13:23:55.046Z portables
└── @_backup_2026-08-06T13:32:22.385Z .snapshots on: /.snapshots
ID 256 gen 390 top level 5 path snapshots
ID 257 gen 406 top level 5 path @home
ID 258 gen 285 top level 5 path @_backup_2026-08-06T13:23:55.046Z
ID 259 gen 71 top level 268 path var/lib/portables
ID 260 gen 246 top level 268 path .snapshots
ID 261 gen 222 top level 256 path snapshots/1/snapshot
ID 262 gen 242 top level 256 path snapshots/2/snapshot
ID 263 gen 255 top level 256 path snapshots/3/snapshot
ID 264 gen 257 top level 256 path snapshots/4/snapshot
ID 265 gen 282 top level 256 path snapshots/5/snapshot
ID 266 gen 309 top level 5 path @_backup_2026-08-06T13:32:22.385Z
ID 267 gen 364 top level 256 path snapshots/6/snapshot
ID 268 gen 403 top level 5 path @
ID 269 gen 336 top level 256 path snapshots/7/snapshot
ID 270 gen 387 top level 256 path snapshots/8/snapshot
ID 271 gen 389 top level 256 path snapshots/9/snapshot
TARGET SOURCE FSTYPE OPTIONS
/ /dev/vda2[/@] btrfs rw,relatime,seclabel,compress=zstd:1,discard=async,space_cache=v2,subvolid=268,subvol=/@
├─/.snapshots
│ /dev/vda2[/snapshots] btrfs rw,relatime,seclabel,compress=zstd:1,discard=async,space_cache=v2,subvolid=256,subvol=/snapshots
└─/home /dev/vda2[/@home] btrfs rw,relatime,seclabel,compress=zstd:1,discard=async,space_cache=v2,subvolid=257,subvol=/@home


No comments:
Post a Comment