[VMware] 處理 ESXi 上的虛擬機器 vmdk 無可用空間的問題
今天一到公司,就發現我在 Lab 裡的一台虛擬機器 (VM) 連不上。
Ping 不通,但可以連到其他台在 Lab 裡的機器,
所以應該只有這台虛擬機器掛了?
到管理這台虛擬機器的 ESXi 上面瞧瞧 (我是透過 vCenter)…
虛擬機器的摘要 (Summary) 這邊,列出一個警告,說:
虛擬磁碟 xxx.vmdk 上無可用空間。您可透過釋放相關磁碟區的磁碟空間,
然後按一下「重試」,繼續此工作階段。
按一下「取消」終止此工作階段。
看來是磁碟空間滿了…
如果點下「回答問題」的連結,會跳出如下的視窗,
問你是要重試或者是取消工作階段。
如果點下了又暫時不想回答,沒有按鈕可以退出,
我是按下 ESC 鍵才能關掉這畫面:
這邊說的磁碟空間滿了,
猜測指的是 ESXi 上磁碟空間不足,沒辦法讓 vmdk 繼續長大,
而不是說虛擬機器裡的磁碟滿了 (完全不同涵義)?
用 SSH 連進 ESXi 機器,
進到 /vmfs/volumes/<datastore name>/<VM name> 目錄,看一下目前狀況…
看起來這個虛擬機器的硬碟被設定成 Thick provision (完整佈建),
一個 flat.vmdk 就直接占了 500 GB,
另外還有一個 delta.vmdk 存的是與上次快照 (snapshot) 的差異磁碟,
目前來到了 183 GB:
理論上 flat.vmdk 應該是不會再長大,
所以可能是 VM 裡面在寫東西時,需要擴張 delta.vmdk,
但因為 ESXi 磁碟空間已滿,所以將 VM 暫停了…
刪除了幾個沒在用的 VM,另外也刪了這個 VM,
重新建立成 Thin provision (精簡佈建) 的磁碟,
這樣就不會一開始就占用那麼大的空間了~
要刪除這個暫停中的 VM,得去剛剛的「回答問題」連結中,
按下「取消」工作階段的按鈕,才能將 VM 關機,
也才能將 VM 刪除囉~