• 9

BTRFS 有雷 - 目前不適用於 RAID5/6

betoptic wrote:
請問一下
ext4 + LVM的效能, 對比純ext4的效能:
1. 比較快
2. 完全一樣
3. 比較慢
如果答案是3, 那感覺這個問題就像廢話
中間多夾了一層LVM, 當然會有效能上的減損啊
據我所知, LVM不是synology獨有的技術
各家NAS廠都有在用的


LVM + EXT4 vs LVM + BTRFS 是不一樣的概念. 而且隨著不同的 kernel 版本, 4.4, 4.7 以及 Phoronix.com 在 4.8 下測試的結果都有天翻地覆的結果. Phoronix.com 的一個測試發現在 kernel 版本 4.8 下面, lvm+ext4 像是打了腎上腺激素一樣變得超級快, 然後 btrfs 的 iops 劇降, 比它在 kernel 4.4 & 4.7 上面還差一大截. 為什麼會這樣子, 可能只有 linux kernel core member 以及 btrfs core member 知道眉角吧.

Synology 的 kernel 遲早要更新上來, 雖然可能是 dsm 7/8 以後的事情, 但是這些 kernel版本開發了, 是 Synology 不太可能有能力自己去改寫 Linux Kernel 的. 大如 VMWare 都是因為自行開發自己的 kernel 結果趕不上 linux 的速度, 造成其硬體支援超級爛. 也就是現在 btrfs 的這條路, 變得混沌不明朗. 它好歹是 File System of the Future (它的口號) 但是目前到最後支援它的大廠也只剩下 Facebook. 其它的資助廠商如 google, oracle, intel, redhat 沒有把 btrfs 設定為預設格式, 或是大力推薦.

現在很多企業級儲存系統, 根本不使用 lvm. Oracle 甚至說
we recommend that Logical Volume Manager (LVM) not to be used for the boot disk.
Oneplus 8 Pro• Thinkpad T480s• PVE6+OMV4+NextCloud
EluSiOn wrote:
LVM + EXT4 vs LVM + BTRFS 是不一樣的概念. 而且隨著不同的 kernel 版本, 4.4, 4.7 以及 Phoronix.com 在 4.8 下測試的結果都有天翻地覆的結果...(恕刪)

反正synology的nas兩種檔案系統都能用
看有沒有勇者要幫大家實測一下
同一台synology上ext4和btrfs的速度差異

EluSiOn wrote:
現在很多企業級儲存系統, 根本不使用 lvm. Oracle 甚至說

除非你用zfs, 不然不用LVM, 要怎麼建立儲存池?
我沒看過這篇文章, 不曉得上下文
不過Oracle就是zfs的版權擁有者
應該本來就不需要用LVM?

EluSiOn wrote:
在使用 Synology NAS 的人們真的請注意. btrfs 目前不適用於 RAID5/6. 它計算 parity 的 algorithm 需要完全重寫...(恕刪)

回到一開頭
所以synology nas到底有沒有如原po說的, raid5/6有parity計算上的問題?
以一個 Power User 的角度來看就是以下三點

1. Synology 的 BTRFS 的 RAID 是 Run 在 LVM 上,所以不受 BTRFS 原生 RAID56 演算法 Bug 影響(如果真的有的話)

2. BTRFS 寫入較慢,但是由於它的快照功能好用,因此 Synology 還是推薦大家使用

3. Synology 並不是說未來只有 BTRFS 可用了,企業可以自己決定為了效能用 EXT4,或是為了快照用 BTRFS

以上三點看來,我覺得 Synology 沒什麼問題
分享的文章沒人回應,只好越貼越少
嗯哼,

只有ZFS最專業最沒問題效能最好,其他都不專業
原文的意思跟樓主的理解好像不太一樣

1, phoronix 的意思是btrfs自己軟件RAID 5/6 的code 有問題,如果用在硬件RAID或者LVM/mdadm 的RAID 上面跑是OK的,資料是安全的

