目的
使用命令行部署XenServer虚拟机。
要求
特权访问XenServer的命令行以及配置的ISO映像存储包含您要安装的Linux发行版的ISO映像。
困难
中等
使用说明
部署虚拟机模板并收集信息
在本指南中,我们将创建一个新的基于Ubuntu Linux的虚拟机。但是,以下过程将适合XenServer支持的任何合适的Linux发行版,这意味着您要安装的Linux发行版模板是XenServer的全部组成部分。首先让我们在XenServer的数据库中搜索模板名称。
在这种情况下,我们正在寻找Ubuntu 16.04:
# xe template-list | grep name-label | grep -i 16.04
name-label ( RW): Ubuntu Xenial Xerus 16.04
接下来,使用上述模板名称安装新的虚拟机:
# xe vm-install template="Ubuntu Xenial Xerus 16.04" new-name-label="Ubuntu 16.04.1 Desktop amd64"
784b1b7f-0c13-4e9a-9d06-6a3edd9c90c2
将输出的UUID和新的VM名称保存到shell变量中,以备后用。使用变量将使我们的其他命令更易于用户理解和理解:
# UUID=784b1b7f-0c13-4e9a-9d06-6a3edd9c90c2
# NAME="Ubuntu 16.04.1 Desktop amd64"
接下来,使用cd-list
至列出所有可用的ISO映像并将相关的ISO映像名称存储到变量中,例如:
# xe cd-list
# ISO="ubuntu-16.04.1-desktop-amd64.iso"
接下来,我们处理必要的联网位。列出XenServer的网络,并保存您希望附加到新VM的所需网络UUID:
# xe network-list
uuid ( RO) : 23e21c78-dfa0-e6f4-9dcd-73da08870fe8
name-label ( RW): Host internal management network
name-description ( RW): Network on which guests will be assigned a private link-local IP address which can be used to talk XenAPI
bridge ( RO): xenapi
uuid ( RO) : ae1299a0-c0db-bf00-7702-7e4ab09e1abd
name-label ( RW): Pool-wide network associated with eth0
name-description ( RW):
bridge ( RO): xenbr0
保存网络UUID:
# NETWORK=ae1299a0-c0db-bf00-7702-7e4ab09e1abd
我们还可以选择将特定的MAC地址绑定到VM的网络接口。将所需的MAC地址存储到变量中:
# MAC="4a:4d:42:ac:b3:7b"
获取虚拟磁盘的UUID,以便我们以后可以更新其大小:
# xe vm-disk-list vm="$NAME"
Disk 0 VBD:
uuid ( RO) : 01ff5ffe-bde2-becc-ada1-9d1289e017a2
vm-name-label ( RO): Ubuntu 16.04.1 Desktop amd64
userdevice ( RW): 0
Disk 0 VDI:
uuid ( RO) : 5eac954c-d6ce-4e0d-91de-85f9bd70123b
name-label ( RW): 0
sr-name-label ( RO): Local storage
virtual-size ( RO): 10737418240
存储VID的UUID:
# VDI=5eac954c-d6ce-4e0d-91de-85f9bd70123b
配置虚拟机
现在我们已经收集了所有信息,是时候配置新的VM了。首先,将ISO映像附加到新的VM设备,并使虚拟机从ISO启动:
# xe vm-cd-add uuid=$UUID cd-name=$ISO device=1
# xe vm-param-set HVM-boot-policy="BIOS order" uuid=$UUID
接下来,创建一个网络接口。如果您没有在以下命令中包括MAC选项,则将自动生成MAC地址:
# xe vif-create vm-uuid=$UUID network-uuid=$NETWORK mac=$MAC device=0
b5177fa9-81a2-3233-99c6-e545854dce8c
指定此虚拟机要使用的RAM数量。随意修改以下命令,使其具有所需的RAM大小以适合您的需求:
# xe vm-memory-limits-set dynamic-max=4000MiB dynamic-min=512MiB static-max=4000MiB static-min=512MiB uuid=$UUID
最后,更新虚拟磁盘的大小。下面的命令会将大小增加到15GB:
# xe vdi-resize uuid=$VDI disk-size=15GiB
以上是启动我们的新虚拟机所需的一些基本配置。现在,您可能还考虑更新有关CPU的信息,但是,您可以在执行实际的OS安装后随时执行此操作。
启动虚拟机
现在我们准备启动新的虚拟机:
# xe vm-start uuid=$UUID
连接到VM安装程序
在此阶段,我们使用VNC客户端连接到我们的新虚拟机。首先,我们需要获取一个VNC端口号以连接到:
# DOMID=`list_domains | grep $UUID | awk '{ print $1 }'`
# xenstore-read /local/domain/$DOMID/console/vnc-port
5901
以上命令输出的后两位将为您提供VNC端口号。在这种情况下1
。使用vnc客户端进行远程连接:
$ vncviewer -via root@XENSERVER_IP localhost:1