ext3 格式選項
我正在軟體 raid5 (md) 之上創建一個 ext3 文件系統,我想知道在創建文件系統(使用 mkfs.ext3)和安裝時什麼是最佳參數。
RAID5 塊大小為 128k,陣列有 3 個驅動器,有效總計 900 GB。ext4 不是一個選項。
編輯:文件系統有幾個 VPS(虛擬私人機器),包括一個有很多很多小文件的 Gentoo VPS。VPS 不使用圖像,它們直接將文件儲存在文件系統上。它還有許多 500-1000 MB 的文件。
謝謝你,馬蒂奇
優化條帶大小背後的想法是對其進行優化,以便在您的典型工作負載中,大多數讀取請求可以通過(多個)單個讀取來滿足,均勻分佈在所有數據磁碟上。對於三磁碟 RAID-5 集,數據磁碟的數量為兩個。
例如,假設我的典型工作負載發出平均 128kB 的 I/O 讀取請求。如果我有一個三磁碟 RAID-5 集,那麼你會想要製作 64kB 的塊。像這樣計算它:
avg request size / number of data disks = chunk size 128kB / 2 = 64kB
這是您的RAID 集的塊大小,我們還沒有完成文件系統。
下一步是確保文件系統與 RAID 集的特徵一致。因此,我們要確保文件系統知道 RAID 集的塊大小。然後它可以將超級塊均勻地分佈在三個磁碟上。
為此,我們需要告訴 mke2fs 塊的大小是多少,或者更準確地說,一個塊可以容納多少文件系統塊。這稱為文件系統的“步幅”:
chunk size / size of filesystem block = stride size 64kB / 4kB = 16
然後,您可以使用 -E stride=16 選項呼叫 mke2fs。
前面提到的頁面也談到了 mke2fs 的 -E stripe-width 選項,但我自己從未使用過,我的 mke2fs 版本的手冊頁也沒有提到它。但是,如果我們想使用它,我們將像使用 32 一樣使用它:條頻寬度是通過將步幅乘以數據磁碟的數量(在您的情況下為兩個)來計算的。
現在到這個問題的核心:最佳塊大小是多少?如上所述,您需要 I/O 讀取請求的平均大小。您可以通過檢查 iostat 或 sar 輸出中的相應列來獲取此值。您需要在一個工作量與您正在配置的系統相當的系統上長時間執行此操作。
確保您知道該值使用哪種單位:扇區、千字節、字節或塊。