從命令行創建 XenServer VM
我有一個問題,我無法理解如何從命令行創建 XenServer 虛擬機。
我已經在一個未使用的 Tower 設備上安裝了 XenServer,並且目前從我的 Mac 上通過 SSH 連接到它。我選擇這樣做是因為 XenCenter 不能在它上面執行,而且我的項目要求我從命令行執行整個系統,但是在花費大量時間在 Internet 上搜尋有關如何操作的答案之後創建虛擬機時,我似乎一個接一個地偶然發現了相同的、無資訊的腳本。
我知道為了創建一個虛擬機,你執行這個命令來改變
<template-name>
, 並且<vm-name>
適當地:xe vm-install template=<template-name> new-name-label=<vm-name>
同樣,由於我對 XenServer 還很陌生,我什至不確定這些需要更改為什麼。
除此之外,我沒有設置或創建模板,並且想知道我將如何做到這一點。我希望會有一個神奇的命令,比如
xe template-new
或類似的東西,但我找不到。我對Docker很熟悉,所以想知道創建VM模板的過程是否類似於創建容器鏡像?如果我執行上述命令 (
xe vm-install...
),我會收到以下輸出,如果我替換"Ubuntu 14.04 (64-bit)"
為模板名稱和"Ubuntu"
標籤:Error: No templates matched
我認為這可能是因為我沒有設置模板,並想知道我是否可以通過創建 NFS VHD 儲存設備來做到這一點?
我再次嘗試通過命令行執行此操作,但搜尋了網際網路,但找不到任何關於我將如何執行此操作的資訊?
我很困惑,因為 XenServer 相當強大,但我決心了解如何直接從命令行創建 VM。
為了幫助任何回答的人,我在下麵包含了我的伺服器的詳細資訊:
XenServer 主機名:
xenserver-hxcwfafr-OliCallaghanXen
XenServer IP 地址:
192.168.0.23
非常感謝您的時間,並為我可能的無知道歉。
它是
好的,所以最終我找到了我面臨的問題的答案。事實證明,我一定是安裝了損壞的 XenServer,在再次下載 .iso 並重新安裝後,我發現通過執行
xe template-list
輸出一長串有用的模板。我必須跨越的下一個障礙是在 PV 模式下執行 VM,因為我使用的塔式單元不支持 HVM。實際上,所有 32 位 Linux 發行版都與 PV 開箱即用兼容(根據經驗,任何舊版本都兼容,例如 Ubuntu 12.04 和 10.Whatever 32 位;Debian Squeeze 和 Wheezy 32 位),因此您可以使用以下命令以完全相同的方式啟動 VM:
xe sr-list
輸出儲存庫列表;’ext’ 類型的儲存庫 ’local storage’ 為我提供了一個可以分別儲存每個 VM 磁碟的位置。
xe template-list
輸出 XenServer 主機上可訪問的模板列表。
xe vm-install template=<template> new-name-label=<name_for_vm> sr-uuid=<storage_repository_uuid>
將基於模板的虛擬機“安裝”到機器上,但此時沒有實際安裝。然後在控制台中輸出 VM 的 UUID。通過執行該命令xe vm-list
,您可以看到目前安裝在主機上的虛擬機列表,顯示每個虛擬機的 UUID 及其目前狀態。
xe network-list bridge=xenbr0 --minimal
輸出橋的 UUID,xenbr0
這是全新安裝 XenServer 的預設橋。如果您使用不同的網橋或想要將 VM 連接到不同的適配器,則可以在適當的位置定義不同的名稱(但是您需要確保首先創建了一個 :P)。
xe vif-create vm-uuid=<vm_uuid> network-uuid=<network_uuid> mac=random device=0
使用隨機 MAC 地址為 VM 創建一個虛擬網路介面。
xe vm-param-set uuid=<vm_uuid> other-config:install-repository=<http://server/redhat/5.0>
定義作業系統的網路安裝程序的安裝位置。就個人而言,我發現通過在網際網路上搜尋特定作業系統的鏡像,我能夠找到鏡像。然後,我沒有猜測安裝儲存庫是什麼,而是搜尋了儲存庫,直到找到標xen
有其中vmlinuz
包含的文件的文件夾。我複制了這個地址,然後執行xe vm-start uuid=<vm_uuid>
接收到 URL 不正確的錯誤。在此 URL 中,其中一些將重複,因此請刪除重複的部分並xe vm-param-set ...
再次執行“”命令。對於 Ubuntu 12.04,我使用的鏡像是http://http://archive.ubuntu.com/ubuntu/dists/precise-updates/
.
xe vm-start uuid=<vm_uuid>
將打開虛擬機電源並啟動。這個過程將花費相當長的時間,因為它實際上會下載安裝程序,但實際上它應該只需要大約 2 分鐘。恭喜!您已經在垃圾的非 HVM 塔式單元上啟動了自己的 VM,但下一步是實際連接到它。
為了連接,執行命令
xe console uuid=<vm_uuid>
。這將彈出一個對話框,說明您已連接到 VM 的控制台。我第一次嘗試這個時,沒有收到任何輸出,並且很困惑,但是快速敲擊輸入鍵將其整理出來,然後開始設置。如果您在設置 VM 方面需要更多幫助,Citrix 的網站http://docs.vmd.citrix.com/XenServer/5.0.0/1.0/en_gb/guest.html上有一個很好的文件來解釋該過程相當徹底(但也不是很簡單)。
我真誠地希望這已經清除了在非 HVM 機器上啟動 VM 的過程,並且這實際上變得相當有用。
祝你好運,試圖讓安裝程序連接到網際網路……(可能只是我在 VirtualBox 中執行),Oli。