Virtualization

從命令行創建 XenServer VM

  • August 22, 2016

我有一個問題,我無法理解如何從命令行創建 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=&lt;vm_uuid&gt; other-config:install-repository=<http://server/redhat/5.0>定義作業系統的網路安裝程序的安裝位置。就個人而言,我發現通過在網際網路上搜尋特定作業系統的鏡像,我能夠找到鏡像。然後,我沒有猜測安裝儲存庫是什麼,而是搜尋了儲存庫,直到找到標xen有其中vmlinuz包含的文件的文件夾。我複制了這個地址,然後執行xe vm-start uuid=&lt;vm_uuid&gt;接收到 URL 不正確的錯誤。在此 URL 中,其中一些將重複,因此請刪除重複的部分並xe vm-param-set ...再次執行“”命令。對於 Ubuntu 12.04,我使用的鏡像是http://http://archive.ubuntu.com/ubuntu/dists/precise-updates/.

xe vm-start uuid=&lt;vm_uuid&gt;將打開虛擬機電源並啟動。這個過程將花費相當長的時間,因為它實際上會下載安裝程序,但實際上它應該只需要大約 2 分鐘。

恭喜!您已經在垃圾的非 HVM 塔式單元上啟動了自己的 VM,但下一步是實際連接到它。

為了連接,執行命令xe console uuid=&lt;vm_uuid&gt;。這將彈出一個對話框,說明您已連接到 VM 的控制台。我第一次嘗試這個時,沒有收到任何輸出,並且很困惑,但是快速敲擊輸入鍵將其整理出來,然後開始設置。

如果您在設置 VM 方面需要更多幫助,Citrix 的網站http://docs.vmd.citrix.com/XenServer/5.0.0/1.0/en_gb/guest.html上有一個很好的文件來解釋該過程相當徹底(但也不是很簡單)。

我真誠地希望這已經清除了在非 HVM 機器上啟動 VM 的過程,並且這實際上變得相當有用。

祝你好運,試圖讓安裝程序連接到網際網路……(可能只是我在 VirtualBox 中執行),Oli。

引用自:https://serverfault.com/questions/718066