请注意:本页内容发布于 1357 天前,内容可能已经过时,请注意甄别。
手里有一台二手的戴尔 R420 服务器,在上面安装了 VMWare ESXi 6.5 作为虚拟化平台。有一次出于好奇,将主机的 PERC 阵列卡设置为了直通设备,结果重启主机之后发现两个问题:
1、ESXi Web 控制台报告存储空间为 NaN,且数据存储列表为空、存储设备中的本地硬盘消失。
2、所有虚拟机变为无效状态。
VMWare 官方给出的方案是在 VMKernel 控制台修改 /etc/vmware/esx.conf,将其中的 passthru 设备修改为 vmkernel,但对于该情况而言,修改保存后重启,阵列卡仍然会报告为直通启用,且再次查看修改后的文件时,会发现刚刚修改的内容又变回原样。
惊恐之下到处搜索,终于找到如下可用的方案,并成功修复问题。
以下内容来自 https://blog.51cto.com/fengwan/2497520,其原文来自 https://communities.vmware.com/t5/ESXi-Discussions/How-to-disable-ESXi-Passthrough-my-findings/m-p/2732447#2592922
1、使用 Ubuntu Desktop Live CD 引导系统(不要用服务器版),并在安装界面选择 Try Ubuntu(试用 Ubuntu)
2、打开终端,输入以下指令切换到 root 账户:sudo su –
3、执行如下指令查看当前硬盘分区:parted -l
4、挂载 VMKernel 所在分区,原文直接提到为编号 5 的分区,我的情况也一样,但中文版教程提到他的分区是编号 6,请按自身情况选择(能找到接下来的文件就算正确):mount /dev/sda5 /mnt
5、依次执行如下指令解压缩打包的配置文件:
tar xvf state.tgz (此时本目录(~)下会解压出一个 local.tgz来)
tar xvf local.tgz(此时本目录下会解压出一个 etc 目录来)
6、使用 vi 或 nano 修改 etc/vmware/esx.conf,将其中对应阵列卡的 device 行有 passthru 字样之处修改为 vmkernel(也可以将所有 passthru 都修改为 vmkernel,缺点是如果有其他直通设备,需要重启后重新配置),保存退出。
7、此时应仍在 ~ 目录下,依次执行如下指令重新打包配置文件:
tar czf local.tgz etc/ (此时会将 etc 目录打包为 local.tgz)
tar cvf state.tgz local.tgz(此时会将 local.tgz 打包为 state.tgz)
8、执行如下指令替换 VMKernel 分区下的文件:cp -rf state.tgz /mnt/
9、重启主机即可。
远嚣 Comment