测试使用的程序:
wget -qO- bench.sh | bash
VM配置:
Debian 10
4 vCPU
4GB RAM
50GB SSD
online.net 的 独立服务器,服务器为3 X 500 GB SSD
在使用新的ahci driver (vmw_achi)的情况下:
CPU model : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
Number of cores : 4
CPU frequency : 3495.951 MHz
Total size of Disk : 46.0 GB (0.9 GB Used)
Total amount of Mem : 3946 MB (133 MB Used)
Total amount of Swap : 4092 MB (0 MB Used)
System uptime : 0 days, 0 hour 55 min
Load average : 0.00, 0.00, 0.00
OS : Debian GNU/Linux 10
Arch : x86_64 (64 Bit)
Kernel : 4.19.0-5-amd64
----------------------------------------------------------------------
I/O speed(1st run) : 77.6 MB/s
I/O speed(2nd run) : 79.3 MB/s
I/O speed(3rd run) : 76.9 MB/s
Average I/O speed : 77.9 MB/s
-----------------------------------
在退回旧的ahci driver(sata-achi)的情况下:
----------------------------------------------------------------------
CPU model : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
Number of cores : 4
CPU frequency : 3495.951 MHz
Total size of Disk : 46.0 GB (0.9 GB Used)
Total amount of Mem : 3946 MB (101 MB Used)
Total amount of Swap : 4092 MB (0 MB Used)
System uptime : 0 days, 0 hour 1 min
Load average : 0.02, 0.01, 0.00
OS : Debian GNU/Linux 10
Arch : x86_64 (64 Bit)
Kernel : 4.19.0-5-amd64
----------------------------------------------------------------------
I/O speed(1st run) : 407 MB/s
I/O speed(2nd run) : 408 MB/s
I/O speed(3rd run) : 407 MB/s
Average I/O speed : 407.3 MB/s
基本回到了满速,这个IO 甚是欣慰,虽然比使用纯ssd 要慢点,但还是可以接受的
ESXi 6.7 的这个IO 问题,从6.5 就一直存在,但是到了6.7 还是没有解决
在ESXi 的host上,使用如下命令可以看到:
[[email protected]:~] esxcli software vib list | grep ahci
sata-ahci 3.0-22vmw.650.0.0.4564106 VMW VMwareCertified 2016-11-16
vmw-ahci 1.0.0-32vmw.650.0.0.4564106 VMW VMwareCertified 2016-11-16
说明系统上存在两种driver,一个是sata-achi, 另外一个是vmw-achi. VMware 在vShpere 新的版本中,对于sata 都采用了全新的driver vmw-achi, 目前看来这个driver 还是有一定问题的,因此最好是回退到原来的driver中去
直接登录VMware 的 host,storage -> Adapters, 可以看到driver 用的是vmw_achi
我们需要将这个driver 回退到sata_achi中去:
[[email protected]:~] esxcli system module set --enabled=false --module="vmw_ahci"
[[email protected]:~] esxcli system module list | more
Name Is Loaded Is Enabled
----------------------------- --------- ----------
vmkernel true true
chardevs true true
user true true
....
....
vmkapi_v2_1_0_0_vmkernel_shim true true
vmkusb true true
igbn true true
vmw_ahci true false
iscsi_trans true true
iscsi_trans_compat_shim true true
vmkapi_v2_2_0_0_iscsiInc_shim true true
重启,我们就会发现driver 已经回退到sata-achi了, SSD 的性能又回来了
参考文章: https://anthonyspiteri.net/homelab-supermicro-5020d-tnt4-storage-driver-performance-issues-and-fix/#prettyPhoto
https://kb.vmware.com/s/article/2044993
https://communities.vmware.com/thread/554004