2, LVM效能那段,BTRFS 的說明也只是表示搭配LVM 的時候跨LV(logical volume) 的寫入優化無效,可是在家用NAS 的場合應該不太會用得到啦,畢竟資料量不大

不過我個人偏好在有off-site backup或者Cloud 的情況下用btrfs, 單機的話用EXT4, 畢竟一般資料救援接觸EXT4 比較多
EluSiOn wrote:
在使用 Synology...(恕刪)

Kenji.K wrote:
原文的意思跟樓主的理解好像不太一樣


樓上講的是對的,

原文是講內建的 Raid5/6 功能有問題.
betoptic wrote:
所以synology nas到底有沒有如原po說的, raid5/6有parity計算上的問題?


Synology 使用的是 BTRFS on LVM, 沒有使用 BTRFS raw partition 原生模式做 RAID5/6, 所以沒有資料安全性的問題. 但是有個但書

BTRFS 開發官網的說明 BTRFS on LVM 得到的效果, 以及付出的代價 https://btrfs.wiki.kernel.org/index.php/FAQ 我摘截重點



官網的說的很明白, 使用 BTRFS on LVM Synology 這種架構, 會有寫入效能的損失. 官方的開發者說的很明白, 清楚, 這樣子的架構會讓 BTRFS 寫入的優化完全失效. ineffective 是一個超級負面的字 (not producing any significant or desired effect)

再來 phoronix.com 網站的 BTRFS 測試, 證實 BTRFS 原生模式寫入, 當時用超過 4顆 HDD 的時候, 其速度已經比 MDRAID/LVM 快速了, 也就是按照道理 4 HDD 以上的 NAS, 使用 LVM 模式速度反而被拉慢下來, 因為 LVM 並沒有先進的 btrfs 平行處理寫入這方面的優化! 所以我不建議 企業級用戶/環境使用 Synology 的產品. 因為當企業開始使用 nvme sdd 或是 10gbe 網路等等環境時, synology 的架構會成為效能瓶頸.

Mowd wrote:
以一個 Power User 的角度來看就是以下三點
1. Synology 的 BTRFS 的 RAID 是 Run 在 LVM 上,所以不受 BTRFS 原生 RAID56 演算法 Bug 影響(如果真的有的話)
2. BTRFS 寫入較慢,但是由於它的快照功能好用,因此 Synology 還是推薦大家使用
3. Synology 並不是說未來只有 BTRFS 可用了,企業可以自己決定為了效能用 EXT4,或是為了快照用 BTRFS
以上三點看來,我覺得 Synology 沒什麼問題


Mowd Chen 怎麼會沒有問題!

1.Synology 的 btrfs on lvm 是沒有被這個 bug 影響, 但是要修復這個 bug, btrfs 的開發團隊會需要投入人力, 直接影響到其他 btrfs 的功能開發 (人力資源排擠效應) 而且是很嚴重的影響到. 特別是最近 btrfs 在 linux kernel 4.8 上面跑出來的 iops 效能是 慘不忍睹, 這些都是需要人力投資下去去優化的!
.
2. BTRFS on lvm 寫入慢, 在 rebuild 時其風險性更加大, 同時對於企業使用者, 這樣子的風險, 以及單純的快照而犧牲效能是不值得的. 企業儲存的 io 效能永遠不足, 快照一定要有, 壓縮一定要有, 但是另外一個沒有提到的問題就是 btrfs 的壓縮比較慢的問題. 這個又是一個非常非常實際對於企業用戶群組很在乎的點. btrfs 只有支援 ZLIB & LZO, 明顯跟 google 強推的 lz4 比較起來慢了!
.
3.企業的需求, 是要求又快又有快照又要穩定. 這點看來 Synology 比沒有符合上述的企業級產品的架構. 用硬體催出來的效能, 其它軟體系統架構上, 只會比 Synology 更快.

