从命令行创建 XenServer VM

从命令行创建 XenServer VM

我遇到一个问题,我无法理解如何从命令行创建 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。

相关内容