在VMware創建共享磁盤
做windows 2003 羣集的實驗,需要模擬兩臺主機和一個共享存儲。在VMWare裏面可以使用vmware-vdiskmanager工具來創建一塊或 幾塊共享磁盤來模擬共享存儲。
下面簡單介紹一下vmware-vdiskmanager的使用方法:
vmware-vdiskmanager
命令語法:
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接口適配器
-s <n> [GB|MB]
指定虛擬磁盤的大小。確定大小用GB或MB做單位。你必須在創建磁盤時指定其大小。
#儘管你必須指定虛擬磁盤的大小,但當你增長它的大小時,你不能用-s這個選項。
#可以指定的磁盤大小規定:IDE和SCSI適配器都爲最小100MB,最大950GB。
-t [0|1|2|3]
你在創建一個新的虛擬磁盤或者重新配置一個虛擬磁盤時必須指定虛擬磁盤的類型。
#指定以下類型之一:
#0 —— 創建一個包含在單一虛擬文件中的可增長虛擬磁盤
#1 —— 創建一個被分割爲每個文件2GB大小的可增長虛擬磁盤
#2 —— 創建一個包含在單一虛擬文件中的預分配虛擬磁盤
#3 —— 創建一個被分割爲每個文件2GB大小的預分配虛擬磁盤
-q
禁止虛擬磁盤管理程序寫日誌
#如果你允許記錄日誌,日誌將會被虛擬磁盤管理程序產生並儲存。在虛擬磁盤管理程序運行後,日誌的名字和存放位置將會出現在命令行或終端中。
-n <source-disk>
重命名指定的虛擬磁盤。需要指定命名後的虛擬磁盤名字。
命令語法:
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接口適配器
-s <n> [GB|MB]
指定虛擬磁盤的大小。確定大小用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
創建一個名稱爲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
2008年10月24日更新:
如果在添加共享磁盤後發現只有一臺機器能啓動,另外一臺因爲 不能打開共享磁盤文件而不能啓動的時候,需要對配置文件進行修改:
分別打開兩臺虛擬機目錄中的vmx文件,在最後一行添加:
disk.locking="FALSE"
scsi0:1.SharedBus="Virtual"
scsi1:1.SharedBus="Virtual"
系統啓 動的時候會鎖定磁盤,所以當啓動linux1後共享磁盤被鎖定了,linux2就起不來了,因此需要加入disk.locking = "false"。
一 般來說,如果是scsi1:0,則n爲1,也就是scsi1.sharedBus = "virtual" ,表示所有的bus都共享,vmare推薦這種做法。
如果說是不是所有的bus都共享的話,可以將上述scsi1.sharedBus = "virtual"改成scsi1:1.shared = "true" 。
disk.locking="FALSE"
scsi0:1.SharedBus="Virtual"
scsi1:1.SharedBus="Virtual"
系統啓 動的時候會鎖定磁盤,所以當啓動linux1後共享磁盤被鎖定了,linux2就起不來了,因此需要加入disk.locking = "false"。
一 般來說,如果是scsi1:0,則n爲1,也就是scsi1.sharedBus = "virtual" ,表示所有的bus都共享,vmare推薦這種做法。
如果說是不是所有的bus都共享的話,可以將上述scsi1.sharedBus = "virtual"改成scsi1:1.shared = "true" 。