[TOC]

0x01 ESXI 6.7

问题1.ESXi 6.7该主机可能容易受到 CVE-2018-3646 中所描述问题的影响,
描述:服务器上安装了Esxi6.7启动后有CVE-2018-3646的警告,由于此漏洞属于芯片级漏洞,更新固件会造成较大的性能损失,在私有云环境下,此漏洞的影响范围可控,我们可以选择禁用此提示,暂缓漏洞的修复;
解决方法:

  • 在”配置”中”系统”的”高级系统设置”中找到“VMkernel.Boot.hyperthreadingMitigation”内核超线程缓解,并将其值改为”true”重启启动后警告消失, 需要重启并且解决问题;
  • 在vcenter中选中ESXI主机打开配置,高级系统设置点击编辑,筛选UserVars.SuppressHyperthreadWarning(不显示因超线程导致的潜在安全漏洞警告),将UserVars.SuppressHyperthreadWarning的值由0改为1,直接忽略警告;
    有关详细信息和 VMware 建议,请参阅 https://kb.vmware.com/s/article/55636

0x02 ESXI 6.0

1.驱动问题

问题1.DELL svc2000 HBA卡识别问题
mpt3sas version 13.00.00.00-1OEM 13.17.01.00 驱动下载 : 下载地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#安装lsi-msgpt3
esxcli software vib install -v lsi-msgpt3-16.00.01.00-1OEM.600.0.0.2768847.x86_64.vib

#安装后重启进行查看安装的驱动
[[email protected]:~] esxcli software vib list
Name Version Vendor Acceptance Level Install Date
----------------------------- ------------------------------------ -------- ------------------ ------------
lsi-msgpt3 16.00.01.00-1OEM.600.0.0.2768847 Avago VMwareCertified 2019-12-04

# #安装scsi-mpt3sas_13.00.00.00-1OEM.600.0.0.2494585.vib
# esxcli software vib install -v scsi-mpt3sas_13.00.00.00-1OEM.600.0.0.2494585.vib
#安装完成后重启然后进行查看HBA卡
[[email protected]:~] esxcfg-scsidevs -a | grep "lsi"
vmhba0 lsi_mr3 link-n/a sas.51866da06f803b00 (0000:01:00.0) LSI PERC H730 Mini
vmhba3 lsi_msgpt3 link-n/a sas.51866da091944100 (0000:04:00.0) Avago (LSI Logic) Dell 12Gbps SAS HBA external #成功识别

IO兼容性驱动下载

WeiyiGeek.

WeiyiGeek.


问题2.DELL存储HBA卡和ESXI驱动问题
描述:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#1.先检查驱动是那种类型的发现是 lsi_msgpt3 请一定要更改成 mpt3sas
$ esxcfg-scsidevs -a #查看HBA卡状态及类型
vmhba3 lsi_msgpt3 link-n/a sas.51866da091944100 (0000:04:00.0) Avago (LSI Logic) Dell 12Gbps SAS HBA external

#2.禁用此模块lsi_msgpt3
esxcli system module set --enabled=false --module=lsi_msgpt3 #禁用此模块

#3. 安装最新的模块:http://partnerweb.vmware.com/comp_guide2/detail.php?deviceCategory=io&productid=34317&vcl=true
esxcli software vib install -v scsi-mpt3sas_13.00.00.00-1OEM.600.0.0.2494585.vib

#4.重启后输入esxcfg-scsidevs –a 确认LSI 3008的模块加载的是否是mpt3sas
$esxcfg-scsidevs –a
vmhba3 lsi_mpt3sas link-n/a sas.51866da091944100 (0000:04:00.0) Avago (LSI Logic) Dell 12Gbps SAS HBA external
$vmkload_mod -s mpt3sas #内核加载模块查询

WeiyiGeek.

WeiyiGeek.


2.磁盘问题

