我遇到了一个我无法理解如何从命令行创buildXenServer虚拟机的问题。
我已经在未使用的Tower单元上安装了XenServer,目前已经从我的Mac上通过SSH连接到它。 我之所以select这样做是因为XenCenter不能运行它,而且,由于我的项目要求我从命令行运行整个系统,但花费了大量的时间在Internet上寻找答案,以便如何创build虚拟机,我似乎一个接一个地绊倒同样的,无用的脚本。
我明白,为了创build一个虚拟机,你可以运行这个命令来适当地改变<template-name>和<vm-name> :
xe vm-install template=<template-name> new-name-label=<vm-name>
同样,由于我对XenServer相当陌生,因此我甚至不确定需要更改哪些内容。
除此之外,我没有设置或创build模板,并想知道我将如何做到这一点。 我希望能有一个神奇的命令,比如xe template-new或者类似的东西,但是我找不到。 我熟悉Docker,所以想知道创build虚拟机模板的过程是否与创build容器镜像相似?
如果我执行上面的命令( xe vm-install... ),我会收到下面的输出,如果我replace为"Ubuntu 14.04 (64-bit)"作为模板名称和"Ubuntu"作为标签:
Error: No templates matched
我以为这是因为我没有设置模板,并想知道是否可以通过创build一个NFS VHD存储设备来做到这一点?
我试图通过命令行再次这样做,但search互联网,并找不到任何有关我将如何做的信息?
我非常困惑,因为XenServer非常令人难以置信,但我决心了解如何直接从命令行创build虚拟机。
为了帮助任何人回答,我已经在下面列出了我的服务器的详细信息:
XenServer主机名: xenserver-hxcwfafr-OliCallaghanXen
XenServer IP地址: 192.168.0.23
非常感谢您的时间,并为我可能的无知道歉。
奥利
好吧,最终我find了我面临的问题的答案。 事实certificate,我必须有一个损坏的XenServer安装,并再次下载.iso并重新安装后,我发现通过执行xe template-list输出一个很长的有用的模板列表。
我必须跨越的下一个障碍是在PV模式下运行虚拟机,因为我使用的塔单元不支持HVM。 实际上, 所有的32位Linux发行版都与PV开箱即用 (根据一般经验,任何旧版本兼容,例如Ubuntu 12.04和10)。无论是32位还是Debian Squeeze和Wheezy 32位),因此您可以使用以下命令以完全相同的方式启动VM:
xe sr-list输出存储库列表; types为“ext”的存储库“本地存储”为我提供了一个可以分别存储每个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输出桥xenbr0的UUID,它是全新安装的XenServer的默认桥接器。 如果您正在使用不同的网桥,或者希望将虚拟机连接到不同的适配器,则可以定义不同的名称(但是,您需要确保先创build一个:P)。
xe vif-create vm-uuid=<vm_uuid> network-uuid=<network_uuid> mac=random device=0为虚拟机创build一个具有随机MAC地址的虚拟networking接口。
xe vm-param-set uuid=<vm_uuid> other-config:install-repository=<http://server/redhat/5.0>定义OS安装程序的安装位置。 就我个人而言,我发现通过在互联网上search镜像来了解OS的具体风格,我能够find镜子。 然后,不是猜测安装库是什么,而是通过存储库进行search,直到find包含文件vmlinuz标记为xen的文件夹。 我复制了这个地址,然后运行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> 。 然后这个对话会提示你已经连接到你的虚拟机的控制台。 我第一次尝试这种方法时,我没有收到任何输出结果,而且很困惑,但是快速的input键敲出来,就开始了设置。
如果您需要更多帮助来设置您的虚拟机,那么Citrix的网站http://docs.vmd.citrix.com/XenServer/5.0.0/1.0/en_gb/guest.html上有一个很好的文档来解释这个过程相当彻底(但也不是很简单)。
我真诚地希望这已经清除了在非HVM机器上启动VM的过程,而且这实际上变得相当有用。
祝你好运,试图让安装程序连接到互联网…(可能只是我在VirtualBox运行),奥利。