Opensuse

為什麼我的 tumbleweed opensuse fstab 包含這麼多 btrfs subvol 條目?

  • October 17, 2016

為什麼我的 opensuse tumbleweed 系統將我的文件系統的這麼多文件夾“包裝”(不確定這是否是正確的詞)作為 btrfs 上的子卷的目的/推理/技術原因是什麼?

它與 btrfs 快照有關嗎?

許多條目是 的子目錄/var,然後我的主目錄在 fstab 中映射為 xfs。這兩種文件系統類型的原因是什麼?我懷疑這與 btrfs 可以使用其快照“恢復”失敗的系統更新這一事實有關,但我不明白為什麼不創建一個小型的非 btrfs 文件系統並將其掛載到 /var 上?

除了許多 /var 目錄外,它似乎/opt /src還有/tmp子卷條目。這是來自我的風滾草系統的完整未修改的僅出廠預設 fstab。

除了通常的 SWAP 和 btrfs 的 / 之外,令我驚訝的是子卷的龐大數量。

UUID=fd443d26-5ded-4f57-a51e-824eec3d2199 swap swap defaults 0 0
UUID=7126f15f-0443-4e1d-b74e-406266534887 / btrfs defaults 0 0
UUID=7126f15f-0443-4e1d-b74e-406266534887 /opt btrfs subvol=@/opt 0 0
UUID=7126f15f-0443-4e1d-b74e-406266534887 /srv btrfs subvol=@/srv 0 0
UUID=7126f15f-0443-4e1d-b74e-406266534887 /tmp btrfs subvol=@/tmp 0 0
UUID=7126f15f-0443-4e1d-b74e-406266534887 /usr/local btrfs subvol=@/usr/local 0 0
UUID=7126f15f-0443-4e1d-b74e-406266534887 /var/crash btrfs subvol=@/var/crash 0 0
UUID=7126f15f-0443-4e1d-b74e-406266534887 /var/lib/libvirt/images btrfs subvol=@/var/lib/libvirt/images 0 0
UUID=7126f15f-0443-4e1d-b74e-406266534887 /var/lib/mailman btrfs subvol=@/var/lib/mailman 0 0
UUID=7126f15f-0443-4e1d-b74e-406266534887 /var/lib/mariadb btrfs subvol=@/var/lib/mariadb 0 0
UUID=7126f15f-0443-4e1d-b74e-406266534887 /var/lib/mysql btrfs subvol=@/var/lib/mysql 0 0
UUID=7126f15f-0443-4e1d-b74e-406266534887 /var/lib/named btrfs subvol=@/var/lib/named 0 0
UUID=7126f15f-0443-4e1d-b74e-406266534887 /var/lib/pgsql btrfs subvol=@/var/lib/pgsql 0 0
UUID=7126f15f-0443-4e1d-b74e-406266534887 /var/log btrfs subvol=@/var/log 0 0
UUID=7126f15f-0443-4e1d-b74e-406266534887 /var/opt btrfs subvol=@/var/opt 0 0
UUID=7126f15f-0443-4e1d-b74e-406266534887 /var/spool btrfs subvol=@/var/spool 0 0
UUID=7126f15f-0443-4e1d-b74e-406266534887 /var/tmp btrfs subvol=@/var/tmp 0 0
UUID=7126f15f-0443-4e1d-b74e-406266534887 /.snapshots btrfs subvol=@/.snapshots 0 0
UUID=edf9aa3f-621f-40d2-9e7a-433b50673642 /home                xfs        defaults              1 2

如果您想將整個磁碟(或大部分磁碟)分配給文件系統,我*相信btrfs 現在是首選文件系統。*現在經常(總是)選擇它作為根。是的,快照是其中的重要組成部分。啟動系統現在實際上可以從以前的快照啟動,並且會自動拍攝快照。它救了我一次。

僅當您選擇將 xfs 文件系統與根目錄分開時,才會為主目錄選擇 xfs 文件系統,並且我認為這與主目錄中的文件更改的頻率有關,但我可能會吸煙。這些天似乎比 ext3 或 ext4 更受支持。這是關於這個問題的 openSUSE 執行緒,沒有真正的答案:https ://forums.opensuse.org/showthread.php/501150-BTRFS-Question-gt-13-1-to-13-2

Btrfs 子卷主要排除包含臨時文件、數據庫數據等的目錄。它減少了快照的大小。從上游文件複製https://www.suse.com/documentation/sles-12/stor_admin/data/sec_filesystems_major.html openSUSE 文件更簡短,但我認為 Btrf 子卷的目的也很明確https:// /doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.snapper.html#sec.snapper.setup

根分區的預設子卷設置

/boot/grub2/i386-pc,/boot/grub2/x86_64-efi, /boot/grub2/powerpc-ieee1275, /boot/grub2/s390x-emu

不支持回滾引導載入程序配置。上面列出的目錄是特定於體系結構的。前兩個目錄存在於 x86_64 機器上,後兩個目錄分別存在於 IBM POWER 和 IBM z Systems 上。

/home

如果 /home 不位於單獨的分區上,則將其排除以避免回滾時數據失去。

/opt, /var/opt

第三方產品和附加組件通常安裝到 /opt。避免在回滾時解除安裝這些應用程序是被排除在外的。

/srv

包含 Web 和 FTP 伺服器的數據。它被排除在外以避免回滾時的數據失去。

/tmp, /var/tmp, /var/crash

所有包含臨時文件的目錄都從快照中排除。

/usr/local

手動安裝軟體時使用此目錄。避免在回滾時解除安裝這些安裝是被排除在外的。

/var/lib/libvirt/images

通過 libvirt 創建的所有 VM 映像的預設目錄。從快照中排除。預設情況下,此子卷是使用選項 no copy on write 創建的。

/var/lib/named

包含 DNS 伺服器的區域數據。從快照中排除以確保名稱伺服器可以在回滾後執行。

/var/lib/mailman, /var/spool

排除包含郵件隊列或郵件的目錄以避免回滾後失去郵件。

/var/lib/mariadb

對於 MariaDB 數據。從快照中排除。預設情況下,此子卷是使用選項 no copy on write 創建的。

/var/lib/pgsql

包含 PostgreSQL 數據。從快照中排除。預設情況下,此子卷是使用選項 no copy on write 創建的。

/var/log

日誌文件位置。從快照中排除以允許在損壞的系統回滾後進行日誌文件分析。

所以,是的,Btrfs 是 root 的預設文件系統。

引用自:https://unix.stackexchange.com/questions/285011