问题1:虚机VM1精简配置了1TB空间经过长期的运行,在VM1的windows系统里看到数据只有200GB左右,但是vmdk文件已有1TB
原因:由于虚拟磁盘类型精简置备只增长不收缩;
解决方式: 通过Storage vMotion在同一文件系统且磁盘区块大小一样的存储之间是无法回收膨胀的Thin Provision的VMDK空间的。
因为NTFS文件系统的机制,被写入过的文件即使将文件删除系统也不会将磁盘区块置零,下次再写入数据只会优先操作标记为零的区块来写。
目前比较简单方便的方法是,在VM上下载一个SDelete.exe的程序,然后用cmd运行,参数用-z,这个参数是将那些被写入过数据的区块标记为零,并且是针对虚拟机使用,在物理机上这个参数无效。
格式如:sdelete.exe -z c:,运行过程比较慢,耐心等待,期间在操作系统中会看见你的磁盘会被占满,等运行完成后又会回到正常的容量。
命令运行完成后,用SSH连接到ESXi主机上进到需要回收空间的.vmdk目录下,运行vmkfstools工具,参数用-K(因为ESXi主机是Linux的底层OS所以注意大小写),如vmkfstools -K VirtualMachine.vmdk,然后等运行完成后就能够成功回收膨胀的Thin Provision空间了。

该方法仅限于Windows系统,附上测试图一张(回收空间之前我的vCenter Server.vmdk的占用空间是96.0GB):

WeiyiGeek.

WeiyiGeek.


3.使用问题

问题1.VMware vSphere(ESXI)的root密码忘记解决办法
描述:实际环境中的ESXI服务器版本(6.0、6.5),Root密码忘记更改解决方式有三种:

  • 1.通过安装、更新ESXI版本的系统来进行重置密码(注意:需要保留数据卷安装);
  • 2.采用U盘启动的ESXI容器进行挂载然后修改state.tgz中的shadow文件,并且修改后打包覆盖即可;
  • 3.采用其它版本的Linux Live cd进入系统挂载ESXI存放的磁盘分区,找到state.tgz文件进行修改后覆盖即可;

方式1:
通过U盘或者DVD光盘进行刻录最新版本的ESXI(注意:需要在官网查看当前ESXI版本可升级的最高版本),重启机器DELL服务器按F11进行启动项选择;
选择后进入引导界面其实与安装界面差别不大,开始安装ESXI选择老版本ESXI存放的磁盘卷;
选择下图红框的选项,全新安装但保留硬盘中原数据,若root密码没有忘记可以选择第一个升级选项,否则选择第二项即可;

  • 第一种是升级ESXi,保留数据
  • 第二种是安装ESXi,保留数据
  • 第三种是安装ESXi,覆盖数据
WeiyiGeek.

WeiyiGeek.

重新设置root密码,开始安装ESXI完成后重启服务器完成引导;

WeiyiGeek.

WeiyiGeek.

由于是全新安装,故虚拟机列表也消失了,需要手工注册虚拟机;添加后在虚拟机列表中就能看到NGINX-Server的虚拟机.

WeiyiGeek.

WeiyiGeek.


方式2:针对可以连接ssh的方式(实际所遇可能需要方式三解决)

通过安装有ESXI容器的U盘进行启动ESXI容器服务器,修改启动链接的网口并且配置好Static IP地址,方便与我们的运维笔记本直连;
假如ESXI管理地址设置为:192.168.10.79,我们的笔记本就设置成为同一个子网掩码网段中其中一个地址即可如192.168.10.80;
登陆ESXI的UI界面操作菜单依次点击“管理”-“服务”-“TSM-SSH”进行 启动安全SHELL 和 启动控制台shell,然后采用Putty之类的终端登陆工具进行连接登陆ssh;

