出品|開源中國
文|局長
FreeBSD 基金會宣布了 ZFS 的一項新特性:RAID-Z Expansion。
根據介紹,此功能可以對現有的數據進行重新排列 (reflow) —— 本質上是将數據重寫到一個新的磁盤陣列上,即在原來的組加上一個新增加的磁盤。此操作會在邏輯 RAID-Z 組的末尾創建一個新的相鄰空閑空間塊,從而在每個物理磁盤的末尾也進行同樣的操作。
重新排列的數據會保留原始的邏輯 stripe width,這意味着數據與奇偶校驗位的比率将保持不變。新寫入的數據會使用新的邏輯 stripe width,并優化數據與奇偶校驗位的比率。和其他 zfs 和 zpool 操作一樣,重新排列操作會在線進行。
Expansion 可以多次進行,不過前提是存儲池處于健康狀态,如果磁盤挂掉,此過程會被暫停,以允許被重新構建,目前适用于 RAIDZ-1/2/3。
下面的兩張圖說明了 RAID 4/5/6 的傳統擴展方式(圖 1)與新 RAID-Z Expansion 工作方式(圖 2)之間的差異。
▲ 圖 1
重新排列的數據不會改變或讀取塊指針。讀取和寫入是按順序進行的。空間圖顯示了哪些數據需要被複制。此外,每個 logical stripe 都是獨立的,無需知道奇偶校驗的位置。分段則仍然存儲在不同的磁盤上,這保證了數據的冗餘。
▲ 圖 2
使用方法
從命令行開始:
zpoolattachtestraidz2-0/var/tmp/6
雖然 RAID-Z Expansion 的所有功能都已實現,而且到目前為止所有的測試都已通過,但仍有一些未盡事宜需要解決。具體來說,還需要清理代碼、删除冗長的日志,編寫代碼文檔,以及其他類似的相對較小的任務。官方稱目标是在第三季度前完成這些工作。不過最需要額外幫助的是進一步測試該功能,并在集成此功能前進行代碼審查。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!