2021-05-12 14:32:11
Btrfs檔案系統在Linux中的建立及其特性
Btrfs(B-tree file system,B-tree檔案系統)是針對Linux開發的一個新的CoW(copy-on-write,寫時複製)檔案系統。它最初是由甲骨文公司在2007年著手開始開發的,並在2014年8月正式發布其穩定版。開發Btrfs的目的在於解決Linux檔案系統中缺少池、快照、校驗和以及整合的跨多裝置存取等問題,目標在於實現Linux的規模化儲存。規模化不僅僅是指解決儲存問題,也意味著通過簡潔的介面提供對儲存的管控和管理能力,讓大家能看到已使用的內容並使它更可靠。
你應該注意到,Btrfs才剛剛發佈穩定版,所以強烈推薦你使用最新版的核心以避免可能出現的問題和漏洞。
Btrfs特性
新檔案系統的最重要的特性有:
- 基於擴充套件的檔案儲存
- 檔案大小上限16EiB
- 小檔案和索引目錄的高效空間利用
- 動態索引節點分配
- 支援快照可寫和快照唯讀
- 子捲(分離內部檔案系統的根)
- 支援資料和後設資料的校驗和
- 壓縮 (gzip和LZO)
- 整合的多裝置支援
- 支援檔案條塊化、檔案映象和檔案條塊化+映象三種部署方案
- 高效的增量備份
- 後台消除進程支援查詢和修復冗餘副本上的檔案錯誤
- 支援線上檔案系統碎片整理和離線檔案系統檢查
- Btrfs檔案系統對RAID 5/RAID 6加強支援,在linux 3.19中新增了許多漏洞修補
你可以在此關於本主題的維基文章中閱讀關於新特性的內容。
轉換到Btrfs
警告:在嘗試轉換檔案系統前,請務必備份資料!雖然此操作很穩定,也很安全,但它仍然可能導致資料丟失,而防止此情況發生的唯一途徑就是進行資料備份。
將現存的ext4檔案系統轉換到btrfs是相當簡單而易懂的。你首先需要使用fsck來檢查你現存分割區上是否存在錯誤,然後使用btrfs-convert命令進行轉換。如果你想要對/dev/sda3分割區進行轉換,你可以進行以下操作:
- # fsck.ext4 /dev/sda4
- # btrfs-convert /dev/sda4
然後,你就可以使用mount命令將它掛載到你想要的任何位置。
轉換根分割區
如果你想要對你系統上的根分割區進行轉換,你首先需要使用Live CD啟動。對於Ubuntu,你可以使用Ubuntu安裝盤來完成此操作,在啟動後第一個螢幕選擇“嘗試Ubuntu”。對於其它系統,你同樣可以使用Live CD映象,操作類似。
在啟動後,開啟終端,使用下面的命令來轉換檔案系統。
- # fsck.ext4 /dev/sda1
- # btrfs-convert /dev/sda1
接下來,chroot到檔案系統,這樣你就可以修改fstab並重新安裝grub了。
- # mount /dev/sda1 /mnt
- # for i in dev dev/pts proc sys ; do mount --bind /$i /mnt/$i ; done
- # chroot /mnt
- # blkid | grep sda1
現在來編輯fstab,並根據blkid輸出的結果來修改當前“/”檔案系統的UUID,並將它的檔案系統型別修改為btrfs,修改後的行如下:
- UUID=8e7e80aa-337e-4179-966d-d60128bd3714 / btrfs defaults 01
然後,重新安裝Grub:
- # grub-install /dev/sda
- # update-grub
現在,你可以把啟動光碟丟到一邊了,重新啟動機器後,你就可以使用新的檔案系統了。
怎麼把Fedora 21 Workstation Cinnamon 的桌面環境安裝到 Btrfs 檔案系統的計算機上 http://www.linuxidc.com/Linux/2014-12/110844.htm
Linux檔案系統Btrfs的Makefile分析 http://www.linuxidc.com/Linux/2012-10/73301.htm
Linux 檔案系統Btrfs 的Kconfig分析 http://www.linuxidc.com/Linux/2012-10/73300.htm
Btrfs檔案系統在CentOS中的應用 http://www.linuxidc.com/Linux/2012-08/68098.htm
相關文章