Linux ssh 操作实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
[[email protected]:~] fdisk -l
#The fdisk command is deprecated: fdisk does not handle GPT partitions. Please use partedUtil
Found valid GPT with protective MBR; using GPT
Disk /dev/disks/mpx.vmhba33:C0:T0:L0: 30703616 sectors, 2704M #我们的U盘
Logical sector size: 512
Disk identifier (GUID): e4f5d8e2-cfd7-42bb-a00c-aa2feec59449
# Partition table holds up to 128 entries
# First usable sector is 34, last usable sector is 30703582
# Number Start (sector) End (sector) Size Name
# 1 64 8191 4064K
# 5 8224 520191 249M
# 6 520224 1032191 249M
# 7 1032224 1257471 109M
# 8 1257504 1843199 285M
# 9 1843200 7086079 2560M
# Found valid GPT with protective MBR; using GPT

Disk /dev/disks/naa.61866da089f2cf001fe33f1f14adc14f: 2341994496 sectors, 768M #我们EXSI安装的磁盘
Logical sector size: 512
Disk identifier (GUID): 452f91e9-a79c-4ddf-b156-b248241e9789
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 2341994462
# Number Start (sector) End (sector) Size Name
# 1 64 8191 4064K EFI系统引导
# 2 7086080 15472639 4095M 基本数据分区
# 3 15472640 2341994462 1109G VMFS空间
# 5 8224 520191 249M 基本数据分区
# 6 520224 1032191 249M 基本数据分区
# 7 1032224 1257471 109M VM诊断数据
# 8 1257504 1843199 285M 基本数据分区
# 9 1843200 7086079 2560M VM诊断数据

WeiyiGeek.与之对应的9个分区

WeiyiGeek.与之对应的9个分区

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#查看所以挂载的卷(注意存储设备的UUID值与文件的关联)
[[email protected]:~] df -h
Filesystem Size Used Available Use% Mounted on
VMFS-5 1.1T 79.3G 1.0T 7% /vmfs/volumes/ds202
VMFS-5 499.8G 975.0M 498.8G 0% /vmfs/volumes/LOG20201
VMFS-5 1023.8G 220.4G 803.4G 22% /vmfs/volumes/APP20201
vfat 249.7M 169.0M 80.7M 68% /vmfs/volumes/0c0d4e7d-6d556476-31a7-b75ff09ebfbd
vfat 285.8M 202.6M 83.3M 71% /vmfs/volumes/5858091b-e7d63e3a-2603-1866da83ab6e
vfat 249.7M 168.9M 80.8M 68% /vmfs/volumes/26ae077c-c44f1f89-d4d2-2207edc2a151
vfat 4.0G 31.2M 4.0G 1% /vmfs/volumes/5858091d-8b5c1bac-d65c-1866da83ab6e
vfat 249.7M 150.1M 99.6M 60% /vmfs/volumes/504f65e8-32c7f833-1bbb-c959042a9e26
vfat 249.7M 150.1M 99.6M 60% /vmfs/volumes/3571b8e2-6036bb6c-48c7-2a09ea9ba47e
vfat 285.8M 172.9M 112.9M 60% /vmfs/volumes/5d8892c1-f8d79542-3417-989096d0868a

#查找出state.tgz存放的目录 (注意:根据系统安装的时间来更改,自己根据实际情况判别)
[[email protected]:/dev/disks] find / -name state.tgz -exec ls -alh {} \;
-r--r--r-- 1 root root 14.5K Jan 8 10:22 /tardisks/state.tgz #U盘里面的esxi配置
-rwx------ 1 root root 28.3K Feb 14 2017 /vmfs/volumes/0c0d4e7d-6d556476-31a7-b75ff09ebfbd/state.tgz #忘记密码ESXI登陆配置文件
-rwx------ 1 root root 22.8K Feb 14 2017 /vmfs/volumes/26ae077c-c44f1f89-d4d2-2207edc2a151/state.tgz #忘记密码ESXI登陆配置文件
-rwx------ 1 root root 12.9K Jan 8 11:01 /vmfs/volumes/504f65e8-32c7f833-1bbb-c959042a9e26/state.tgz #U盘里面的esxi配置
-rwx------ 1 root root 12.1K Sep 23 09:56 /vmfs/volumes/3571b8e2-6036bb6c-48c7-2a09ea9ba47e/state.tgz #U盘里面的esxi配置

