Raid

為什麼 btrfs 允許使用不匹配的驅動器創建 raid1?

  • February 10, 2018

我正在使用創建一個 btrfs

sudo mkfs.btrfs -m raid1 -d raid1 <small-disk> <large-disk> or
sudo mkfs.btrfs -m raid1 -d raid1 <large-disk> <small-disk>

它使用兩個磁碟/分區之和的大小創建 fs,但是

btrfs fi df <mountpoint>

為數據、系統和元數據提供 RAID1

這怎麼可能是正確的?

有沒有類似 mdadm 的方法

cat /proc/mdstat

看看 btrfs 在做什麼並確保我的 raid1 是安全的?這不是非常重要的數據,因此可以使用 btrfs,但我也不想失去它。

我通過在郵件列表中詢問找到了答案。

btrfs 不是按卷執行 RAID,而是按塊執行。文件系統在(pe)1GB 塊中保留“原始”空間。用 raid1 初始化 fs 意味著每次它嘗試分配一個塊時,它都會嘗試在另一個設備上分配這個塊的副本。

這種架構允許混合大小的設備,其未來的功能可能包括每個文件的 RAID 級別。

目前df向您顯示設備上的可用原始空間量,這是所有設備大小的總和。假設塊大小為 1GB,僅將 5MB 文件寫入 raid1-btrfs 將因此將原始空間減少 2GB。這就是為什麼 btrfs 包含btrfs fi df為您提供實際用法的命令的原因。這可能會在未來進行調整,以更準確地顯示正在發生的事情。

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