乐趣区

关于服务器:二手MicroServer-Gen8折腾记-换阵列卡驱动

这里参考了第三篇:虚拟化层 – MicroServer Gen8 + ESXi Server 6.5u3 部署踩坑记 – 天一学生的游牧生存,这里向作者表示感谢!

装好 ESXi 之后,我先装上了 Ubuntu Server 22.10Windows Server 2019 Datacenter。用了一段时间,总感觉有点奇怪,只管说这是好多年前的机器,性能不强我是有心理准备的,但也不至于点个开始菜单都要好几秒,关上资源管理器也要将近半分钟。明天期待程序载入的时候看了眼工作管理器,发现磁盘占用率居然 100%,要晓得我这是两块固态硬盘组的阵列诶!既然有问题,就上网搜一搜呗,这不冲浪不晓得,一冲浪吓一跳,惠普给 ESXi 6.x 打包的 B120i 板载阵列卡驱动有性能问题,会导致磁盘读写异样迟缓。针对这个问题,网上最广泛的一个解决方案就是把阵列卡驱动退回到 ESXi 5.x 中的最初一个版本5.5.0-88

那话不多说,搞它!

首先,把所有虚构机关机,全副关机后,在 ESXi 的 主机 页面里,点击 操作 菜单中的 进入保护模式 ;在点击 操作 菜单,进入 服务 ,抉择 启用 Secure Shell(SSH),因为前面要 SSH 进 ESXi 外面装置驱动。

下载 http://downloads.hpe.com/pub/softlib2/software1/pubsw-linux/p1749737361/v98767/hpvsa-5.5.0-88.zip 实现后,解压这个 ZIP 包,失去驱动本体 scsi-hpvsa-5.5.0-88OEM.550.0.0.1331820.x86_64.vib。将这个vib 文件上传到 ESXi 的 /var/log/vmware 目录下。上传胜利后,SSH 进入 ESXi,执行如下命令:

# 卸载以后版本的驱动
esxcli software vib remove -n scsi-hpvsa -f

# 装置 5.5.0-88 版驱动
esxcli software vib install -v file:scsi-hpvsa-5.5.0-88OEM.550.0.0.1331820.x86_64.vib --force --no-sig-check --maintenance-mode

# 重启 ESXi
reboot

重启完了,进 ESXi 看了眼驱动,发现 RAID 也没认出来,驱动也变成 vmw_achi 了,这是没认出来阵列卡驱动啊。搜了一下,发现能够强制禁用 vmw_ahci,于是再进 SSH,执行esxcli system module set --enabled=false --module=vmw_ahci 这条命令,再重启之后,RAID 回来了,驱动也变成 hpvsa 了。

如果你在禁用 vmw_ahci 之后还不能胜利加载 hpvsa 驱动,那么就得先执行 esxcli software vib remove -n scsi-hpvsa -f 来卸掉它,重启之后再重装。这时候千万不能操作硬盘,否则可能造成数据损毁。

换驱动的时候理解到,VMWare 也会给 ESXi 推出一些零碎修改补丁,那有补丁当然要打啊。一开始我想着参照 ESXi 6.5 – VMware ESXi Patch Tracker 这个网站给的命令在线更新,然而始终报 Got no data from process 这个谬误,VMWare Communities 下面也有人遇到同样的谬误,解决办法是下载补丁而后手动装置。

对于 Got no data from process 这个谬误,依据 How to Upgrade from VMware vSphere ESXi 6.7 to 7.0 中的形容:

If you see the error message:

Got no data from process: LANG=en_US.UTF-8 /usr/lib/vmware/esxcli-software profile.update -d “https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml” -p “ESXi-7.0.0-15843807-standard”,

check whether there is a persistent scratch partition. There may not be a persistent scratch partition if you’re running ESXi from a USB flash drive.

而依据 How to Run ESXi from a USB Flash Drive 所说:

If ESXi is installed on a USB flash drive or SD card whose size is 8 GB or more, partitions #2 and #3 are not created. The Scratch directory used to store logs is linked to the /tmp/scratch directory that is located on the RAM drive.

也就是说,如果把 ESXi 装在大于等于 8GB 的 TF 卡或者 U 盘外面的话,就会短少一个 scratch 分区。

另外依据这个分区图,我还发现,如果把 ESXi 装在硬盘里的话,它会把残余空间作为数据存储,而不是像网上一些文章说的只用来装零碎,这个我前面有工夫会再测试一下。

那么,首先到 Product Patches 这里,Product 选ESXi (Embeeded and Installable),Version 选6.5.0(如果你装的不一样,以你为准),点 Search 后会列出一堆补丁,选最新那个,点 Download Now 来下载补丁的 ZIP 包。而后点View Details,咱们要在详细信息页面找到 Image Profile 的名字。

对于什么是 Image Profile:
VMWare 文档说:Image profiles define the set of VIBs that an ESXi installation or update process uses.
也就是说,Image Profile 定义了包里的哪些 VIB 会被装置。
每个补丁包中都会带有 2~4 个 Image Profile,依据 VMware ESXi Image Profiles 的形容,各个 Image Profile 的含意是:

  1. ESXi-5.5.0-20140704001-standard – 蕴含全副补丁
  2. ESXi-5.5.0-20140704001-no-tools – 蕴含除了 VMware Tools 之外的全副补丁
  3. ESXi-5.5.0-20140701001s-standard – 只蕴含安全补丁
  4. ESXi-5.5.0-20140701001s-no-tools – 只蕴含安全补丁,同时没有 VMware Tools

因为我要更新所有的 VIB,所以我将要用 ESXi-6.5.0-20221004001-standard 这个 Image Profile。SSH 进 ESXi,执行 esxcli software profile update -p ESXi-6.5.0-20221004001-standard -d /vmfs/volumes/63a1b271-3340b157-711e-d0bf9c4694d8/ESXi650-202210001.zip 开始装置(记得把 -d 参数指定的绝对路径改为你的机器下面的门路)。装置过程比拟耗时间,这期间能够 tail -f /var/log/esxupdate.log 来看 ESXi 正在干什么,毕竟看着日志在跑,心里也有底,不然总胆怯零碎是不是死掉了。

更新胜利后,esxcli会打进去哪些包被更新了,然而切实是太多,我基本懒得看,间接重启。重启之后,ESXi 能失常进零碎,存储和虚拟机都失常载入,阐明没出啥故障。这时候就能够退出保护模式,给虚拟机开机。有一说一,当初不论是开机还是关上什么货色,反馈的确快了不少,看来驱动导致的硬盘性能问题曾经胜利解决。

退出移动版