ESXi 切換直通導致無法識別硬盤解決


在解決虛機掛載U盤的過程中(已經處理了:V Mware中的虛機如何掛載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
 
感謝一下幾位博主的貢獻,吸取的就是他們的精華
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM