Linux
單個物理磁碟的 IOPS 總和是否不等於 raid0 邏輯磁碟?
我有一個由 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 ...
我期待 tps
nvme0n1
和tps 的nvme1n1
總和md0
。是由於塊大小差異造成的高差異。物理磁碟是否將多個寫入合併為單個磁碟寫入?有沒有辦法證實這個假設?
md0
,作為一個成熟的塊設備,有自己的調度器和寫合併。因此,雖然kB_wrtn/s
每個設備都根據 RAID 陣列本身報告的數據進行四捨五入,但由於在級別tps
上進行合併,這一數字要低得多。md0
為了更好地了解合併,您可以發出
iostat -x -k 1
並查看wareq-sz
欄位(或rareq-sz
讀取)。