我遇到一个问题,我无法理解如何从命令行创建 XenServer 虚拟机。
我在一台闲置的 Tower 设备上安装了 XenServer,目前通过 SSH 从我的 Mac 进入该设备。我之所以选择这样做,是因为 XenCenter 无法在该设备上运行,而且我的项目要求我从命令行运行整个系统,但在花费大量时间在互联网上搜索如何创建虚拟机的答案后,我似乎一个接一个地偶然发现了相同的、没有信息量的脚本。
我理解,为了创建虚拟机,您需要运行此命令<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
非常感谢您抽出时间,对我可能犯的无知深表歉意。
奥利
答案1
好的,最终我找到了我所面临问题的答案。原来一定是我的 XenServer 安装损坏了,再次下载 .iso 并重新安装后,我发现通过执行xe template-list
输出可以得到一长串有用的模板。
我必须克服的下一个障碍是在 PV 模式下运行虚拟机,因为我使用的塔式单元不支持 HVM。事实上,所有 32 位 Linux 发行版均可与 PV 兼容(一般来说,任何旧版本都是兼容的,例如 Ubuntu 12.04 和 10.Whatever 32 位;Debian Squeeze 和 Wheezy 32 位),因此您可以使用以下命令以完全相同的方式启动虚拟机:
xe sr-list
输出存储库列表;类型为“ext”的存储库“本地存储”为我提供了一个位置,我可以分别存储每个虚拟机的磁盘。
xe template-list
输出可在 XenServer 主机上访问的模板列表。
xe vm-install template=<template> new-name-label=<name_for_vm> sr-uuid=<storage_repository_uuid>
根据模板将虚拟机“安装”到机器上,但此时不会发生实际安装。然后,这会在控制台中输出虚拟机的 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 地址的虚拟机创建虚拟网络接口。
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>
。这将弹出一个对话框,提示您已连接到虚拟机的控制台。我第一次尝试这个时,没有收到任何输出,感到很困惑,但是快速按下回车键就解决了问题,然后设置就开始了。
如果你需要更多有关设置虚拟机的帮助,Citrix 网站上有一篇很棒的文档http://docs.vmd.citrix.com/XenServer/5.0.0/1.0/en_gb/guest.html这相当彻底地解释了该过程(但也不是很简单)。
我真诚地希望这可以简化在非 HVM 机器上启动 VM 的过程,并且这实际上变得相当有用。
祝你好运,让安装程序连接到互联网...(可能只是我在 VirtualBox 中运行),Oli。