虛擬機檔案格式

一般來說虛擬機建立的時候硬碟可以分成三種,



完整佈建消極式歸零:如果你建立一個40G的檔案,他會先把40G檔案建立起來,所以只要建立這台虛擬機,就會直接吃掉40G的空間。

完整佈建積極式歸零:如果你建立一個40G的檔案,他會先把40G檔案建立起來,所以只要建立這台虛擬機,就會直接吃掉40G的空間,但是與上面不同的是,他會把空間都先填0,所以建立起來會比較慢,但是效能最好。

精簡佈建:所以我們所說的用多少算多少,由於虛擬化就是資源共享,你虛擬機才用10G就要吃掉我的40G空間,所以一般都會建議選這個,建立虛擬機預設是完整佈建消極式歸零,所以建立的時候要注意。



果然我們建立其他虛擬機都是秒殺,但是建立完整佈建積極式歸零要花五分鐘。



我們拿精簡佈建虛擬機為範例,可以看到他虛擬機建立起來產生了三個檔案,.wmx、vmdk、wmsd。

就像陽光、空氣、水一樣只要有這三個檔案就可以開機了。



但是我們SSH進去ESXI好像發現第四個檔案,-flat.wmdk。

原因在於 vmdk 只是描述檔,他檔案本體卻是放在 -flat.wmdk,由於我們選擇是精簡佈建,用多少算多少,因此目前檔案大小為0。



如果去看完整佈建的檔案,沒有開機前他就產生40G了。

因此我們推論,想要成功開機虛擬機至少要包含.wmx、vmdk、wmsd 、-flat.wmdk,四個檔案。



但是我們開機之後檔案好像變多了,讓我們一一來看。

.vmx是虛擬機的描述檔,如何證明呢?



我們把虛擬機的磁片機裝置砍掉,然後就會發現vmx的檔案少了關於floppy檔案的描述,原來你當初給他的記憶體、CPU都是在描述檔寫的。

nvram:這個是bios的檔案,系統開機時會用vmx描述檔建立。

vmx.lck:這個檔案是防止虛擬機在被A主機開的時候,B主機還會去開,為什麼會有這種現象呢?因為現在都是共用的儲存空間,所以ESXI主機們有可能兩台去開同一台虛擬機,這個檔案只會在開機的時會候自動產生,因此如果發生不正常關機導致虛擬機開不起來,可以考慮砍掉這個檔案試試。

vmsd:這個是快照的描述檔,預設是空的,只有在建立快照的時候才會寫東西進去。

vswp:這個大小會剛好等於記憶體大小,所以我們記憶體設成4G,他就會產生一個4G的vswp,這個檔案是用來ESXI主機記憶體不夠的話,虛擬機會就使用到這塊,但是這是拿硬碟當記憶體,所以效能會非常差。

log:這個包含虛擬機開機的log,所以開不起來或當機,可以看一下這裡。

我們最常發生的就是客戶表示虛擬機開不起來,我們進去看才發現,客戶虛擬機配置32G記憶體,所以開機會產生一個32G的vswp檔案,但是他的空間只剩下30G,所以產生不了vswp檔案,當然也開不起來。



最後我們看一下虛擬機精簡佈建在安裝的時候確實 flat.vmdk檔案會越來越大。

結論:我們常說虛擬機的檔案是一包,但是這一包包含了哪些東西確實要注意,不然發生問題時候很難解決,我有發生客戶vmx檔案莫名其妙消失虛擬機無法開機,後來我們從備份中撈到之前的vmx檔,複製過去之後就成功開機了。








留言

  1. 你好我最近發現一個怪問題~~上面顯示我主機怖建空間900多G~~~但我開機只看到了480G左右~~這是什麼問題呢?後來主機就出現硬碟空間不夠無法開機?

    回覆刪除

張貼留言

這個網誌中的熱門文章

FortiGate 網路基本設定

Windows AD 架設

交換器Console的連線方法