在解决虚机挂载U盘的过程中(已经处理了:VMware中的虚机如何挂载U盘),怎么样都无法加载U盘,故进行了一次操作直通操作的过程中,不小心把所有的存储和控制器全部直通了,导致Esxi主机无法识别到自己的存储信息,然后就出现了后面的事情。进而所有的虚拟机都无法看到,现将处理过程逐一给大家解析,同时也感谢几位同事的前期测试。
 
什么是VMware直通?
VT-d 、DirectPath I/O,通过 DirectPath I/O,虚拟机可以使用 I/O 内存管理单元访问平台上的物理 PCI 功能,就是俗称的虚拟化直通,简单理解就是允许宿主机将某些硬件资源的管辖权直接移交给虚拟机,虚拟机会以直通独占的方式使用硬件,宿主机将不能再使用此硬件,利用效率几乎等同于将硬件插到了虚拟机的主板扩展槽里一样,最实用的目的是避免了虚拟化平台自身软件层转换带来的效能下降。
 
为什么无法连接到存储还能开启SSH和登录VM宿主机?
参考以为博主的见解,ESXi从硬盘读取了程序和配置文件,将其载入内存并运行起来,然后才生效了直通设置,失去了对硬盘的访问能力,写入能力,就是只能看,不能改。改了也没用,因为在内存里面运行。
 
关于Esxi的一般有几个分区?
没有查阅过官方的资料,通过大量的百度得出以下结果,Esxi存在2个分区,分被为sda5和sda6(具体自己查看,我们这是sdb5和sdb6),如果你要问我,我现在用的哪一个,抱歉,我也不知道。没有细细研究。
 

理解以上问题,我们就进入正题了。
处理步骤如下:
1.启动Fedora Live系统(其他Linux发行版也是一样的,只要是桌面版基本都带有预览功能)
2.运行Terminal,接下来的shell命令都在这个终端里执行
3.使用parted -l 命令确认ESXi保存配置文件的分区(通常是/dev/sda5也可能sda6)
4.挂载分区,要修改的文件就在分区根目录下
mount /dev/sda5 /mnt ls -l /mnt/state.tgz
5.创建一个文件夹用来做文件修改
mkdir ~/test cd ~/test cp /mnt/state.tgz state.tgz
6.解压缩state.tgz文件
tar xf state.tgz tar xf local.tgz
ls -l ./etc/vmware/esx.conf
注意:ESXi 6.5之前版本的配置文件为esxi.conf。
7.修改esx.conf文件,将其中的passthru改为vmkernel即可取消直通设置
  • a) 使用下面的命令查看ESXi系统中被设置为直通的设备
grep -w passthru ./etc/vmware/esx.conf
  • b) 若你无法确定哪一项对应你的SATA控制器,就使用下面的命令将它们全部修改,日后再重新设置
sed -i 's/passthru/vmkernel/' ./etc/vmware/esx.conf
8.删除旧的tgz文件
rm local.tgz state.tgz
注意:务必要删除旧的local.tgz和state.tgz文件(前辈走过了路,要听话),切不可图省事直接创建压缩包来“覆盖”原有的tgz文件!否则更新后的文件将导致ESXi启动失败(Check failed: installing file ./local.tgz (sandbox is local.tgz)).
9.制作新的state.tgz文件
tar czf local.tgz etc
chmod 755 local.tgz
tar czf state.tgz local.tgz
chmod 755 state.tgz
10.替换原有的state.tgz文件
cp state.tgz /mnt/
11.重启,大功告成
reboot
 
感谢一下几位博主的贡献,吸取的就是他们的精华
 

