新聞中心
錯(cuò)誤描述
在vSphere上,一次重啟虛擬服務(wù)器時(shí)出現(xiàn)啟動(dòng)不了,提示找不到vmdk虛擬磁盤文件

創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);可快速的進(jìn)行網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,是專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
原因分析
查看這臺(tái)虛擬服務(wù)器的摘要信息,對(duì)比datastore上其他可用的虛擬機(jī),發(fā)現(xiàn)損壞的服務(wù)器上確實(shí)缺少一個(gè)vmdk磁盤文件,但是可以看見(jiàn)一個(gè)50G的xxx-flat.vmdk文件;而正常的服務(wù)器只有xxx.vmdk,沒(méi)有xxx-flat.vmdk,關(guān)機(jī)之后兩個(gè)文件都存在,而且真實(shí)的磁盤容量從vmdk轉(zhuǎn)移到了xxx-flat.vmdk。
虛擬主機(jī)在運(yùn)行的時(shí)候,實(shí)際在使用的是xxx-flat.vmdk,然而xxx.vmdk是可以同時(shí)被刪除的,才導(dǎo)致了問(wèn)題。
這里需要說(shuō)明,虛擬機(jī)的每個(gè)磁盤驅(qū)動(dòng)器都包含了一對(duì).vmdk文件。一個(gè)是文本文件,包含了關(guān)于虛擬硬盤的描述數(shù)據(jù);另外一個(gè)是磁盤的實(shí)際內(nèi)容。例如,一個(gè)名為examplevm的虛擬機(jī)連接有一個(gè)硬盤。這個(gè)磁盤由如下兩個(gè)文件構(gòu)成:一個(gè)小于 1KB 的examplevm.vmdk描述文件和一個(gè)10GB大小的examplevm- flat.vmdk平面(數(shù)據(jù))文件,該文件包含虛擬機(jī)的實(shí)際數(shù)據(jù),而這些數(shù)據(jù)又是以二進(jìn)制的形式存放在物理磁盤上,examplevm.vmdk描述文件就是描述這種映射關(guān)系的。.
解決辦法
\1) 用ssh登錄vsphere主機(jī),查找xxx-flat.vmdk文件所在的位置以及目錄,并記錄文件的大小
~ # find / -name "新建虛擬機(jī)-flat.vmdk"
/vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虛擬機(jī)/新建虛擬機(jī)-flat.vmdk
~ # ls -l /vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虛擬機(jī)/新建虛擬機(jī)-flat.vmdk
-rw------- 1 root root 53687091200 Apr 16 09:13 /vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虛擬機(jī)/新建虛擬機(jī)-flat.vmdk
注意,ESXi5默認(rèn)沒(méi)有開(kāi)啟ssh,需要通過(guò)vsphere client登錄服務(wù)器,【配置】【安全配置文件】【服務(wù)-屬性】手動(dòng)開(kāi)啟。
\2) 重命名xxx-flat.vmdk文件
~# cd /vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虛擬機(jī)/
/vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虛擬機(jī)_1 # mv 新建虛擬機(jī)-flat.vmdk tmp_新建虛擬機(jī)-flat.vmdk
/vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虛擬機(jī) # ls -la
drwxr-xr-x 1 root root 1680 Apr 21 05:47 .
drwxr-xr-t 1 root root 2660 Apr 18 03:16 ..
-rw-r--r-- 1 root root 102076 Apr 18 10:05 vmware.log
-rw------- 1 root root 96468992 Apr 18 05:43 vmx-新建虛擬機(jī)-578288005-1.vswp
-rw------- 1 root root 2147483648 Apr 18 05:43 新建虛擬機(jī)-2277f985.vswp
-rw------- 1 root root 53687091200 Apr 21 05:47 新建虛擬機(jī)-flat.vmdk
-rw------- 1 root root 8684 Apr 21 05:47 新建虛擬機(jī).nvram
-rw------- 1 root root 503 Apr 18 05:44 新建虛擬機(jī).vmdk
-rw-r--r-- 1 root root 0 Apr 16 09:13 新建虛擬機(jī).vmsd
-rwxr-xr-- 1 root root 3690 Apr 18 05:43 新建虛擬機(jī).vmx
-rw------- 1 root root 0 Apr 18 05:43 新建虛擬機(jī).vmx.lck
-rwxr-xr-- 1 root root 3690 Apr 18 05:43 新建虛擬機(jī).vmx~
\3) 在虛擬機(jī)目錄下創(chuàng)建xxx.vmdk文件,大小要和xxx-flat.vmdk一樣大
/vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虛擬機(jī) # vmkfstools -c 53687091200 -a lsilogic 新建虛擬機(jī).vmdk
Create: 100% done.
/vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虛擬機(jī) # ls -la *vmdk
-rw------- 1 root root 53687091200 Apr 21 05:49 新建虛擬機(jī)-flat.vmdk
-rw------- 1 root root 503 Apr 18 05:44 新建虛擬機(jī).vmdk
\4) 將原來(lái)的(tmp_)xxx-flat.vmdk覆蓋掉剛創(chuàng)建的同樣大小的xxx-flat.vmdk
/vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虛擬機(jī) # mv tmp_新建虛擬機(jī)-flat.vmdk 新建虛擬機(jī)-flat.vmdk
重命名操作很快完成,啟動(dòng)虛擬機(jī)既可以恢復(fù)。(改完名后新建虛擬機(jī)-flat.vmdk文件就不見(jiàn)了)
總結(jié)
相比重新創(chuàng)建一個(gè)同名虛擬機(jī),然后mv原來(lái)的xxx-flat.vmdk硬盤文件到新的虛擬機(jī),更節(jié)省時(shí)間;此外也無(wú)需再次配置網(wǎng)卡地址。
xxx.vmdk本身是一個(gè)不到1k的文本文件,通過(guò)vi編輯查看可知真正存放數(shù)據(jù)的是xxx-flat.vmdk磁盤文件,所以只要這個(gè)文件還存在,就可以恢復(fù)。
本文標(biāo)題:通過(guò)-flat.vmdk恢復(fù)ESXI虛擬機(jī)的vmdk文件
轉(zhuǎn)載來(lái)源:http://www.5511xx.com/article/cdocise.html


咨詢
建站咨詢
