kotoyuuko

CORE

昨日より、明日より、笑える今が一番大好き。
github
telegram
email

VMware ESXi 折腾日志

2021/02/08 更新:此文章在迁移过程中丢失了图片。

前阵子为了出国留学的体验,换上了软路由,使用的是 Proxmox VE + OpenWrt 的组合。总体上来说还是挺好用的,有点美中不足的是网卡不开直通的话只能跑到 40MB/s 左右的速度。据说 ESXi 性能会好点,于是就想尝试一下。

安装#

本来安装没啥好说的,做好安装 U 盘后按照步骤安装就行。不过因为我这台软路由的 SATA 有点特殊,并不是独立的 SATA 通道,而是走了一个类似 RAID 的控制器,安装遇到了下面这个问题:

最开始按照网上的说法,先用一个 mSATA 转 USB 把系统装在硬盘里,然后启动系统,禁用新版的 AHCI 驱动后把硬盘插回机器启动,然而结果似乎并不行。

之后我找到了网上一大佬做的带 RAID 驱动的 ESXi 安装包,问题依旧。

就这么试了整整一天,结果在 BIOS 里面把 SATA 的运行模式从 AHCI 调整到 Intel RST Premium 后,按照第一种方法安装,即可正常使用。附上禁用 AHCI 驱动的命令:

esxcli system module set --enabled=false --module=vmw_ahci

存储#

默认 ESXi 是需要单独定硬盘存储镜像和虚拟机的,这里可以使用命令在系统盘的空闲空间中直接建立存储空间。

首先在 ESXi 后台查看硬盘的标识。

括号里的字符串就是硬盘的标识。

然后使用命令查看硬盘分区:

partedUtil getptbl /vmfs/devices/disks/硬盘标识

会得到下面的输出:

gpt
14593 255 63 234441648
1 64 8191 C12A7328F81F11D2BA4B00A0C93EC93B systemPartition 128
5 8224 520191 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
6 520224 1032191 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
7 1032224 1257471 9D27538040AD11DBBF97000C2911D1B8 vmkDiagnostic 0
8 1257504 1843199 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
9 1843200 7086079 9D27538040AD11DBBF97000C2911D1B8 vmkDiagnostic 0

这里需要记住输出第二行的第四个数字: 234441648 ,这个数字每个人都不一样。

然后执行下面命令重新分区:

partedUtil setptbl /vmfs/devices/disks/硬盘标识 gpt \
"1 64 8191 C12A7328F81F11D2BA4B00A0C93EC93B 128" \
"5 8224 520191 EBD0A0A2B9E5443387C068B6B72699C7 0" \
"6 520224 1032191 EBD0A0A2B9E5443387C068B6B72699C7 0" \
"7 1032224 1257471 9D27538040AD11DBBF97000C2911D1B8 0" \
"8 1257504 1843199 EBD0A0A2B9E5443387C068B6B72699C7 0" \
"9 1843200 7086079 9D27538040AD11DBBF97000C2911D1B8 0" \
"2 7086080 15472639 EBD0A0A2B9E5443387C068B6B72699C7 0" \
"3 15472640 X AA31E02A400F11DB9590000C2911D1B8 0"

最后一行的 X 需要替换为前面步骤得到的数字减去 48 后的结果。

之后使用命令创建存储即可:

vmkfstools -C vmfs6 -b 1m -S 存储名称 /vmfs/devices/disks/硬盘标识

镜像转换#

因为我自己编译的固件配置里没有生成 vmdk 文件,并且我也不想重新调整编译参数,所以这里使用 qemu-imgimg 转换为 vmdk 文件:

qemu-img convert -f raw -O vmdk openwrt.img openwrt.vmdk

修改主机名#

ESXi 默认的主机名是 localhost.localdomain,不好看也不好记,直接改掉:

esxcfg-advcfg -s 新主机名 /Misc/hostname

授权#

默认的试用授权每 60 天需要续一次,比较麻烦,直接用网上找到的码:

0U0QJ-FR1EP-KZQN9-J1C74-23P5R

问题#

因为一次非正常断电,再次打开虚拟机出现了这个错误:对象类型需要托管的 I/O

原因似乎是非正常断电导致镜像文件损坏,修复一下即可。

先执行:

vmkfstools -x check /path/to/your/machine.vmdk

如果提示「Disk needs repair.」,执行下面的命令修复:

vmkfstools -x repair /path/to/your/machine.vmdk

经测试转换磁盘到 thin 格式可以直接解决问题:

vmkfstools -i source.vmdk destination.vmdk -d thin

关于直通#

最开始我是把除了管理口外所有网卡全部直通给 OpenWrt。

直到后来我发现虚拟网卡同样可以跑满千兆网络,于是就把所有网卡直通取消,直接用虚拟网卡。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。