整活 · 13 8 月, 2020 0

收集ESXi/vCenter/ESX-T中踩到的各种坑

※ 初版发布于2020.08.13。此为markdown化版本。

vCenter篇

  1. vCenter安装的第一阶段会询问FQDN(又称system name)。不知道不要乱填(默认会有一个不知道哪儿来的地址,删掉),不然第二阶段安装时会出现Internal error。

  2. 如果FQDN乱填了,Internal error出现了,可以用改hosts和resolve的方式强行跳出错误。接下来就会看到安装进度条卡在0%……

  3. 第二阶段的域名如果不知道就填vCenter的IP地址。

  4. SSO domain默认vshoere.local,如果没有要求就不用改。vCenter的登陆用户名是[email protected]

  5. 不要往vCenter里随便加别人的ESXi主机。vCenter会改变ESXi的配置,如果上面有配置好的网络啥的可能会被打。

  6. vCenter登陆后可能会因为一些玄学原因出现诸如“no healthy upstream”之类的错误信息。如果你是用https://192.168.1.233登陆的vCenter,则用https://192.168.1.233:5480进入管理界面,找到服务列表,把出问题的服务重启试试。

  7. 安装了vCenter的ESXi主机如果给磁盘扩容会导致vCenter出问题,具体表现为开机开到一半显示[FAILED] Failed to start File System Check on /dev/…,之后系统进入emergency模式,网页端无法访问。抢救办法:在emergency模式直接执行fsck /dev/sda3。最保险的还是用正确的方法给vCenter扩容,虽然我并不知道正确的方法是什么……
    问题长这样

  8. 一般用连续ping+关停服务器的方法测试vCenter的vMotion功能。网不好的话还挺慢的。啥,失败了?VMKernel适配器的vMotion打开了吗?

  9. 如果没有把虚拟机装在NFS上甚至根本没有NFS的话就不要尝试vMotion了。宿主机硬盘都关机了怎么可能复制数据呢。

ESXi篇

  1. 想作死可以考虑在ESXi里装ESXi(Nested ESXi),需要开启硬件辅助虚拟化(Hardware-assisted Virtualization)。具体方法是进入宿主ESXi的Shell,在/etc/vmware/config文件末尾添加:vhv.enable = "TRUE"(也有的版本是vhv.enable = “TRUE”)

  2. 刚配好的Nested ESXi的网络连接可谓一团浆糊,“混杂模式”和正确的VLAN配置是成功的关键。为了使所有设备和虚拟机能够互联互通,需要做如下配置:
    问题长这样

  3. 如果Nested ESXi的版本是7.0+,安装过程中会出现“CPU_SUPPORT_ERROR”错误。不少教程都说应该在虚拟机的CPU设置中修改CPUID。然而事实上ESXi6.x里并没有这个选项。对于这种情况应该参考这里说到的方法,即手动修改vmx文件。具体为:用vi打开定义了Nested ESXi的vmx文件,添加如下行:

cpuid.1.eax="0000:0000:0000:0011:0000:0110:1100:0011" // Intel CPU
cpuid.1.eax="0000:0000:0110:0000:0000:1111:0001:0000" // AMD CPU

NSX-T篇

  1. 用配置ova时设置的IP地址是登不上SSH的,必须用域名。没DNS服务器?改hosts啊!

  2. 配置ova时设置的密码如果不符合规定(太简单),ova照样可以部署。但root密码会被自动改成“vmware”,而且没!有!提!示!!

  3. 明明能登陆SSH却打不开网页管理端是因为服务没启动成功。进入SSH的admin用户,用start service ui-service启动网页端管理服务。

  4. 网页端管理服务刚启动就登陆网页端,用户名密码都通过了可能会遇到大白屏报Error Code: 101。解决办法:等它一会儿。

未完待续(也许)。