Kenji.K wrote:
原文的意思跟樓主的理解好像不太一樣
1, phoronix 的意思是btrfs自己軟件RAID 5/6 的code 有問題,如果用在硬件RAID或者LVM/mdadm 的RAID 上面跑是OK的,資料是安全的
2, LVM效能那段,BTRFS 的說明也只是表示搭配LVM 的時候跨LV(logical volume) 的寫入優化無效,可是在家用NAS 的場合應該不太會用得到啦,畢竟資料量不大
不過我個人偏好在有off-site backup或者Cloud 的情況下用btrfs, 單機的話用EXT4, 畢竟一般資料救援接觸EXT4 比較多


Kenji.K

1. 資料安全, 但是寫入被拉慢了! rebuild 時間因此拉長了, 風險係數增高了, 這樣子一來一回, 付出了什麼樣的代價, 等到什麼樣的效果, 使用者需要明白.

2. 我同意你在家用情景 4 bay 產生的結果不足影響到實際的效能. 但是如果 6bay 以上的NAS 被影響的結果就會越來越大. 資料救援的專家首推 http://www.osslab.com.tw/ 畢竟熊大是專業人士, 我在這邊就不能多說 btrfs vs ext4 那種檔案格式比較好救.
Oneplus 8 Pro• Thinkpad T480s• PVE6+OMV4+NextCloud

EluSiOn wrote:
資料安全, 但是寫入被拉慢了! rebuild 時間因此拉長了, 風險係數增高 ...(恕刪)


mdadm rebuild的時間, 跟檔案系統有什麼關係?

在分層上, 兩者完全是不同層的好嗎

這是原po zfs用太久的後遺症嗎...

EluSiOn wrote:
2. BTRFS on lvm 寫入慢, 在 rebuild 時其風險性更加大, ...(恕刪)


*BTRFS on LVM 和 BTRFS RAID 兩者之間的效能比較, 至今並未見到完整的測試報告, 即使在你所引用的資料. 兩者之間互有優劣, 並非絕對優勢.

*既然都已說 BTRFS RAID (raw partition) RAID5/6 不可靠, 那麼也不需要去做 BTRFS RAID & BTRFS LVM 兩者的比較, 那麼即使 BTRFS 開發 team 聲稱 BTRFS RAID 效能多優異也是柱然, 既然要使用 BTRFS snapshot, 那就只能 LVM 的技術.

*最後 BTRFS on LVM 如向兄所提的寫入慢, 但此種 RAID rebuild 是在 LVM 這一層做的, 跟 BTRFS 完全無關, 即使用的是 ext4 也是同樣的狀況, 因為不管 BTRFS or EXT4 根本就不用理會它的底層是 LVM. 各層負責各自的工作即可.

你把 RAID 看做是一個 sub system, 在 file system 這個層級不需要理會 RAID 是如何 rebuild 的.
FB: Pctine
betoptic wrote:
mdadm rebuild...(恕刪)

pctine wrote:
*BTRFS on LVM...(恕刪)


兩位對 storage 架構真的了解不夠細膩. LVM 在 rebuild 的時候, 都需要call /sbin/fsck.btrfs

https://btrfs.wiki.kernel.org/index.php/Manpage/fsck.btrfs

怎麼會一層只做一層的事情, 上層不管下層的道理?

這個跟 zfs 也沒有關係吧

The filesystem is not relevant before creating the array. mdadm does not "clobber" both drives, it just copies the contents of the primary to the secondary when mirroring. If the primary already had an ext4 filesystem in it, then it will still look like it does, and after the resync , so will the second. The new default mdadm metadata format of 1.2 is stored 4k from the start, so it will have overwritten and damaged the filesystem that was there before.

如果只讀到前面一半, 後面一半沒有讀! 那很恐怖的!
Oneplus 8 Pro• Thinkpad T480s• PVE6+OMV4+NextCloud
  • 9
內文搜尋
X
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 9)
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?