手里有一台二手的戴尔 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、重启主机即可。
注:所有评论将在审核通过后显示,请不要在评论内容的任何位置出现链接,否则您的评论将被自动移入回收站,且永远不会被复审。
All comments will be available after being manually reviewed, please do not include any links anywhere in your comment, otherwise your comment will be automatically deleted and are not eligible for review.