Linux

單個物理磁碟的 IOPS 總和是否不等於 raid0 邏輯磁碟?

  • November 12, 2021

我有一個由 2 個物理磁碟組成的 raid0 設置:

bash-4.2$ lsblk 

NAME    MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
xvda    202:0    0  100G  0 disk  
`-xvda1 202:1    0  100G  0 part  /
nvme0n1 259:0    0  1.7T  0 disk  
`-md0     9:0    0  3.5T  0 raid0 /home/ec2-user/deploy
nvme1n1 259:1    0  1.7T  0 disk  
`-md0     9:0    0  3.5T  0 raid0 /home/ec2-user/deploy

我通過以下命令創建了一些寫入負載:

dd if=/dev/random of=/home/ec2-user/deploy/testfile bs=1024 count=4000000

我測量了 md0 和兩個物理磁碟的 iostats:

iostat -d 1
Linux 4.14.154-128.181.amzn2.x86_64 (ip-10-123-151-189.ap-northeast-1.compute.internal)     11/08/2021  _x86_64_    (16 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
xvda              0.50         0.03         3.07     253733   25752714
nvme0n1          96.83         2.76       853.15   23209231 7166198418
nvme1n1          96.66         2.72       851.67   22806490 7153813102
md0             294.30         5.75      1711.15   48271101 14373181088

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
xvda              0.00         0.00         0.00          0          0
nvme0n1          73.00         0.00       968.00          0        968
nvme1n1          30.00         0.00       268.00          0        268
md0             306.00         0.00      1236.00          0       1236

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
xvda              0.00         0.00         0.00          0          0
nvme0n1          62.00         0.00       784.00          0        784
nvme1n1          32.00         0.00       756.00          0        756
md0             382.00         0.00      1540.00          0       1540
...

我期待 tpsnvme0n1和tps 的nvme1n1總和md0

是由於塊大小差異造成的高差異。物理磁碟是否將多個寫入合併為單個磁碟寫入?有沒有辦法證實這個假設?

md0,作為一個成熟的塊設備,有自己的調度器和寫合併。因此,雖然kB_wrtn/s每個設備都根據 RAID 陣列本身報告的數據進行四捨五入,但由於在級別tps上進行合併,這一數字要低得多。md0

為了更好地了解合併,您可以發出iostat -x -k 1並查看wareq-sz欄位(或rareq-sz讀取)。

引用自:https://serverfault.com/questions/1082930