部署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
如何使用命令行在XenServer上创建新虚拟机
日期:2020-07-07 20:56:14 来源:oir作者:oir