[TOC]

ESXI 6.7

问题1.ESXi 6.7 CVE-2018-3646警告的处理
描述:服务器上安装了Esxi6.7,启动后有CVE-2018-3646的警告
解决方法:在“配置”中“系统”的“高级系统设置”中找到“VMkernel.Boot.hyperthreadingMitigation”,并将其值改为“true,重启启动,警告消失;


ESXI 6.0

1.驱动问题

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

#安装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.


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

#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.


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.


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.

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

WeiyiGeek.

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


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

Linux ssh 操作实例:

[[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个分区

#查看所以挂载的卷(注意存储设备的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:
这里我采用Debian的发行版Kail的Live CD进行重置ESXI密码,首先下载Kail的镜像,然后采用UltraISO进行刻录到U盘或者光盘;
引导启动Kail系统选择Lived CD:

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

WeiyiGeek.

#挂载基础分区到/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.

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