內網esxi磁盤空間不足導致虛擬機宕機


內網esxi磁盤空間不足導致虛擬機宕機

一、問題引入

  周一上班的時候,發現公司內網的戴爾服務器上(前人裝的ESXi系統,里面有很多個虛擬機),好幾個虛擬機異常關機了。點擊重新開機,有以下報錯提示:

選Retry是沒用的,選Cancel,才有可能開機,為啥叫可能,因為有一些空間占用多的虛擬機不一定能開機,會一直重復這種報錯。

 

二、問題研究及解決

  檢查ESXi 主機上的磁盤空間,1.81TB的空間只剩13.21GB了。然后不由得想起上周一直忙k8s版本的升級(從1.10一步步升級打怪到1.19),不停地打快照保存測試好的版本,以防萬一恢復環境。

     刪掉快照,是最不用動腦子且快速的解決方法!

  然而,效果並不理想(釋放的空間並不多),雖然已能確保所有虛擬機器都能啟動起來,但無疑為將來埋下地雷,只能干吧~~從根源解決問題。

  公司是用VMware-Sphere虛擬化平台去管理虛擬機的。這個平台可以開啟esxi 的 ssh連接,具體大家可以百度下。我是通過某台同網段的虛擬機ssh跳過去的,因為不知道為啥,CRT直接輸入連接信息,一直不讓連,說要提供密鑰文件。

  連上去看到的磁盤空間確實剩余不多

  

   關於vmware的問題,老實說,找到的國人可參考文章非常少,所以開了個網易詞典,不斷看翻譯了解怎么釋放虛擬磁盤空間。

         這篇文章是比較靠譜的,什么原理和解決方法都說了:

 

  但到了這一步,可能是我理解能力有問題。遇到一些坑:手賤滴試過刪掉這行描述,也改過容量大小,然后莫名其妙不見了vmx文件,只能新建虛擬機讀原磁盤目錄,發現起不來,最終報廢了我的一台愛機(裝了個寶塔+mysql5.7),幸好我早就做好這機器得為革命事業奉獻的准備。不然不處理,以后也是一大禍患!像這樣

 

  問題解決:

   死了一台愛機,只能重建一台全新的linux機器進行測試,裝了個nginx,然后上傳了一個測試文件(最大限度模擬其他虛擬機環境)

  首先需要關機,不然會給你提示:Failed to lock the file (16392) 【愛機生前最后一張遺照= =,紀念下它為人類革命奉獻了生命】

 

 最終問題解決,還需要結合這篇文章進行參考(比較詳細):http://blog.faq-book.com/?p=6141

下面這個是我新建的機器:test-0413,給了40G硬盤空間,厚置備延遲置零

整個虛擬機目錄文件如下:

 

1、備份文件:test-0413.vmx(非必要)
之前就是因為這個文件沒了,導致我的愛機犧牲,所以以防萬一。
cp  test-0413.vmx  /tmp/
 
2、硬盤格式Thick 轉換成Thin:
vmkfstools -i test-0413.vmdk -d thin test-0413_new.vmdk

 

對比下效果圖:

 

原來thick硬盤40G:

 

 

3、修改原本 Thick 格式的 test-0413.vmdk 和 test-0413-flat.vmdk 檔案名稱

~ # mv test-0413.vmdk  test-0413.vmdk-thick.vmdk
~ # mv test-0413-flat.vmdk  test-0413-flat-thick.vmdk 
4、再來修改轉換后 Thin 格式的 test-0413_new.vmdk 和 test-0413_new-flat.vmdk 檔案名稱
~ # mv test-0413_new.vmdk test-0413.vmdk
~ # mv test-0413_new-flat.vmdk test-0413-flat.vmdk
5、修改文件:vi test-0413.vmdk
修改 # Extent description 名稱,其他保留,不要添加或刪除任何東西!!!
RW 后面這個大小:83886080,是在源文件:test-0413.vmdk 上標有的,改了大小反而起不來
(第3步已改名為:test-0413.vmdk-thick.vmdk)
。。。
# Extent description
RW 83886080 VMFS "test-0413-flat.vmdk"
。。。

 6、驗證一致性:

vmkfstools -e test-0413.vmdk
 
 
7、開機正常后,刪除thick格式的檔案
rm -rf test-0413-flat-thick.vmdk test-0413.vmdk-thick.vmdk
 
 最終效果圖:

 

 

 

 

 

 


免責聲明!

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



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