首頁 > 軟體

Btrfs檔案系統在Linux中的建立及其特性

2020-06-16 18:06:39

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分割區進行轉換,你可以進行以下操作:

  1. # fsck.ext4 /dev/sda4
  2. # btrfs-convert /dev/sda4

然後,你就可以使用mount命令將它掛載到你想要的任何位置。

轉換根分割區

如果你想要對你系統上的根分割區進行轉換,你首先需要使用Live CD啟動。對於Ubuntu,你可以使用Ubuntu安裝盤來完成此操作,在啟動後第一個螢幕選擇“嘗試Ubuntu”。對於其它系統,你同樣可以使用Live CD映象,操作類似。

在啟動後,開啟終端,使用下面的命令來轉換檔案系統。

  1. # fsck.ext4 /dev/sda1
  2. # btrfs-convert /dev/sda1

接下來,chroot到檔案系統,這樣你就可以修改fstab並重新安裝grub了。

  1. # mount /dev/sda1 /mnt
  2. # for i in dev dev/pts proc sys ; do mount --bind /$i /mnt/$i ; done
  3. # chroot /mnt
  4. # blkid | grep sda1

現在來編輯fstab,並根據blkid輸出的結果來修改當前“/”檔案系統的UUID,並將它的檔案系統型別修改為btrfs,修改後的行如下:

  1. UUID=8e7e80aa-337e-4179-966d-d60128bd3714 / btrfs defaults 01

然後,重新安裝Grub:

  1. # grub-install /dev/sda
  2. # 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


IT145.com E-mail:sddin#qq.com