#以其中一个为例
[[email protected]:~] cp /vmfs/volumes/26ae077c-c44f1f89-d4d2-2207edc2a151/state.tgz /tmp/
[[email protected]:~] cd /tmp/
[[email protected]:/tmp] tar xfz state.tgz & tar xfz local.tgz & rm -rf local.tgz local.tgz
[[email protected]:/tmp] vi shadow etc/shadow
root:$6$hO61vJN7$iUMDV2rXYpAlGPH2uh4bCLE0rwQcMzohcJy7Bny5jWwzlMchPsETKhm/:17178:0:99999:7:::
root::17178:0:99999:7::: #更改后保存
[[email protected]:/tmp] tar -czf local.tgz etc/ & tar -czf state.tgz local.tgz
[[email protected]:/tmp] cp -fn state.tgz /vmfs/volumes/26ae077c-c44f1f89-d4d2-2207edc2a151/

重启机器然后登陆UI界面以空密码进行登陆,登陆后进行修改密码即可;


方式3:在完全忘记密码且ESXI-没开放SSH的情况之下进行

描述:这里我采用Debian的发行版Kail的Live CD进行重置ESXI密码,首先下载Kail的镜像,然后采用UltraISO进行刻录到U盘或者光盘;
引导启动Kail系统选择Lived CD:

1
2
#查看系统的分区情况
$fdisk -l

WeiyiGeek.

WeiyiGeek.

1
2
3
4
5
6
7
8
9
10
#挂载基础分区到/mnt中 (因为开始我并不知道state.tgz存在那一块盘上所以就全部挂载上了)
mkdir disk{1..3}
mount /dev/sda5 /mnt/disk1 #(貌似修改这一个就可以成功)
mount /dev/sda6 /mnt/disk2
mount /dev/sda8 /mnt/disk3

#在挂载的盘上查找state.tgz文件(然后向方式2一样进行修改shadow文件然后打包进state.tgz中覆盖以下目录中的文件即可)
find /mn/ -name state.tgz
/mnt/disk1/state.tgz
/mnt/disk2/state.tgz
WeiyiGeek.

WeiyiGeek.

修改完成后umount弹出挂载然后重新启动ESXI即可,空密码登陆;


问题2.VMware vSphere(ESXI 6.0)安装后无UI网页界面管理主机只能通过vSphere client进行管理
描述: 安装好esxi6.0后网页访问其主机地址没有网页管理界面,只能通过vSphere client或者Vcenter管理这存在极大的方便,按照下面的流程我们进行解决:

安装流程:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# (1) 添加网页管理Web client的方式如下
$esxcli software vib install -v https://download3.vmware.com/software/vmw-tools/esxui/esxui-signed-7119706.vib
$esxcli software vib install -v /esxui-signed-7119706.vib
# Installation Result
# Message: Operation finished successfully.
# Reboot Required: false
# VIBs Installed: VMware_bootbank_esx-ui_1.24.0-7119706
# VIBs Removed:
# VIBs Skipped:

# (2) 现有版本进行升级VMware Host Client 1.33.1。
$esxcli software vib install -v https://download3.vmware.com/software/vmw-tools/esxui/esxui-signed-12086396.vib
# Installation Result
# Message: Operation finished successfully.
# Reboot Required: false
# VIBs Installed: VMware_bootbank_esx-ui_1.33.1-12086396
# VIBs Removed: VMware_bootbank_esx-ui_1.24.0-7119706
# VIBs Skipped:

WeiyiGeek.UI

WeiyiGeek.UI


4.升级问题

问题1.ESXI 离线更新时候显示 You attempted to install an image profile which would have resulted in the removal of VIBs 驱动软件错误;
错误信息:

1
2
3
4
$esxcli software profile install -d /vmfs/volumes/5bec054f-e37ea7be-d6e8-d4ae528208aa/ISO/update-from-esxi6.5-6.5_update03.zip -p ESXi-6.5.0-20190702001-standard
[Exception]
You attempted to install an image profile which would have resulted in the removal of VIBs ['VMware_bootbank_lsu-lsi-mptsas-plugin_1.0.0-1vmw.600.0.0.2494585']. If this is not what you intended, you may use the esxcli software profile update command to preserve the VIBs above. If this is what you intended, please use the --ok-to-remove option to explicitly allow the removal.
Please refer to the log file for more details.

