ESXi不认SN640/SN750等SSD的问题解决方法
条评论0x00 背景
最近SSD价格暴跌,加上很多大船货来袭,曾经大容量的SSD基本都白菜价了。最近上车了一个西数SN640 7.68T U2 SSD,在Win和Ubuntu下都没问题,但在安装ESXi的时候发现不认,一开始以为和之前海康C2000 Pro的问题一样,但仔细分析了一下,不是驱动的问题,这个问题出在4K扇区上,一般SSD都是用的512扇区确保兼容性,但实际上4K扇区的性能更好,而SN640/SN750默认都是4K扇区,而ESXi默认是不认4K扇区的,所以解决方案就是将SSD设置为512扇区。
0x01 安装ESXi时设置
安装过程中,没有看到盘
用快捷键Alt+F1
切换到控制台
账号root密码为空
看下nvme list
1 | /opt/vmware/nvme/esxcli-nvme-plugin --op nvme.device.list |
可以看到有6块nvme的ssd,挨个看下找出西数的SN640
1 | /opt/vmware/nvme/esxcli-nvme-plugin --op nvme.device.get -A vmhba2 | egrep -A1 "Model|Serial" |
看下具体信息,找到SN640硬盘
使用命令看下分区信息,可以看到LBA ID设置为0是4K,设置为1是512
1 | /opt/vmware/nvme/esxcli-nvme-plugin --op nvme.device.namespace.get -A vmhba3 -n 1 | tail -40 |
运行下面命令,格式化成512扇区,执行时候会卡住,等待30秒左右
1 | /opt/vmware/nvme/esxcli-nvme-plugin --op nvme.device.namespace.format -A vmhba3 -f 1 -n 1 -m 0 -p 0 -l 0 -s 0 |
在用快捷键Alt+F2
,切换回安装界面,按F5刷新下,就可以看到硬盘了
0x02 已经安装好ESXi设置
如果已经安装好ESXi,只是新加了一块4K分区盘,解决方法差不多。
如果本机直接操作,可以使用快捷键Alt+F1
切换到终端执行命令,也可以开始SSH后远程操作。
1 | esxcli nvme device list |
和安装时候类似,再看下具体信息
1 | esxcli nvme device get -A vmhba6 | egrep -A1 "Model|Serial" |
找到SN640硬盘,看看相关信息,可以看到和安装时候看到的一样,LBA ID设置为0是4K,设置为1是512
1 | esxcli nvme device namespace get -A vmhba1 -n 1 | tail -30 |
和前面类似,格式化即可
1 | esxcli nvme device namespace format -A vmhba1 -f 1 -n 1 -m 0 -p 0 -l 0 -s 0 |
格式化完成后刷新下,就可以识别新安装的硬盘了
0x03 结语
其实不止是SN640/SN750,很多新的SSD或者大容量SSD在ESXi下都有这个问题,参照本文的解决方案操作即可。