
vmdk文件是一個虛擬機備份文件,是虛擬機系統的硬盤文件。
關于VMDK格式:
VMDK(VMWare Virtual Machine Disk Format)是虛擬機VMware創建的虛擬硬格式,文件存在于VMware文件系統中,被稱為VMFS(虛擬機文件系統)。
一個VMDK文件代表VMFS在虛擬機上的一個物理硬盤驅動。所有用戶數據和有關虛擬服務器的配置信息都存儲在VMDK文件中。
通常而言,VMDK文件容易比較大,例如:2TB大小的文件,描述為“大的、塊級I/O模式”。任何用戶數據變化或虛擬服務器配置變化,VMDK文件都要更新。由于VMDK沒有增量類型數據獲取功能,任何對文件的更改意味著整個文件需要重新備份。
機房linux操作系統的是虛擬機系統的硬盤所在目錄:
D:\VMware\Red Hat Linux 10.03\Red Hat Linux.vmdk
D:\VMware\Red Hat Linux 10.03\Red Hat Linux-s001.vmdk(使用DHCP服務器,需要安裝
這個文件)
D:\VMware\Red Hat Linux 10.03\Red Hat Linux-s002.vmdk
D:\VMware\Red Hat Linux 10.03\Red Hat Linux-s003.vmdk
? 創建vmdk文件:
vmware-vdiskmanager是VMwareWorkstation軟件包里的一個軟件,它能夠增大虛擬磁盤大小、改變虛擬磁盤的類型、創建虛擬磁盤、磁盤碎片整理虛擬磁盤、和收縮虛擬磁盤。
【命令語法】
vmware-vdiskmanager [選項] <磁盤名稱>
VMware Virtual Disk Manager - build 44356.
Usage: vmware-vdiskmanager [選項] <磁盤名稱>
<diskname>
虛擬磁盤文件的名字。
#虛擬磁盤文件必須是.vmdk為擴展名。你能夠指定一個你想要儲存的虛擬磁盤文件的路徑。如果你在你的宿主機中映射了網絡共享,你也可以提供確切的虛擬磁盤文件的路徑信息來創建虛擬磁盤在這個網絡共享中。
-c
創建虛擬磁盤。
#你必須用-a, -s 和 -t 并指定選項參數,然后你需要指定所要創建的虛擬磁盤文件的文件名。
-r <sourcediskname>
轉換已經指定類型的虛擬磁盤的類型。
#結果會輸出創建一個新的虛擬磁盤。你必須用-t選項來指定你想要轉換成的磁盤類型,并且指定目標虛擬磁盤的文件名。
#一旦轉換完成,你可以先測試虛擬磁盤以確保它能夠像你所希望的那樣工作,然后再刪除原來的那個虛擬磁盤文件。
#為了讓虛擬機重新認識轉換后的虛擬磁盤,你應該使用虛擬機設置編輯器先從虛擬機中移除先前存在的虛擬磁盤,然后添加轉換好的虛擬磁盤給虛機。
-x <n>[GB|MB] <diskname>
增大虛擬磁盤到指定的容量。你必須指定新的更大尺寸的虛擬磁盤用GB或MB單位標示。你不能改變物理磁盤的大小。
#在你運行虛擬磁盤管理軟件前,你應該先備份虛擬磁盤文件。因為vmware-vdiskmanager會向你的虛擬機配置文件里面寫入新配置
-d <diskname>
對指定的虛擬磁盤碎片整理。
#你只能磁盤碎片整理可增長的虛擬磁盤。你不能磁盤碎片整理預分配的虛擬磁盤。
-p <mountpoint>
為收縮磁盤做準備處理。
#如果虛擬磁盤被分成多個分區,每個分區必須被單獨準備。分區(比如/email或/storage)必須用VMware DiskMount工具映射。
#在你對分區準備處理后,解除對此分區的映射。繼續映射虛擬磁盤的其他每個分區,為收縮磁盤作準備處理直到完成虛擬磁盤上的所有分區的準備工作。
#你在同一時刻只能用VMware DiskMount映射虛擬磁盤的一個分區。你僅僅能在宿主機上進行虛擬磁盤的收縮分區準備工作。
-k <diskname>
收縮指定的虛擬磁盤。你只能夠收縮可增長磁盤。你只能在宿主機中用這種方法收縮虛擬磁盤。
#你不能夠收縮有虛擬機快照的虛擬磁盤。你可以保持現有虛擬磁盤的狀態,而用快照管理
器刪除所有快照。你也可以放棄自快照以來對虛擬磁盤所做的更改,恢復到快照時狀態。
-a [ ide | buslogic | lsilogic ]
指定磁盤適配器的類型。你在創建新的虛擬磁盤時必須指定其類型。
#選擇以下類型之一:
#ide —— IDE接口適配器
#buslogic —— BusLogic SCSI接口適配器
#lsilogic —— LSI Logic SCSI接口適配器GB或MB做單位。你必須在創建磁盤時指定其大小。
#盡管你必須指定虛擬磁盤的大小,但當你增長它的大小時,你不能用-s可以指定的磁盤大小規定:IDE和SCSI適配器都為最小100MB,最大950GB。
-t [0|1|2|3]
你在創建一個新的虛擬磁盤或者重新配置一個虛擬磁盤時必須指定虛擬磁盤的類型。
#指定以下類型之一:
#0 —— 創建一個包含在單一虛擬文件中的可增長虛擬磁盤
#1 —— 創建一個被分割為每個文件2GB大小的可增長虛擬磁盤
#2 —— 創建一個包含在單一虛擬文件中的預分配虛擬磁盤
#3 —— 創建一個被分割為每個文件2GB大小的預分配虛擬磁盤
-q
禁止虛擬磁盤管理程序寫日志
#如果你允許記錄日志,日志將會被虛擬磁盤管理程序產生并儲存。在虛擬磁盤管理程序運行后,日志的名字和存放位置將會出現在命令行或終端中。
-n <source-disk>
重命名指定的虛擬磁盤。需要指定命名后的虛擬磁盤名字。
為了幫助大家理解,下面舉幾個例子:
vmware-vdiskmanager -c -s 850Mb -a ide -t 0 myIdeDisk.vmdk
創建一個名稱為myIdeDisk的大小為850Mb的IDE接口的在一個虛擬機文件中的可增長的磁盤
vmware-vdiskmanager -d myDisk.vmdk
對myDisk進行碎片整理
vmware-vdiskmanager -r sourceDisk.vmdk -t 0 destinationDisk.vmdk
將sourceDisk轉換成在一個虛擬機文件中的可增長的磁盤,并命名為destinationDisk
vmware-vdiskmanager -x 36Gb myDisk.vmdk
將磁盤myDisk增大至36G
vmware-vdiskmanager -n sourceName.vmdk destinationName.vmdk
將磁盤sourceName改名為destinationName
如果在添加共享磁盤后發現只有一臺機器能啟動,另外一臺因為不能打開共享磁盤文件而不能啟動的時候,需要對配置文件進行修改:
分別打開兩臺虛擬機目錄中的vmx文件,在最后一行添加:
disk.locking="FALSE"
scsi0:1.SharedBus="Virtual"
scsi1:1.SharedBus="Virtual"
系統啟動的時候會鎖定磁盤,所以當啟動linux1后共享磁盤被鎖定了,linux2就起不來了,因此需要加入disk.locking = "fal"。
一般來說,如果是scsi1:0,則n為1,也就是scsi1.sharedBus = "virtual" ,表示所有的bus都共享,vmare推薦這種做法。
如果說是不是所有的bus都共享的話,可以將上述scsi1.sharedBus = "virtual"改成scsi1:1.shared = "true" 。
? 安裝vmdk文件:
安裝好VMWare后,軟件自帶一個vmware-mount程序,該程序可以在宿主機(真機)上直接加載vmdk文件(也就是虛擬機用的硬盤文件),這樣的話,我們就可以直接在宿主機上直接使用虛擬機里的文件了。
進入vmware-mount所在的路徑,如“C:\Program Files\VMware\VMware DiskMount Utility”,當然,具體路徑要看你安裝好的路徑了:
在運行中輸入cmd
在彈出的窗口中,輸入以下內容
C:\Documents and Settings\Administrator>cd "C:\Program Files\VMware\VMware DiskMount Utility"
C:\Program Files\VMware\VMware DiskMount Utility>dir
C:\Program Files\VMware\VMware DiskMount Utility>dir
驅動器 C 中的卷沒有標簽。
卷的序列號是 60B8-1F57
C:\Program Files\VMware\VMware DiskMount Utility 的目
2011-05-04 09:32 <DIR> .
2011-05-04 09:32 <DIR> ..
2005-11-18 13:54 1,220,608 vmware-mount.e
2003-02-21 04:42 348,160 msvcr71.dll
2003-03-18 20:14 499,712 msvcp71.dll
2005-11-18 13:54 827,392 libeay32.dll
2005-11-18 13:54 159,744 ssleay32.dll
5 個文件 3,055,616 字節
2 個目錄 4,435,599,360 可用字節
輸入以下內容
C:\Program Files\VMware\VMware DiskMount Utility>vmware-mount /?