问题原因:您试图安装更新导致需要删除原来的VIBs的映像配置文件,此时您需要进行手动删除;
解决办法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# (1) 查看与删除lsu-lsi-mptsas-plugin的vib
$esxcli software vib list | grep "lsu-lsi-mptsas-plugin"
lsu-lsi-mptsas-plugin 1.0.0-1vmw.600.0.0.2494585 VMware VMwareCertified 2018-11-14
$esxcli software vib remove -n lsu-lsi-mptsas-plugin
Removal Result
Message: Operation finished successfully.
Reboot Required: false
VIBs Installed:
VIBs Removed: VMware_bootbank_lsu-lsi-mptsas-plugin_1.0.0-1vmw.600.0.0.2494585
VIBs Skipped:


# (2) 其它升级中出现相似的vib驱动软件与映像配置文件不兼容的情况;
$esxcli software vib list|grep libelxima
elx-esx-libelxima.so 12.0.1108.0-03 ELX VMwareCertified 2020-03-29
$esxcli software vib remove -n elx-esx-libelxima.so
Removal Result
Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
Reboot Required: true
VIBs Installed:
VIBs Removed: ELX_bootbank_elx-esx-libelxima.so_12.0.1108.0-03
VIBs Skipped:


问题2.VMware-VMvisor-Installer.iso升级ESXi版本显示Conflicting Vibs Error的问题
问题描述:CONFLICTING_VIBS ERROR: Vibs on the host are conflicting with vibs in metadata. Remove the conflicting vibs or use Image Builder to create a custom ISO providing newer versions of the conflicting vibs.
错误描述:由于升级的版本中存在冲突的Vibs包导致安装不能继续,其次是硬件兼容性问题;
解决办法:删除冲突的vibs或新建一个包含最新版本vibs的自定义ISO再安装。

1
2
3
4
5
# 1.通过SSH(Putty等工具)连接ESXI主机
# 2.根据升级错误提示删除冲突的vibs(所有冲突的vibs,有很多重复的删除一次即可),注意与上面一样先查看冲突的vibs再删除
esxcli software vib remove -n scsi-bfa
esxcli software vib remove --vibname scsi-bfa
# 3.删除后再重新升级ESXI主机即可,如果遇到升级时又遇到新的vibs冲突就再删除然后再升级。


5.系统问题

问题1.vCenter设置主机严格锁定模式禁止ESXi的UI登陆,导致直接登陆ESXi-UI显示执行该操作的权限被拒绝;
描述:从 vSphere 6.0 开始我们可以选择正常锁定模式或严格锁定模式,在我们vCenter添加主机默认是禁用锁定模式的,所以此时UI是可以正常登陆的;
两种模式的区别:

  • 1) 正常锁定模式下不会停止 DCUI 服务, 当如果失去与 vCenter Server 的连接并且无法通过 vSphere Web Client 进行访问,特权帐户(例外用户、主机的 DCUI.Access 权限用户)可以登录到 ESXi 主机的直接控制台界面并退出锁定模式。
  • 2) 严格锁定模式下会停止 DCUI 服务。 如果失去与 vCenter Server 的连接并且 vSphere Web Client 不再可用,除非启用 ESXi Shell 和 SSH 服务并且定义例外用户或者重置主机,否则 ESXi 主机将变得不可用。

ESXi 主机终端与vSphere Web Client上启用或禁用锁定模式:

1
2
3
4
5
6
7
8
9
10
11
12
# 方式1
直接登录到 ESXi 主机。
从主机上打开 DCUI。
按 F2 进行初始设置。
按 Enter 切换配置锁定模式设置。

# 方式2
在 vSphere Web Client 清单中浏览到主机。
单击管理选项卡,然后单击设置。
在“系统”下,选择安全配置文件。
在“锁定模式”面板中,单击编辑。
单击锁定模式并选择其中一个锁定模式选项。

