Linux
8kb 塊大小,因為它涉及不同的儲存層
我有一個使用 8kb 塊單元的 PCIe SSD 卡。它支持“虛擬控制器”,可以將此驅動器分成兩半並創建具有 8kb 條帶大小的 LVM RAID0。最重要的是,我安裝了一個使用 8kb 塊大小的文件系統。我的應用程序以 8kb 塊寫入數據。
每個添加的層是否存在空間成本,導致這個 8kb 塊“對齊”移動,最終寫入 SSD 的原始數據(顯著?)更大?
如果我的應用程序寫入 8kb 的數據,FS 是否會寫入 8kb+其元數據,然後轉換為 8kb+fs 元數據+lvm 元數據,最終變成 8.5kb 並搞砸所有對齊?
不,塊不會變得更大以容納元數據。元數據要麼儲存在專用塊中(在文件系統的情況下),要麼儲存在特殊區域中(在 LVM 和 mdraid 的情況下)。您只需要確保數據區域的開頭正確排列即可。
mdraid 將其元數據放在分區的末尾並在開頭儲存數據,因此它始終是對齊的。LVM 將元數據儲存在 PV 的開頭,
pvcreate --dataalignment
應適當設置由其控制。文件系統應具有適當的塊大小和/或跨度和條頻寬度集。