ESXi 切换直通导致无法识别硬盘解决的更多相关文章

  1. windows7系统下如何安装windows xp系统(无法识别硬盘,删除隐藏分区)

    一.硬盘模式的设置 要设置好硬盘模式,否则安装操作系统的时候,根本就不识别硬盘,自然无法安装操作系统了.此步骤主要是解决无法识别硬盘的问题. 首先,进入BIOS当中,一般在advanced当中,有一个 ...

  2. (转) 通过UUID在vSphere虚拟机内外识别硬盘

    转自:http://ju.outofmemory.cn/entry/28398 简单介绍下应用场景:开发基于虚拟化IaaS的一些应用就免不了要跟虚拟机(VM)打交道,因为VM逻辑上独立于宿主机(hos ...

  3. 如何识别和解决SQL Server中的热闩锁(PAGELATCH_EX)

    描述 在SQL Server中,内部闩锁体系结构可在SQL操作期间保护内存.通过页面上的读写操作,可以确保内存结构的一致性.从根本上讲,它具有两个类:缓冲区锁存器和非缓冲区锁存器,它们在SQL Eng ...

  4. 脑对u盘不识别的解决方法 一看就会

    u盘可以说是我们日常生活中使用得较为频繁的移动硬盘了,它小巧轻便,便于携带,能够储存大量的文档.因为经常使用的关系,所以就会出现很多问题.比如电脑识别不了u盘怎么办? 接下来,小编想教大家几招面对u盘 ...

  5. 读取 properties 配置文件含有中文的value内容 导致中文乱码 的解决办法

    1.前言 因为装系统的时候把中文写在了系统路径,现在我想把这个路径写在properties里面来读取,可是 发现java 读取会导致中文乱码成 问号????的乱码  ,百度找了好多博客,基本都是一摸一 ...

  6. Altium Designer之AD16在Win10系统下无法切换走线/布线模式的解决办法

    有些童鞋会在Win10下使用AD16的时候发现,走线模式/布线模式(切换直角,45°,弧形等)不能切换. 问题出在输入法上,一般是切换到英文输入法即可解决,但是有一种情况是win10系统自带输入法有时 ...

  7. Visual Studio2012打开时弹出“遇到异常:这可能是由某个扩展导致的”错误的解决办法

    Visual Studio2012打开时弹出"遇到异常:这可能是由某个扩展导致的"错误的解决办法: 具体问题如下: 分析原因:网上搜集了以下,出现异常的原因是安装了第三方控件,然后 ...

  8. linux使用su切换用户提示 Authentication failure的解决方法& 复制文件时,报cp: omitting directory `XXX'

    linux使用su切换用户提示 Authentication failure的解决方法:这个问题产生的原因是由于ubtun系统默认是没有激活root用户的,需要我们手工进行操作,在命令行界面下,或者在 ...

  9. 打开Voice Over时,CATextLayer的string对象兼容NSString和NSAttributedString导致的Crash(二解决思路3)

    续前一篇:打开Voice Over时,CATextLayer的string对象兼容NSString和NSAttributedString导致的Crash(二解决思路2)ok,到这里已经能够锁定范围了, ...

随机推荐

  1. 解决Maven资源过滤问题

    向pom文件添加如下配置 <build> <resources> <resource> <directory>src/main/java</dir ...

  2. NBU Rman异机恢复Oracle

    前段时间一个亿级分区表,被分割成历史表和业务表,历史表中保留15天以外的数据,每天都会从业务表中的15天外的数据copy到历史表,并删除业务表15天外的数据,逻辑也很简单,但插入历史表的where 条 ...

  3. jupyter notebook 默认文件路径修改以及启动

    其实这个方法有时候不是特别有效额 方法一: 查了网上好多其他的方法,但是都没用,只好独辟蹊径了. 首先找到anaconda的安装路径,找到jupyter notebook,我的是如下: 发送快捷方式到 ...

  4. PyTorch数据加载处理

    PyTorch数据加载处理 PyTorch提供了许多工具来简化和希望数据加载,使代码更具可读性. 1.下载安装包 scikit-image:用于图像的IO和变换 pandas:用于更容易地进行csv解 ...

  5. TensorFlow实现多层感知机MINIST分类

    TensorFlow实现多层感知机MINIST分类 TensorFlow 支持自动求导,可以使用 TensorFlow 优化器来计算和使用梯度.使用梯度自动更新用变量定义的张量.本文将使用 Tenso ...

  6. Minkowski坐标管理

    Minkowski坐标管理 坐标键 classMinkowskiEngine.CoordsKey(D) __init__(D) 初始化self. See help(type(self))有关准确的签名 ...

  7. 3D点云深度学*

    3D点云深度学* 在自动驾驶中关于三维点云的深度学*方法应用.三维场景语义理解的方法以及对应的关键技术介绍. 1. 数据 但是对于3D点云,数据正在迅速增长.大有从2D向3D发展的趋势,比如在open ...

  8. springMVC源码解读笔记

    1: DispatcherServlet 的初始化流程(调用的init方法) a) 初始化spring高级容器,WebApplicationContext(容器初始化12个步骤) Servlet类的i ...

  9. UiPath中恢复依赖项失败的解决方法

    目录 序言 正文 什么是依赖包? 如何查看项目使用了哪些版本的依赖包? 一.项目内查看 二.查看项目的 JSON 文件 问题根源 解决方法 一.「等」字诀 二.切换网络环境(根治) 三.手动复制依赖包 ...

  10. Java中,一个存在十几年的bug...

    今天,分享一个JDK中令人惊讶的BUG,这个BUG的神奇之处在于,复现它的用例太简单了,人肉眼就能回答的问题,JDK中却存在了十几年.经过测试,我们发现从JDK8到14都存在这个问题. 大家可以在自己 ...