跳到主要內容

虛擬機檔案格式

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



完整佈建消極式歸零:如果你建立一個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 網路基本設定

這是Fortigate小台型號60D,他沒有一般的USB console port,所以我們要用mini USB搭配官方軟體FortiExplorer,軟體模擬console登入。



FortiExplorer可以到官方下載,http://www.fortinet.com.tw/resource_center/product_downloads.html 。

USB和軟體都安裝好插入之後他會自動開啟。



進入Command-line Interface,主要是看出廠預設的設定檔。

 edit "lan"
        set vdom "root"
        set ip 192.168.1.99 255.255.255.0
        set allowaccess ping https ssh http fgfm capwap
        set type switch
        set listen-forticlient-connection enable
        set snmp-index 10
    next

這說明了我們可以插在lan port然後透過192.168.1.99 web介面去管理。



設定192.168.1.0/24同網段,插在lan port上然後連https://192.168.1.99,預設帳號密碼是 admin 沒密碼。



先到Netwok Interface裡面編輯Wan1,就是跟我們小烏龜接的地方,這次範例是用PPPOE撥號連線。



輸入好Hinet提供的連線方式,按下OK,這裡要特別注意一個選項 Retrieve default gateway from server ,一定要打勾,他才會把PPPOE拿到的Default Gateway寫入路由表,不然會沒有Default Gateway可以到ISP。



確實拿到一個浮動IP 111.243.63.46。



這時候其實修改Software Switch lan的內部Default Gateway IP就可以了,但是我們仔細觀察一下。

Software Switch lan裡面的成員有 wifi 和 internal。
Hardware Switch internal裡面的成員有 internal1~ interna…

交換器Console的連線方法

如果我們要進去交換器打指令的話,通常都是使用console port。



購買產品的原廠通常都會送一條console線,Cisco和大多數廠商像是 D-link和Zyxel都通用,但是我有遇過Sonicwall 腳位不太一樣,所以不能通用,算是很少數。



舊的主機板後面都有 DB9 的母頭,所以Console線是 DB9 的公頭,插入就可以用了。



筆電因為沒有DB9的接頭,所以我們會買一條 RS232 轉 USB 線來用,就像現在超薄筆電很少有網路孔所以都是用USB轉網路孔。



所以最後接起來我們會拿到一條RJ45對USB的線。



接上筆電之後,要到裝置管理員找連接埠,如果看到驚嘆號的話表示沒有找到驅動程式,要到 RS232 轉 USB 的製造廠商的官網去下載安裝,我測過Win10的相容性已經很好了,通常都是隨插即用,COM數字多少是浮動的,所以每次要連線前最好先進來確認一下。



最後還要去看交換器連線 baud rate 多少,常見的為9600、57600、115200,不相同的話還是可以連,可是會出現亂碼。



連線軟體隨個人喜好,像PuTTY就是一款免費的軟體,有些人會偏好付費的SecureCRT,我們按照此設定連線。



測試連線成功了,我們終於可以打指令設定交換器。



COM不是只能同時有一個喔,像我為了要同時設定多台,我買了二個RS232一轉四COM的裝置,所以我可以開八個PuTTY來連線八台交換器。

Windows AD 架設

首先先改Windows Server 電腦名稱為DC01,然後重開機。



AD的架構是要透過DNS解析的,所以我們把慣用DNS伺服器指向自己 127.0.0.1 。



新增角色及功能精靈裡,點選Active Directory 網域服務。



安裝好之後點選伺服器管理員上方驚嘆號部屬後設定,來設定AD。



我們點選新增樹系,此範例的網域名稱為corpnet.lin0204.tw。



這裡可以看到因為AD的服務和DNS是綁在一起的,所以一定要安裝,DSRM是一個救援修復模式密碼可以給之後記起來,不太會用到。





NetBIOS 網域名稱預設是會取最左邊的單字,所以以此範例來說是 corpnet ,但不好識別,我們改成lin0204。





接下來就等安裝完成重開機。



我們這邊有一台用戶端電腦要加入網域,首先先把DNS指向DC01那台,不然沒辦法解析AD。



電腦名稱為PC01,加入到網域 corpnet.lin0204.tw。



加入網域必須要授權,我們給他administrator的密碼。



重開機之後,第一個畫面是登入 PC01\user 的密碼,這個是本機帳號,但我們要登入網域帳號,所以必須按切換使用者。



我們使用 netbios\帳號 的方式登入,所以是 lin0204\administrator 。



我們用指令 whoami 確定目前的電腦登入帳號為 lin0204\administrator ,並且此台用戶端電腦有加入網域。



我們回到DC01,然後使用工具,Active Directory 使用者和電腦工具。



加入網域的電腦預設會放在 Computers的容器(OU)裡,所以我們看到PC01。



網域控制站則會放在 Domain Controllers 的容器(OU)裡,所以我們看到有一台DC01。



我們前面有提到網域的架構和DNS是習習相關的,畢竟名稱解析都要靠DNS幫忙,所以加入網域的電腦名稱預設會自動登記在DNS裡,大家才解析的到。