解决方法:
1
2
3
4
# 1.如果是启动了正常锁定模式但是有例外有例外用户、主机的 DCUI.Access 权限用户,可以通过其此选项可供紧急访问直接控制台界面;
# 2.指VCenter关联ESXI是没有选择禁用模式,导致VCenter意外关机后,无法再链接ESXI主机(报错是无权限访问),此时通过上面这种方式无法进行解决,此时可以下一下面的办法;
# 此方法的缺点是: 重置后需要重新将存储中的虚拟机进行注册,然后添加到清单即可恢复:
ESXi Console 界面 F2 -> reset system configuration


0x03 通用错误

问题1.esxcli 安装vib软件扩展显示urlopen error [Errno 2] No such file or directory
错误信息:

1
2
3
4
5
$esxcli software vib install -v esxui-signed-7119706.vib
[VibDownloadError]
('esxui-signed-7119706.vib', '', "[Errno 4] IOError: <urlopen error [Errno 2] No such file or directory: '/var/log/vmware/esxui-signed-7119706.vib'>")
url = esxui-signed-7119706.vib
Please refer to the log file for more details.

错误原因:由于安装vib默认的家目录在/var/log/vmware/而不是/根目录
解决方式:
1
2
3
4
5
#方式1.指定绝对路径比如安装在根下面的esxui-signed-7119706.vib软件
$esxcli software vib install -v /esxui-signed-7119706.vib

#方式2.将vib软件包拷贝到/var/log/vmware/目录中进行安装即可
cp esxui-signed-7119706.vib /var/log/vmware/


问题2:ESXI Fatal error: 33 (Inconsistent data) 无法启动
错误特征:Gzip_extract failed for /xorg.v00 (size 1448839) Inconsistent data Error 33 (Inconsistent data) while load module;

WeiyiGeek.xorg.voo

WeiyiGeek.xorg.voo


产生原因:ESXi 服务意外断电导致ESXi服务文件缺损,由于我的ESXi是安装在U盘之中当断电时候容易导致某些问题;
解决办法:至少有两种
1
2
1.重新安装/升级: 官网下载镜像,刻录光驱,上服务器
2.替换报错文件: 提取官网下载的ISO中的 xorg.v00 文件覆盖到 ESXI U盘中的文件即可;

WeiyiGeek.xorg.v00

WeiyiGeek.xorg.v00


问题3.Retrieve IPMI SEL request to host failed
解决方式:

1
2
3
4
5
- 1.ESXi 虚拟机 监控 -> 硬件状态 -> 警示和警告 -> 系统事件日志分别重置下传感器、重置事件日志。
- 2.要在 ESXi 5.1 及更高版本中清空 IPMI SEL 日志命令
localcli hardware ipmi sel clear
- 3.重启管理代理命令
/etc/init.d/vpxa restart


问题4.无法在主机上应用DRS资源设置,这会显著降低DRS的效率
参考文档:https://kb.vmware.com/s/article/1004667?lang=zh_CN
解决方式:

  • 1.检查虚拟机是否长时间挂载了vmwaretools镜像,或其他系统镜像启动异常。
  • 2.检查虚拟机是否挂载了ISO镜像,编辑配置=>取消挂载ISO镜像对勾.

0x04 集群问题

_问题1.vSphereHA在数据中心ZZ_Datacenter中的群集ZZ_vSAN_cluster中的1虚拟机上启动了故障切换操作_
问题原因:警告产生原因可能为故障切换时群集中的存储资源不富裕
解决方式:在群集–>配置中,关闭HA,再重新开启HA , 警告消失


0x05 vCenter问题

问题1.从vcsa6.5.0要升级6.7update3,使用命令行升级过程中遇到一个bug需要单独打一个补丁才能升级;
问题原因:打补丁过程中又提示失败要修改root密码,此时尝试多种方式均不能更改;
解决办法:使用linux的命令passwd修改密码成功;