西部數據發布了專門用於分區驅動器的 Zonefs 檔案系統

西部數據軟體開發總監 предложил 在 Linux 核心開發者郵件列表中,有一個名為 Zonefs 的新檔案系統,旨在簡化底層工作 分區儲存設備。 Zonefs 將磁碟機上的每個區域與單獨的檔案相關聯,該檔案可用於以原始模式儲存數據,而無需進行磁區和區塊層級操作。

Zonefs 不是符合 POSIX 標準的 FS,並且僅限於相當狹窄的範圍,允許應用程式使用檔案 API,而不是使用 ioctl 直接存取區塊裝置。 與區域相關的檔案需要從檔案結尾開始順序寫入作業(追加模式寫入)。

Zonefs 中提供的檔案可用於放置在使用 LSM(日誌結構合併)日誌形式的儲存結構的分區資料庫磁碟機之上,從一個檔案 - 一個儲存區域的概念開始。 例如,RocksDB 和 LevelDB 資料庫中使用了類似的結構。 所提出的方法可以降低最初設計用於操作檔案而不是區塊裝置的移植程式碼的成本,以及從使用 C 以外的程式語言的應用程式中組織分區磁碟機的低階工作。

分割區磁碟機下 默示 設備開啟 硬磁碟NVMe SSD,其中的儲存空間被劃分為構成區塊組或扇區組的區域,在更新整個區塊組時只允許順序添加資料。

例如,記錄分區用於具有平鋪磁記錄的設備(鵝卵石磁記錄,SMR),其中磁道寬度小於磁頭的寬度,並且以相鄰磁道部分重疊的方式進行記錄,即進行記錄。 任何重新錄製都會導致需要重新錄製整組曲目。 對於SSD驅動器來說,它們最初綁定了初步資料清除的順序寫入操作,但這些操作隱藏在控制器層和FTL(Flash Translation Layer)層。 為了提高某些類型負載的效率,NVMe 組織標準化了 ZNS(分區命名空間)接口,該接口允許繞過 FTL 層直接存取區域。

西部數據發布了專門用於分區驅動器的 Zonefs 檔案系統

自核心 4.10 起在 Linux 上用於分割硬碟 提供 ZBC (SCSI) 和 ZAC (ATA) 區塊設備,從版本 4.13 開始,新增了 dm-zoned 模組,將分割磁碟機表示為常規區塊設備,隱藏操作期間所應用的寫入限制。 在檔案系統級別,對分區的支援已經整合到 F2FS 檔案系統中,並且正在開發 Btrfs 檔案系統的一組補丁,透過在 CoW 中工作(copy-on -寫入)模式。
分割區磁碟機上的 Ext4 和 XFS 操作 可以安排 使用 dm 分割區。 為了簡化檔案系統的轉換,提出了ZBD接口,它將對檔案的隨機寫入操作轉換為順序寫入操作流。

西部數據發布了專門用於分區驅動器的 Zonefs 檔案系統

來源: opennet.ru

添加評論