標籤:
最近請同事幫忙在ESXi建了一台虛擬機器。安裝完成後發現虛擬機器名字打錯了,那“虛擬機器如何重新命名?”
試一試
開啟vSphere Client先將虛擬機器關機再Remove from Inventory,再開啟 Datastore Browser將檔案夾及相關檔案重新命名。修改*.vmdk時出現如下資訊
看來不能通過這個方式來修改*.vmdk檔案,問了下度娘跟bing,找到了些資料。然後做了下面這些動作。
其中看來最重要的檔案是*.vmdk檔案及*.vmx,其他可以刪除掉咯,然後使用vmkfstools -E OldName.vmdk NewName.vmdk指令
要手動重新命名虛擬機器的檔案,請執行以下操作:
- 登入到 VMware vSphere Client。
- 在主機清單中尋找虛擬機器。
- 關閉虛擬機器電源。
- 按右鍵虛擬機器,然後單擊從清單中移除。
- 開啟 ESXi/ESX 主機的控制台。有關詳細資料,請參見無法使用安全 Shell (SSH) 串連 ESX 主機 (1003807) (Unable to connect to an ESX host using Secure Shell (SSH) (1003807)) 或在 ESXi 4.1 和 ESXi 5.x 中使用支援人員模式 (1017910) (Using Tech Support Mode in ESXi 4.1 and ESXi 5.x (1017910))。/*我是用PuTTY連上ESXi主機*/
- 導航到包含虛擬機器的目錄。例如:
# cd /vmfs/volumes/DatastoreName/originalname
- 使用 vmkfstools -E 命令重新命名虛擬磁碟 (VMDK) 檔案。有關詳細資料,請參見通過 vSphere Management Assistant (vMA) 或 vSphere CLI (vCLI) 重新命名虛擬機器磁碟 (VMDK) (1002491) (Renaming a virtual machine disk (VMDK) via the vSphere Management Assistant (vMA) or vSphere CLI (vCLI) (1002491))。
# vmkfstools -E "originalname.vmdk" "newname.vmdk"
注意:
- 在某些情況下,可能需要複製(複製)虛擬磁碟。要將虛擬磁碟複製到新虛擬磁碟,請運行此命令:
# vmkfstools -i "originalname.vmdk" "newname.vmdk"
此命令不會影響原始虛擬磁碟。需要具有足夠的可用空間,才能在目標目錄中複製虛擬磁碟。如果使用上述命令,則會在目前的目錄中建立新的虛擬磁碟,但可以指定另一個目錄。
- 在運行 vmkfstools 命令後,無需重新命名 originalname-flat.vmdk 檔案。vmkfstools 命令將重新命名這兩個 VMDK 檔案,並將更新描述符中的引用。
- 不要使用 cp 或 mv 命令重新命名虛擬磁碟檔案。而是使用 VMware 公用程式,如 vmkfstools。
- 使用以下命令複製虛擬機器組態檔 (.vmx):
# cp "originalname.vmx" "newname.vmx"
- 在文字編輯器中開啟新的虛擬機器組態檔(例如,newname.vmx)。有關詳細資料,請參見在 VMware ESXi 和 ESX 中編輯設定檔 (1017022) (Editing configuration files in VMware ESXi and ESX (1017022))。
例如:
# vi "newname.vmx"
- 在設定檔內,將虛擬機器的檔案名稱的所有舊執行個體修改為新的檔案名稱。至少要修改以下值(可能存在更多值):
nvram = " newname.nvram"
displayName = " newname "
extendedConfigFile = " newname .vmxf"
scsi0:0.fileName = " newname .vmdk"
[...]
migrate.hostlog = "./ newname -UUID.hlog"
對每個虛擬機器磁碟重複此過程。例如:
scsi0:1.fileName = " newname _1.vmdk"
scsi0:2.fileName = " newname _2.vmdk"
更正 VMkernel 分頁檔引用。例如:
sched.swap.derivedName = "/vmfs/volumes/DatastoreUUID/ newname/ newname-UUID.vswp
注意:確保重新命名 .vswp 檔案以及該分頁檔的目錄名(上文中的粗體部分)。
- 更正引用原始路徑或檔案名稱的任何其餘行。
- 儲存檔案並退出編輯器。
- 將其餘所有檔案(.vmx 設定檔除外)重新命名為新名稱。
例如:
# mv "originalname.nvram" "newname.nvram"
- 將目錄切換到父級目錄:
# cd ..
- 重新命名虛擬機器的目錄:
# mv "originalname" "newname"
- 使用 VMware vSphere Client 瀏覽資料存放區並導航到已重新命名的虛擬機器目錄。
- 按右鍵虛擬機器的新設定檔(例如 newname.vmx)並選擇添加到清單。
或者,可以使用此命令將虛擬機器添加到清單中:
對於 ESX:
# vmware-cmd -s register "/vmfs/volumes/DatastoreName/newname/newname.vmx"
對於 ESXi:
# vim-cmd solo/registervm /vmfs/volumes/DatastoreName/newname/newname.vmx
- 啟動虛擬機器。
- 在開啟電源期間,摘要選項卡中將顯示一個針對虛擬機器的問題。採用以下方式查看該問題:
- 單擊摘要選項卡。
- 按右鍵清單中的虛擬機器並選擇回答問題。
出現提示時,選擇我移動了它,然後單擊確定。
警告:如果選擇我複製了它,將更改虛擬機器的 UUID 和 MAC 位址,對於對 MAC 位址變化敏感的客戶機應用程式以及依賴於 UUID 的虛擬機器備份,這將產生不利影響。
- 也可以選擇刪除原始虛擬機器組態檔。
例如:
# rm /vmfs/volumes/DatastoreName/newname/originalname.vmx
參考:
重新命名 VMware ESXi/ESX 中的虛擬機器及其檔案 (2076170)
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2076170
Renaming a virtual machine disk (VMDK) via the vSphere Management Assistant (vMA) or vSphere CLI (vCLI) (1002491)
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1002491
虛擬機器重新命名