Linux RAID5 最佳塊大小
我再次提出瞭如何最好地優化磁碟結構的始終存在的問題。在我的組織中,我們有一個 14TB Linux 軟體 RAID 陣列,專門用於儲存使用 Symantec Backup Exec 製作的備份。這些是大文件,每個 10GB - 100GB,一些支持的元數據文件大小為幾 KB。長話短說,我們必須重新創建數組,我想知道這個案例的最佳數組塊大小。
我們設置的詳細資訊:
一個 Netgear ReadyNAS Pro,執行全新和更新的 CentOS 6.4 安裝。
來自各種供應商的 6 個 3TB 消費類(SATA II,7200 RPM)硬碟驅動器(大小相同)。
每個驅動器有 3 個相同的分區,形成 3 個軟體 RAID 設備:
- /dev/md0: 6 x 32GB for / in a RAID6
- /dev/md1:RAID10 中的 6 x 4GB 交換
- /dev/md2:RAID5 中的 6 x 2.7TB 儲存,總有用儲存約為 14TB
此外,還有一個集成的 128MB 快閃記憶體設備設置為 /boot
/dev/md2 是我關注的數組。它作為驅動器“R:”提供給執行 Symantec Backup Exec 的 Windows Server 2008 R2 機器,通過多路徑 iSCSI 在兩台機器上的雙千兆 NIC 上執行(也執行 9k 巨型幀)。
在 Server 2008 機器上,R: 被格式化為具有 64k 集群大小的 NTFS,專用於儲存備份文件。平均文件通常在 40MB 和 5GB 之間,具體取決於目前完整與增量/差異的比例。磁碟使用率大約是讀寫之間的 50/50,因為我們也將備份從該驅動器鏡像到磁帶。
總的來說,考慮到硬體,我認為這個設置優化得相當好,但是我不是儲存專家,RAID 塊大小的含義略超出我的範圍。我知道預設的
mdadm
塊大小是 512KB。這對我的場景來說是最優的嗎?我應該調整它以匹配 NTFS 群集大小嗎?還是我錯過了一些神奇的公式?感謝您的任何幫助,您可以提供。
編輯:基準結果如下。並非所有組合都經過測試。
########## 4K Chunk########## ----------------------------------------------------------------------- CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo Crystal Dew World : http://crystalmark.info/ ----------------------------------------------------------------------- * MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s] Sequential Read : 111.551 MB/s Sequential Write : 96.759 MB/s Random Read 512KB : 107.033 MB/s Random Write 512KB : 56.770 MB/s Random Read 4KB (QD=1) : 9.500 MB/s [ 2319.2 IOPS] Random Write 4KB (QD=1) : 5.042 MB/s [ 1231.0 IOPS] Random Read 4KB (QD=32) : 101.717 MB/s [ 24833.3 IOPS] Random Write 4KB (QD=32) : 8.237 MB/s [ 2010.9 IOPS] Test : 1000 MB [R: 0.0% (0.1/13791.8 GB)] (x5) Date : 2013/07/12 13:10:31 OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64) ########## 32K Chunk########## ----------------------------------------------------------------------- CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo Crystal Dew World : http://crystalmark.info/ ----------------------------------------------------------------------- * MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s] Sequential Read : 91.276 MB/s Sequential Write : 11.119 MB/s Random Read 512KB : 0.000 MB/s Random Write 512KB : 0.000 MB/s Random Read 4KB (QD=1) : 0.000 MB/s [ 0.0 IOPS] Random Write 4KB (QD=1) : 0.000 MB/s [ 0.0 IOPS] Random Read 4KB (QD=32) : 0.000 MB/s [ 0.0 IOPS] Random Write 4KB (QD=32) : 0.000 MB/s [ 0.0 IOPS] Test : 1000 MB [R: 0.0% (0.1/13791.8 GB)] (x5) Date : 2013/07/12 14:37:05 OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64) ########## 64K Chunk########## ----------------------------------------------------------------------- CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo Crystal Dew World : http://crystalmark.info/ ----------------------------------------------------------------------- * MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s] Sequential Read : 111.968 MB/s Sequential Write : 103.318 MB/s Random Read 512KB : 105.047 MB/s Random Write 512KB : 48.321 MB/s Random Read 4KB (QD=1) : 10.373 MB/s [ 2532.5 IOPS] Random Write 4KB (QD=1) : 5.180 MB/s [ 1264.5 IOPS] Random Read 4KB (QD=32) : 95.106 MB/s [ 23219.3 IOPS] Random Write 4KB (QD=32) : 9.108 MB/s [ 2223.6 IOPS] Test : 1000 MB [R: 0.0% (0.1/13791.8 GB)] (x5) Date : 2013/07/12 12:47:37 OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64) ########## 128K Chunk########## ----------------------------------------------------------------------- CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo Crystal Dew World : http://crystalmark.info/ ----------------------------------------------------------------------- * MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s] Sequential Read : 111.908 MB/s Sequential Write : 94.305 MB/s Random Read 512KB : 104.772 MB/s Random Write 512KB : 43.821 MB/s Random Read 4KB (QD=1) : 9.247 MB/s [ 2257.6 IOPS] Random Write 4KB (QD=1) : 4.929 MB/s [ 1203.3 IOPS] Random Read 4KB (QD=32) : 101.764 MB/s [ 24844.8 IOPS] Random Write 4KB (QD=32) : 7.949 MB/s [ 1940.6 IOPS] Test : 1000 MB [R: 0.0% (0.1/13791.8 GB)] (x5) Date : 2013/07/12 13:52:01 OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64) ########## 512K Chunk########## ----------------------------------------------------------------------- CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo Crystal Dew World : http://crystalmark.info/ ----------------------------------------------------------------------- * MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s] Sequential Read : 110.237 MB/s Sequential Write : 93.149 MB/s Random Read 512KB : 104.892 MB/s Random Write 512KB : 41.407 MB/s Random Read 4KB (QD=1) : 6.760 MB/s [ 1650.3 IOPS] Random Write 4KB (QD=1) : 3.539 MB/s [ 864.0 IOPS] Random Read 4KB (QD=32) : 101.139 MB/s [ 24692.3 IOPS] Random Write 4KB (QD=32) : 7.166 MB/s [ 1749.6 IOPS] Test : 1000 MB [R: 0.0% (0.1/13791.8 GB)] (x5) Date : 2013/07/12 12:22:58 OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64) ##########1024K Chunk########## ----------------------------------------------------------------------- CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo Crystal Dew World : http://crystalmark.info/ ----------------------------------------------------------------------- * MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s] Sequential Read : 112.327 MB/s Sequential Write : 92.353 MB/s Random Read 512KB : 107.015 MB/s Random Write 512KB : 39.793 MB/s Random Read 4KB (QD=1) : 9.536 MB/s [ 2328.0 IOPS] Random Write 4KB (QD=1) : 3.671 MB/s [ 896.3 IOPS] Random Read 4KB (QD=32) : 101.990 MB/s [ 24900.0 IOPS] Random Write 4KB (QD=32) : 0.000 MB/s [ 0.0 IOPS] Test : 1000 MB [R: 0.0% (0.1/13791.8 GB)] (x5) Date : 2013/07/12 14:17:08 OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64)
至少,您希望塊大小是文件系統塊大小的倍數或除數。你明白了。
其他一切都可能取決於實現。由於您是從頭開始,您應該推出自己的基準測試。無需創建 14 TB 的 RAID 集,而是使用每個驅動器中的 500 GB 以不同的塊大小進行測試。較小的捲大小將減少創建卷所需的時間。
當您找到適合您的設置的最佳數量時,然後創建您的 14 TB RAID 集。再次測試以確保您沒有性能下降。