部署VM模板并收集信息
搜索XenServer的数据库以获取模板名称。
# 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
指定此虚拟机使用的内存大小。
# 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
启动虚拟机
# 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端口号。
使用VNC客户端远程连接:
$vncviewer -via root@XENSERVER_IP localhost:1
日期:2020-07-07 20:56:14 来源:oir作者:oir