命令行接口

xe CLI 可用于编写脚本和自动完成系统管理任务。使用 CLI 可将 Citrix Hypervisor 集成到现有 IT 基础结构中。

安装 xe CLI

默认情况下,xe 命令行接口安装在所有 Citrix Hypervisor 服务器上并包含在 XenCenter 中。对于 Linux,还可以使用独立远程 CLI。

在 Windows 中

在 Windows 上,xe.exe 命令随 XenCenter 安装。

要使用 xe.exe 命令,请打开 Windows 命令提示窗口,并将目录更改为 xe.exe 文件所在的目录(通常为 C:\Program Files\Citrix\XenCenter)。如果将 xe.exe 安装位置添加到系统路径中,则无需切换到该目录即可使用该命令。

在 Linux 中

在基于 RPM 的发行版(如 Red Hat)上,您可以从主 Citrix Hypervisor 安装 ISO 上名为 client_install/xapi-xe-BUILD.x86_64.rpm 的 RPM 安装独立的 xe 命令。

要从 RPM 进行安装,请使用以下命令:

rpm -ivh xapi-xe-BUILD.x86_64.rpm

运行 xe 命令时,可以在命令行中使用参数来定义要使用的 Citrix Hypervisor 服务器、用户名和密码。但是,您也可以选择将此信息设置为环境变量。例如:

export XE_EXTRA_ARGS="server=<host name>,username=<user name>,password=<password>"

注意:

尝试通过安全连接运行命令时,Linux 上的远程 xe CLI 可能会挂起,这些命令涉及文件传输 。如果是这种情况,可以使用 --no-ssl 参数通过与 Citrix Hypervisor 服务器的不安全连接运行命令。

获取 xe 命令的帮助

要获得有关主机上的 CLI 命令的基础帮助,请键入:

xe help command

要显示最常使用的 xe 命令的列表,请键入:

xe help

或者,要显示所有 xe 命令的列表,请键入:

xe help --all

基本 xe 语法

所有 Citrix Hypervisor xe CLI 命令的基础语法是:

xe command-name argument=value argument=value

每个特定命令都有自己的一组参数,参数形式为 argument=value。一些命令具有必需参数,大多数命令都多少有些可选参数。通常情况下,如果调用一个命令时未使用某些可选参数,该命令将假定这些可选参数使用默认值。

如果远程执行 xe 命令,则会使用额外参数进行连接和身份验证。这些参数也采用 argument=argument_value 形式。

server 参数用于指定主机名或 IP 地址。usernamepassword 参数用于指定凭据。

可以指定 password-file 参数,而不直接指定密码。在这种情况下,xe 命令将尝试从指定文件中读取密码,并使用该密码进行连接。(去掉文件结尾的任何尾随 CR 和 LF。) 此方法比在命令行中只直接指定密码更安全。

可选 port 参数可用于指定远程 Citrix Hypervisor 服务器上的代理端口(默认为 443)。

示例: 在本地 Citrix Hypervisor 服务器上:

xe vm-list

示例: 在远程 Citrix Hypervisor 服务器上:

xe vm-list -user username -password password -server hostname

速记语法也适用于远程连接参数:

  • -u 用户名
  • -pw 密码
  • -pwf 密码文件
  • -p 端口
  • -s 服务器

示例: 在远程 Citrix Hypervisor 服务器上:

xe vm-list -u myuser -pw mypassword -s hostname

参数还取自环境变量 XE_EXTRA_ARGS,形式为逗号分隔键/值对。例如,要在远程 Citrix Hypervisor 服务器上运行命令,请先运行以下命令:

export XE_EXTRA_ARGS="server=jeffbeck,port=443,username=root,password=pass"

运行此命令后,不再需要在运行的每个 xe 命令中指定远程 Citrix Hypervisor 服务器参数。

使用 XE_EXTRA_ARGS 环境变量也可以在对远程 Citrix Hypervisor 服务器执行 xe 命令时对命令启用 Tab 键自动补齐功能,该功能在默认情况下处于禁用状态。

特殊字符和语法

要在 xe 命令行中指定参数/值对,请写入:argument=value

除非值中包含空格,否则请勿使用引号。参数名称、等号 (=) 和值之间不应存在任何空格。不符合此格式的参数都将被忽略。

对于包含空格的值,请写入: argument="value with spaces"

使用 Citrix Hypervisor 服务器上的 CLI 时,命令将具有 Tab 键自动补齐功能,该功能类似于标准 Linux Bash Shell 中的 Tab 键自动补齐功能。例如,如果您键入 xe vm-l 并按 TAB 键,则该命令的其余部分也将显示出来。如果多个命令都以 vm-l 开头,则再次按 TAB 键将列出所有可能的命令。此功能对在命令中指定对象 UUID 非常有用。

注意:

如果在远程 Citrix Hypervisor 服务器上执行命令,Tab 键自动补齐功能将无法正常运行。但是,如果您在输入命令的计算机上设置 XE_EXTRA_ARGS 变量,Tab 键自动补齐功能将处于启用状态。有关详细信息,请参阅基本 xe 语法

命令类型

CLI 命令可以分为两种。低级命令将侧重于 API 对象的列表和参数篡改。较高级别的命令用于在更抽象的层面与 VM 或主机进行交互。

低级命令包括:

  • class-list

  • class-param-get

  • class-param-set

  • class-param-list

  • class-param-add

  • class-param-remove

  • class-param-clear

其中 class 可以是以下任一项:

  • bond

  • console

  • host

  • host-crashdump

  • host-cpu

  • network

  • patch

  • pbd

  • pif

  • pool

  • sm

  • sr

  • task

  • template

  • vbd

  • vdi

  • vif

  • vlan

  • vm

并不是 class 的每个值都有完整的 class-param-action 命令集。class 的某些值具有更小的命令集。

参数类型

使用 xe 命令处理的对象具有标识这些对象并定义其状态的参数集。

大多数参数只使用单一值。例如,VM 的 name-label 参数包含单一字符串值。在参数列表命令的输出中(例如 xe vm-param-list),括号中的值表示参数是读写 (RW) 还是只读 (RO)。 指定 VM 上 xe vm-param-list 的输出可能具有以下行:

    user-version ( RW): 1
     is-control-domain ( RO): false

第一个参数 user-version 为写入参数,值为 1。第二个参数 is-control-domain 为只读参数,值为 false。

其他两个类型的参数都是多值参数。set 参数包含一系列值。map 参数是一组键/值对。例如,请参阅下面指定 VM 上 xe vm-param-list 的输出示例:

    platform (MRW): acpi: true; apic: true; pae: true; nx: false
    allowed-operations (SRO): pause; clean_shutdown; clean_reboot; \
    hard_shutdown; hard_reboot; suspend

platform 参数包含表示键/值对的一系列项。键名后跟冒号字符 (:)。各键/值对之间用分号字符 (;) 分隔。RW 前面的 M 表示这是一个 map 参数,既可读又可写。allowed-operations 参数包含构成一组项的列表。RO 前面的 S 表示这是一个 set 参数,可读但不可写。

要按 map 参数过滤或者设置 map 参数,请使用冒号 (:) 分隔 map 参数名称与键/值对。例如,要将 VM 的 other-config 参数的 foo 键值设置为 baa,使用的命令应为:

xe vm-param-set uuid=VM uuid other-config:foo=baa

注意:

在早期版本中,连字符 (-) 用于指定 map 参数。此语法现在仍然有效,但不建议使用。

低级参数命令

有多个命令可在对象参数上运行:class-param-get、class-param-set、class-param-add、class-param-remove、class-param-clear 和 class-param-list。其中的每个命令都利用 uuid 参数指定特殊对象。由于这些命令都是低级命令,因此必须使用 UUID 而不是 VM 名称标签。

  • class-param-list uuid=uuid

    列出所有参数及其相关的值。与 class-list 命令不同,此命令将列出相当多的字段的值。

  • class-param-get uuid=uuid param-name=parameter param-key=key

    返回特殊参数的值。对于 map 参数,指定 param-key 将使该值与 map 中的键关联。如果不指定 param-key,或者该参数为 set,则该命令将返回 set 或 map 的字符串表示形式。

  • class-param-set uuid=uuid param=value

    设置一个或多个参数的值。

  • class-param-add uuid=uuid param-name=parameter key=value param-key=key

    添加到 map 或 set 参数。对于 map 参数,请使用 key=value 语法添加键/值对。如果该参数为 set,则使用 param-key=key 语法添加键。

  • class-param-remove uuid=uuid param-name=parameter param-key=key

    从 map 删除键/值对,或者从 set 删除键。

  • class-param-clear uuid=uuid param-name=parameter

    完全清除 set 或 map。

低级列表命令

class-list 命令用于列出 class 类型的对象。默认情况下,此类型的命令将列出所有对象,并列出一部分参数。可以按以下方式修改此行为:

  • 它可以过滤对象,以便仅输出子集
  • 可以修改要列出的参数。

要更改列出的参数,请将参数 params 指定为所需参数的以逗号分隔的列表。例如:

xe vm-list params=name-label,other-config

或者,要列出所有参数,请使用以下语法:

xe vm-list params=all

list 命令不会显示某些需要进行大量计算的参数。例如,这些参数将显示为:

allowed-VBD-devices (SRO): <expensive field>

要获取这些字段,请使用 class-param-list 或 class-param-get

要过滤列表,CLI 需要将参数值与在命令行上指定的参数值相匹配,以便只列出满足所有指定的限制的对象。例如:

xe vm-list HVM-boot-policy="BIOS order" power-state=halted

此命令将只列出满足以下条件的 VM:值均为已停止两个字段 power-state 以及值为 BIOS 顺序的字段 HVM-boot-policy

还可以根据 map 中的键值或 set 中存在的值来过滤列表。基于 map 中的键进行过滤的语法是 map-name:key=value。基于 set 中存在的值进行过滤的语法是 set-name:contains=value

编写脚本时,一种有用的技术是在命令行上传递 --minimal,以使 xe 只列出以逗号分隔的列表中的第一个字段。举例来说,在安装有三个 VM 的 主机上,xe vm-list --minimal 命令为这些 VM 提供了三个 UUID:

    a85d6717-7264-d00e-069b-3b1d19d56ad9,aaa3eec5-9499-bcf3-4c03-af10baea96b7, \
    42c044de-df69-4b30-89d9-2c199564581d

机密

Citrix Hypervisor 提供了一种机密机制,以避免密码以明文形式存储在命令行历史记录或 API 对象中。XenCenter 自动使用此功能,也可以从 xe CLI 中为需要密码的任何命令使用此功能。

注意

密码机密不能用于从 xe CLI 的远程实例对 Citrix Hypervisor 主机进行身份验证。

要创建机密对象,请在 Citrix Hypervisor 主机上运行以下命令。

xe secret-create value=my-password

机密创建并存储在 Citrix Hypervisor 主机上。该命令将输出机密对象的 UUID。例如 99945d96-5890-de2a-3899-8c04ef2521db。将 _secret 附加到密码参数的名称后面,以将此 UUID 传递给需要密码的任何命令。

示例: 在创建机密的 Citrix Hypervisor 主机上,可以运行以下命令:

    xe sr-create device-config:location=sr_address device-config:type=cifs device-config:username=cifs_username  \
    device-config:cifspassword_secret=secret_uuid name-label="CIFS ISO SR" type="iso" content-type="iso" shared="true"

xe 命令参考

本节按照命令要寻址的对象对命令进行分组。这些对象按字母顺序列出。

设备命令

用来创建和修改 VM 设备(又称 vApp)的命令。有关详细信息,请参阅 vApp

设备参数

设备命令具有下列参数:

参数名称 说明 类型
uuid 设备 UUID 必需
name-description 设备说明 可选
paused   可选
force 强制关闭 可选

appliance-assert-can-be-recovered

appliance-assert-can-be-recovered uuid=appliance-uuid database:vdi-uuid=vdi-uuid

测试存储是否可用于恢复此 VM 设备/vApp。

appliance-create

appliance-create name-label=name-label [name-description=name-description]

创建设备/vApp。例如:

xe appliance-create name-label=my_appliance

向设备中添加 VM:

    xe vm-param-set uuid=VM-UUID appliance=appliance-uuid

appliance-destroy

appliance-destroy uuid=appliance-uuid

销毁设备/vApp。例如:

xe appliance-destroy uuid=appliance-uuid

appliance-recover

appliance-recover uuid=appliance-uuid database:vdi-uuid=vdi-uuid [paused=true|false]

从提供的 VDI 中包含的数据库恢复 VM 设备/vApp。

appliance-shutdown

appliance-shutdown uuid=appliance-uuid [force=true|false]

关闭设备/vApp 中的所有 VM。例如:

xe appliance-shutdown uuid=appliance-uuid

appliance-start

appliance-start uuid=appliance-uuid [paused=true|false]

启动设备/vApp。例如:

xe appliance-start uuid=appliance-uuid

审核命令

审核命令下载池中 RBAC 审核文件的所有可用记录。如果可选参数 since 存在,该命令将仅下载自该特定时间点开始的记录。

audit-log-get 参数

audit-log-get 具有以下参数

参数名称 说明 类型
filename 将池的审核日志写入 filename 必需
since 特定的日期/时间点 可选

audit-log-get

audit-log-get [since=timestamp] filename=filename

例如,要获取自某个精确的毫秒时间戳以来的池审核记录,请运行以下命令:

运行以下命令:

xe audit-log-get since=2009-09-24T17:56:20.530Z filename=/tmp/auditlog-pool-actions.out

绑定命令

用于使用网络绑定的命令,以通过物理接口故障转移提供恢复能力。有关详细信息,请参阅网络连接

绑定对象是将主节点成员 PIF 粘附在一起的引用对象。主节点 PIF 是必须用作整体 PIF 以引用绑定的绑定接口。成员 PIF 是组合成高级绑定接口的两个或更多个物理接口的集合。

绑定参数

绑定具有下列参数:

参数名称 说明 类型
uuid 绑定的唯一标识符/对象引用 只读
master 主节点绑定 PIF 的 UUID 只读
members 基础绑定 PIF 的 UUID 集 只读

bond-create

bond-create network-uuid=network_uuid pif-uuids=pif_uuid_1,pif_uuid_2,...

在通过现有 PIF 对象列表指定的网络上创建绑定网络接口。在以下任何情况下,该命令都会失败:

  • 如果 PIF 已位于其他绑定中
  • 如果任何成员已设置了 VLAN 标记
  • 如果所引用的 PIF 不在同一 Citrix Hypervisor 服务器上
  • 如果提供的 PIF 少于 2 个

bond-destroy

bond-destroy uuid=bond_uuid

从 主机删除由绑定接口的 UUID 指定的相应绑定接口。

bond-set-mode

bond-set-mode uuid=bond_uuid mode=bond_mode

更改绑定模式。

CD 命令

与 Citrix Hypervisor 服务器上的物理 CD/DVD 驱动器一起使用的命令。

CD 参数

CD 具有下列参数:

参数名称 说明 类型
uuid CD 的唯一标识符/对象引用 只读
name-label CD 的名称 读取/写入
name-description CD 的说明文本 读取/写入
allowed-operations 可对此 CD 执行的操作的列表 只读 set 参数
current-operations 当前正在对此 CD 执行的操作的列表 只读 set 参数
sr-uuid 此 CD 所属的 SR 的唯一标识符/对象引用 只读
sr-name-label 此 CD 所属的 SR 的名称 只读
vbd-uuids 连接到此 CD 的 VM 上的 VBD 的唯一标识符列表 只读 set 参数
crashdump-uuids 未在 CD 上使用。由于故障转储无法写入 CD 只读 set 参数
virtual-size CD 在 VM 中显示时的大小(以字节为单位) 只读
physical-utilisation CD 映像在 SR 上占用的物理空间大小(以字节为单位) 只读
type 对于 CD,设置为用户 只读
sharable CD 驱动器是否可共享。默认值为 false 只读
read-only CD 是否为只读,如果为 false,则设备可写入。对 CD 始终为 true。 只读
storage-lock 如果在存储级别锁定此磁盘,则值为 true 只读
parent 如果此 CD 是链的一部分,则引用父磁盘。 只读
missing 如果 SR 扫描操作报告此 CD 未在磁盘上显示,则值为 true 只读
other-config 为 CD 指定额外配置参数的键/值对列表 读取/写入 map 参数
location 装载设备的路径 只读
managed 如果设备被托管,则值为 true 只读
xenstore-data 插入到 xenstore 树中的数据 只读 map 参数
sm-config 存储管理器设备配置键的名称和描述 只读 map 参数
is-a-snapshot 如果此模板为 CD 快照,则值为 true 只读
snapshot_of 以此模板为快照的 CD 的 UUID 只读
snapshots 根据此 CD 生成的任何快照的 UUID 只读
snapshot_time 快照操作的时间戳 只读

cd-list

cd-list [params=param1,param2,...] [parameter=parameter_value]

列出 Citrix Hypervisor 服务器或池上的 CD 和 ISO(CD 映像文件),按可选参数 params 过滤。

如果使用可选参数 params,则 params 的值是一个字符串,其中包含您希望显示的此对象的参数列表。或者,可以使用关键字 all 显示所有参数。如果不使用 params,则返回的列表将显示所有可用参数的默认子集。

可选参数可以为本节开头列出的CD 参数中的任意数量。

群集命令

用于使用群集池的命令。

群集池是启用了群集功能的资源池。将这些池与 GFS2 SR 结合使用。有关详细信息,请参阅群集池

可以使用标准对象列出命令(xe cluster-listxe cluster-host-list)列出群集对象和群集主机对象,并使用标准参数命令操纵参数。有关详细信息,请参阅低级参数命令。 用于使用群集池的命令。

群集参数

群集具有以下参数:

参数名称 说明 类型
uuid 群集的唯一标识符/对象参考 只读
cluster-hosts 群集中主机的唯一标识符/对象引用的列表 只读 set 参数
cluster-token xapi-clusterd 在其他主机上与自身通信时所使用的密钥 只读
cluster-stack 提供群集功能的技术堆栈。可能的值为 corosync 只读
allowed-operations 列出在此种状态下允许执行的操作。此列表只是建议性的,并且客户端读取此字段时群集状态可能已更改。 只读 set 参数
current-operations 列出当前正在执行的操作。此列表只是建议性的,并且客户端读取此字段时群集状态可能已更改。 只读 set 参数
token-timeout corosync 令牌超时,以秒为单位 只读
token-timeout-coefficient corosync 令牌超时系数,以秒为单位 只读
pool-auto-join 如果自动向群集中加入新池成员,则为 true。此参数将设置为 true 只读
cluster-config 为群集指定额外配置参数的键/值对的列表。 只读 map 参数
other-config 为群集指定额外配置参数的键/值对的列表。 读取/写入 map 参数

cluster-host-create

cluster-host-create cluster-uuid=cluster_uuid host-uuid=host_uuid pif-uuid=pif_uuid

将主机添加到现有群集。

cluster-host-destroy

cluster-host-destroy uuid=host_uuid

销毁群集主机,实际上就是离开群集。

cluster-host-disable

cluster-host-disable uuid=cluster_uuid

为已启用的群集主机禁用群集成员身份。

cluster-host-enable

cluster-host-enable uuid=cluster_uuid

为已禁用的群集主机启用群集成员关系。

cluster-host-force-destroy

cluster-host-force-destroy uuid=cluster_host

强制销毁群集主机对象,实际上就是离开群集。

cluster-pool-create

cluster-pool-create network-uuid=network_uuid [cluster-stack=cluster_stack] [token-timeout=token_timeout] [token-timeout-coefficient=token_timeout_coefficient]

创建池级别的群集。

cluster-pool-destroy

cluster-pool-destroy cluster-uuid=cluster_uuid

销毁池级别的群集。池将继续存在,但不再是群集化的,且无法再使用 GFS2 SR。

cluster-pool-force-destroy

cluster-pool-force-destroy cluster-uuid=cluster_uuid

强制销毁池级别的群集。

cluster-pool-resync

cluster-pool-resync cluster-uuid=cluster_uuid

在池之间重新同步群集。

控制台命令

用于控制台的命令。

可以使用标准对象列出命令 (xe console-list) 列出控制台对象,并使用标准参数命令操纵参数。有关详细信息,请参阅低级参数命令

控制台参数

控制台具有下列参数:

参数名称 说明 类型
uuid 控制台的唯一标识符/对象引用 只读
vm-uuid 打开控制台的 VM 的唯一标识符/对象引用 只读
vm-name-label 打开控制台的 VM 的名称 只读
protocol 此控制台使用的协议。可能的值为 vt100(VT100 终端)、rfb(远程帧缓冲协议,用于 VNC)或 rdp(远程桌面协议) 只读
location 控制台服务的 URI 只读
other-config 为控制台指定额外配置参数的键/值对列表。 读取/写入 map 参数

console

console

连接到特定的控制台。

诊断命令

用于从 Citrix Hypervisor 收集诊断信息的命令。

diagnostic-compact

diagnostic-compact

执行主要 GC 收集和堆压缩。

diagnostic-db-log

diagnostic-db-log

开始记录数据库操作。警告:启动后,无法停止此操作。

diagnostic-db-stats

diagnostic-db-stats

显示数据库统计信息。

diagnostic-gc-stats

diagnostic-gc-stats

显示 GC 统计信息。

diagnostic-license-status

diagnostic-license-status

帮助诊断池级别的许可问题。

diagnostic-net-stats

diagnostic-net-stats [uri=uri] [method=method] [params=param1,param2...]

显示网络统计信息。

diagnostic-timing-stats

diagnostic-timing-stats

显示计时统计信息。

diagnostic-vdi-status

diagnostic-vdi-status uuid=vdi_uuid

查询 VDI 的锁定和共享状态。

diagnostic-vm-status

diagnostic-vm-status uuid=vm_uuid

查询可在其上启动 VM 的主机,检查所有 VBD 的共享/锁定状态。

灾难恢复命令

用来在发生灾难后恢复 VM 的命令

drtask-create

drtask-create type=type sr-whitelist=sr-white-list device-config=device-config

创建灾难恢复任务。例如,要连接到 iSCSI SR 以准备进行灾难恢复,请运行以下命令:

xe drtask-create type=lvmoiscsi device-config:target=target-ip-address \
    device-config:targetIQN=targetIQN device-config:SCSIid=SCSIid \
    sr-whitelist=sr-uuid-list

注意:

命令 sr-whitelist 将列出 SR UUID。drtask-create 命令仅引入并连接到其中一个 UUID 处于白名单中的 SR。

drtask-destroy

drtask-destroy uuid=dr-task-uuid

销毁灾难恢复任务并忘记所引入的 SR。

vm-assert-can-be-recovered

vm-assert-can-be-recovered uuid=vm-uuid database:vdi-uuid=vdi-uuid

测试存储是否可用于恢复此 VM。

appliance-assert-can-be-recovered

appliance-assert-can-be-recovered uuid=appliance-uuid database:vdi-uuid=vdi-uuid

检查包含设备/vAPP 磁盘的存储是否可见。

appliance-recover

appliance-recover uuid=appliance-uuid database:vdi-uuid=vdi-uuid [force=true|false]

从提供的 VDI 中包含的数据库恢复设备/vAPP。

vm-recover

vm-recover uuid=vm-uuid database:vdi-uuid=vdi-uuid [force=true|false]

从提供的 VDI 中包含的数据库恢复 VM。

sr-enable-database-replication

sr-enable-database-replication uuid=sr_uuid

允许将 XAPI 数据库复制到指定(共享)SR。

sr-disable-database-replication

sr-disable-database-replication uuid=sr_uuid

禁止将 XAPI 数据库复制到指定 SR。

示例用法

以下示例显示上下文中的 DR CLI 命令:

在主站点上,启用数据库复制:

xe sr-database-replication uuid=sr=uuid

发生灾难后,在辅助站点上连接到该 SR。device-config 命令与 sr-probe 具有相同的字段。

xe drtask-create type=lvmoiscsi \
    device-config:target=target ip address \
    device-config:targetIQN=target-iqn \
    device-config:SCSIid=scsi-id \
    sr-whitelist=sr-uuid

在 SR 上查找数据库 VDI:

xe vdi-list sr-uuid=sr-uuid type=Metadata

在数据库 VDI 中查询存在的 VM:

xe vm-list database:vdi-uuid=vdi-uuid

恢复 VM:

xe vm-recover uuid=vm-uuid database:vdi-uuid=vdi-uuid

销毁 DR 任务。由 DR 任务引入但并非 VM 所需的任何 SR 都将被销毁:

xe drtask-destroy uuid=drtask-uuid

事件命令

用于事件的命令。

事件类

下表列出了事件类:

类名称 说明
pool 物理主机的池
vm 虚拟机
host 物理主机
network 虚拟网络
vif 虚拟网络接口
pif 物理网络接口(将独立的 VLAN 表示为多个 PIF)
sr 存储库
vdi 虚拟磁盘映像
vbd 虚拟块设备
pbd 物理块设备,主机可通过这些设备访问 SR

event-wait

event-wait class=class_name [param-name=param_value] [param-name=/=param_value]

阻止其他命令执行,直到存在满足命令行中给定条件的对象。参数 x=y 表示“等待字段 x 取值 y”,x=/=y 表示“等待字段 x 取除 y 以外的任何值”。

示例:等待特定 VM 运行。

xe event-wait class=vm name-label=myvm power-state=running

在名为 myvm 的 VM 的 power-state 为“正在运行”之前,将一直阻止执行其他命令。

示例:等待特定 VM 重新启动:

xe event-wait class=vm uuid=$VM start-time=/=$(xe vm-list uuid=$VM params=start-time --minimal)

在 UUID 为 $VM 的 VM 重新启动之前,将一直阻止执行其他命令。此命令使用值 start-time 来确定 VM 重新启动的时间。

类名称可以是本节开头列出的任意事件类。参数可以是 CLI 命令 class-param-list 列出的任意参数。

GPU 命令

用于使用物理 GPU、GPU 组和虚拟 GPU 的命令。

可以使用标准对象列出命令列出 GPU 对象:xe pgpu-listxe gpu-group-listxe vgpu-list。可以使用标准参数命令操纵参数。有关详细信息,请参阅低级参数命令

物理 GPU 参数

物理 GPU (pGPU) 具有下列参数:

参数名称 说明 类型
uuid pGPU 的唯一标识符/对象引用 只读
vendor-name pGPU 的供应商名称 只读
device-name 供应商分配给此 pGPU 型号的名称 只读
gpu-group-uuid Citrix Hypervisor 已自动将此 pGPU 分配到的 GPU 组的唯一标识符/对象引用。池中各主机上相同的 pGPU 将组合到一起 只读
gpu-group-name-label 将 pGPU 分配到的 GPU 组的名称 只读
host-uuid 此 pGPU 连接到的 Citrix Hypervisor 服务器的唯一标识符/对象引用 只读
host-name-label 此 pGPU 连接到的 Citrix Hypervisor 服务器的名称 只读
pci-id PCI 标识符 只读
dependencies 列出直通到同一个 VM 的相关 PCI 设备 读取/写入 map 参数
other-config 为 pGPU 指定额外配置参数的键/值对列表 读取/写入 map 参数
supported-VGPU-types 底层硬件支持的虚拟 GPU 类型的列表 只读
enabled-VGPU-types 已为此 pGPU 启用的虚拟 GPU 类型的列表 读取/写入
resident-VGPUs 在此 pGPU 上运行的 vGPU 的列表 只读

pgpu-disable-dom0-access

pgpu-disable-dom0-access uuid=uuid

禁用对 dom0 的 pGPU 访问。

pgpu-enable-dom0-access

pgpu-enable-dom0-access uuid=uuid

启用对 dom0 的 pGPU 访问。

GPU 组参数

GPU 组具有下列参数:

参数名称 说明 类型
uuid GPU 组的唯一标识符/对象引用 只读
name-label GPU 组的名称 读取/写入
name-description GPU 组的描述性文本 读取/写入
VGPU-uuids 列出 GPU 组中虚拟 GPU 的唯一标识符/对象引用 只读 set 参数
PGPU-uuids 列出 GPU 组中 pGPU 的唯一标识符/对象引用 只读 set 参数
other-config 为 GPU 组指定额外配置参数的键/值对列表 读取/写入 map 参数
supported-VGPU-types 底层硬件支持的所有虚拟 GPU 类型的联合体 只读
enabled-VGPU-types 已在底层 pGPU 上启用的所有虚拟 GPU 类型的联合体 只读
allocation-algorithm 组中 pGPU 上分配虚拟 GPU 的 Depth-first/Breadth-first 设置 读取/写入 enum 参数

GPU 组操作

用于 GPU 组的命令

gpu-group-create
gpu-group-create name-label=name_for_group [name-description=description]

创建一个可将 pGPU 迁入的新(空)GPU 组。

gpu-group-destroy
gpu-group-destroy uuid=uuid_of_group

销毁 GPU 组;仅允许空组。

gpu-group-get-remaining-capacity
gpu-group-get-remaining-capacity uuid=uuid_of_group vgpu-type-uuid=uuid_of_vgpu_type

返回可在此 GPU 组中实例化的指定类型的虚拟 GPU 新增数量。

gpu-group-param-set
gpu-group-param-set uuid=uuid_of_group allocation-algorithm=breadth-first|depth-first

更改 GPU 组用于将虚拟 GPU 分配给 pGPU 的算法。

gpu-group-param-get-uuid
gpu-group-param-get-uuid uuid=uuid_of_group param-name=supported-vGPU-types|enabled-vGPU-types

返回此 GPU 组的受支持或已启用类型。

虚拟 GPU 参数

虚拟 GPU 具有以下参数:

参数名称 说明 类型
uuid 虚拟 GPU 的唯一标识符/对象引用 只读
vm-uuid 将虚拟 GPU 分配到的 VM 的唯一标识符/对象引用 只读
vm-name-label 将虚拟 GPU 分配到的 VM 的名称 只读
gpu-group-uuid 虚拟 GPU 所属的 GPU 组的唯一标识符/对象引用 只读
gpu-group-name-label 虚拟 GPU 所属的 GPU 组的名称 只读
currently-attached 如果具有 GPU 直通功能的 VM 正在运行,则返回 true,否则返回 false 只读
other-config 为虚拟 GPU 指定额外配置参数的键/值对列表 读取/写入 map 参数
type-uuid 此虚拟 GPU 的虚拟 GPU 类型的唯一标识符/对象引用 读取/写入 map 参数
type-model-name 与虚拟 GPU 类型相关联的模型名称 只读

虚拟 GPU 类型参数

注意:

除非存在 GPU 供应商提供的受支持的软件和图形卡,否则 GPU 直通功能和虚拟 GPU 与实时迁移、存储实时迁移或 VM 挂起功能不兼容。不能迁移没有此支持的 VM 以避免出现停机时间。有关 NVIDIA vGPU 与实时迁移、存储实时迁移和 VM 挂起功能的兼容性信息,请参阅图形

虚拟 GPU 类型具有以下参数:

参数名称 说明 类型
uuid 虚拟 GPU 类型的唯一标识符/对象引用 只读
vendor-name 虚拟 GPU 供应商的名称 只读
model-name 与虚拟 GPU 类型相关联的模型名称 只读
freeze-frame 虚拟 GPU 类型的 Framebuffer 大小(以字节为单位) 只读
max-heads 虚拟 GPU 类型支持的最大显示数量 只读
supported-on-PGPUs 支持此虚拟 GPU 类型的 pGPU 的列表 只读
enabled-on-PGPUs 启用了此虚拟 GPU 类型的 pGPU 的列表 只读
VGPU-uuids 此类型的虚拟 GPU 的列表 只读

虚拟 GPU 操作

vgpu-create

vgpu-create vm-uuid=uuid_of_vm gpu_group_uuid=uuid_of_gpu_group [vgpu-type-uuid=uuid_of_vgpu-type]

创建虚拟 GPU。此命令将 VM 连接到指定的 GPU 组并根据需要指定虚拟 GPU 类型。如果未指定虚拟 GPU 类型,则假设使用“直通”类型。

vgpu-destroy

vgpu-destroy uuid=uuid_of_vgpu

销毁指定的虚拟 GPU。

为使用虚拟 GPU 的 VM 禁用 VNC

xe vm-param-add uuid=uuid_of_vmparam-name=platform vgpu_vnc_enabled=true|false

使用 false 禁用 VM 的 VNC 控制台,因为它可以将 disablevnc=1 传递到显示模拟器。默认情况下,启用 VNC。

主机命令

与 Citrix Hypervisor 服务器交互的命令。

Citrix Hypervisor 服务器是运行 Citrix Hypervisor 软件的物理服务器。在这些主机上运行的 VM 受具有特权的虚拟机(称为控制域或域 0)的控制。

可以使用标准对象列出命令列出 Citrix Hypervisor 服务器对象:xe host-listxe host-cpu-listxe host-crashdump-list。可以使用标准参数命令操纵参数。有关详细信息,请参阅低级参数命令

主机选择器

此处列出的多个命令具有用于选择在其上执行操作的一个或多个 Citrix Hypervisor 服务器的通用机制。最简单的方法是提供参数 host=uuid_or_name_label。也可以通过按字段值过滤主机的完整列表来指定 Citrix Hypervisor。例如,指定 enabled=true 将会选择 enabled 字段为 true 的所有 Citrix Hypervisor 服务器。如果有多个匹配的 Citrix Hypervisor 服务器并且操作可以在多个 Citrix Hypervisor 服务器上执行,则必须指定 --multiple 才能执行该操作。本节开头介绍了可匹配的完整参数列表。您可以通过运行命令 xe host-list params=all 来获取此命令的列表。如果未提供用于选择 Citrix Hypervisor 服务器的参数,则将在所有 Citrix Hypervisor 服务器上执行该操作。

主机参数

Citrix Hypervisor 服务器具有以下参数:

参数名称 说明 类型
uuid Citrix Hypervisor 服务器的唯一标识符/对象引用 只读
name-label Citrix Hypervisor 服务器的名称 读取/写入
name-description Citrix Hypervisor 服务器的描述字符串 只读
enabled 如果禁用,则值为 false。这样可以防止任何新 VM 在主机上启动并让主机做好关闭或重新启动准备。如果主机处于启用状态,则值为 true 只读
API-version-major 主版本号 只读
API-version-minor 次版本号 只读
API-version-vendor API 供应商的标识 只读
API-version-vendor-implementation 供应商实现的详细信息 只读 map 参数
logging 日志记录配置 读取/写入 map 参数
suspend-image-sr-uuid 挂起的映像所在 SR 的唯一标识符/对象引用 读取/写入
crash-dump-sr-uuid 故障转储所在的 SR 的唯一标识符/对象引用 读取/写入
software-version 版本控制参数及其值的列表 只读 map 参数
capabilities Citrix Hypervisor 服务器可以运行的 Xen 版本列表 只读 set 参数
other-config 为 Citrix Hypervisor 服务器指定额外配置参数的键/值对列表 读取/写入 map 参数
chipset-info 用来指定芯片组相关信息的键/值对列表 只读 map 参数
hostname Citrix Hypervisor 服务器主机名 只读
address Citrix Hypervisor 服务器 IP 地址 只读
license-server 用来指定许可证服务器相关信息的键/值对列表。与 Citrix 产品通信使用的默认端口为 27000。有关因发生冲突而更改端口号的信息,请参阅更改端口号 只读 map 参数
supported-bootloaders Citrix Hypervisor 服务器支持的引导加载器列表,例如 pygrub、eliloader 只读 set 参数
memory-total Citrix Hypervisor 服务器上的物理 RAM 总量(以字节为单位) 只读
memory-free 可分配给 VM 的剩余物理 RAM 总量(以字节为单位) 只读
host-metrics-live 如果主机可以正常运行,则为 true 只读
logging syslog_destination 键可设置为远程侦听 syslog 服务的主机名。 读取/写入 map 参数
allowed-operations 列出在此种状态下允许执行的操作。此列表只是建议性的,并且客户端读取此字段时服务器状态可能已更改。 只读 set 参数
current-operations 列出当前正在执行的操作。此列表只是建议性的,并且客户端读取此字段时服务器状态可能已更改。 只读 set 参数
patches 主机修补程序集 只读 set 参数
blobs 二进制数据存储 只读
memory-free-computed 对主机上最大可用内存量的保守估算 只读
ha-statefiles 所有高可用性功能状态文件的 UUID 只读
ha-network-peers 出现故障时可托管此主机上 VM 的所有主机的 UUID 只读
external-auth-type 外部身份验证类型,例如 Active Directory。 只读
external-auth-service-name 外部身份验证服务的名称 只读
external-auth-configuration 外部身份验证服务的配置信息。 只读 map 参数

Citrix Hypervisor 服务器包含的一些其他对象也具有参数列表。

Citrix Hypervisor 服务器上的 CPU 具有下列参数:

参数名称 说明 类型
uuid CPU 的唯一标识符/对象引用 只读
number Citrix Hypervisor 服务器中的物理 CPU 内核数量 只读
vendor 表示 CPU 名称的供应商字符串 只读
speed CPU 时钟速度(以赫兹为单位) 只读
modelname 表示 CPU 型号的供应商字符串,例如,“Intel(R) Xeon(TM) CPU 3.00 GHz” 只读
stepping CPU 修订号 只读
flags 物理 CPU 的标志(功能字段的解码版本) 只读
Utilisation 当前 CPU 使用率 只读
host-uuid CPU 所在主机的 UUID 只读
model 物理 CPU 的型号 只读
family 物理 CPU 系列号 只读

Citrix Hypervisor 服务器上的故障转储具有下列参数:

参数名称 说明 类型
uuid 故障转储的唯一标识符/对象引用 只读
host 故障转储对应的 Citrix Hypervisor 服务器 只读
timestamp 故障转储发生日期和时间的时间戳,格式为 yyyymmdd-hhmmss-ABC,其中 ABC 是时区指示器,例如 GMT 只读
size 故障转储的大小(以字节为单位) 只读

host-all-editions

host-all-editions

获取所有可用版本的列表

host-apply-edition

host-apply-edition [host-uuid=host_uuid] [edition=xenserver_edition="free" "per-socket" "xendesktop"]

将 Citrix Hypervisor 许可证分配给主机服务器。分配许可证时,Citrix Hypervisor 会联系许可证服务器,并申请指定类型的许可证。如果有可用许可证,则会将该许可证从许可证服务器中签出。

对于适用于 Citrix Virtual Desktops 版本的 Citrix Hypervisor,请使用 "xendesktop"

对于初始许可配置,另请参阅 license-server-addresslicense-server-port

host-backup

host-backup file-name=backup_filename host=host_name

将指定的 Citrix Hypervisor 服务器的控制域备份下载到调用此命令的计算机。将其作为名为 file-name 的文件保存在该计算机上。

重要:

xe host-backup 命令在本地主机上执行(即不指定特定主机名)时可以起作用,但是不要以这种方式使用此命令。这样做将使用备份文件填充控制域分区。仅从保留了存储备份文件空间的远程主机外计算机上使用此命令。

host-bugreport-upload

host-bugreport-upload [host-selector=host_selector_value...] [url=destination_url http-proxy=http_proxy_name]

生成全新错误报告(使用 xen-bugtool,包括所有可选文件)并上载到 支持 ftp 站点或某个其他位置。

将使用标准选择机制来选择应在其上执行此操作的主机(请参阅上文中的主机选择器)。可选参数可以为本节开头列出的主机参数中的任意数量。

可选参数是 http-proxy:使用指定的 http 代理以及 url:上载到此目标 URL。如果未使用可选参数,则不会识别任何代理服务器,并且目标位置为默认的 支持 ftp 站点。

host-call-plugin

host-call-plugin host-uuid=host_uuid plugin=plugin fn=function [args=args]

使用可选参数调用指定主机上的插件中的功能。

host-compute-free-memory

host-compute-free-memory

计算主机上的可用内存量。

host-compute-memory-overhead

host-compute-memory-overhead

计算主机的虚拟化内存开销。

host-cpu-info

host-cpu-info [uuid=uuid]

列出了有关主机的物理 CPU 的信息。

host-crashdump-destroy

host-crashdump-destroy uuid=crashdump_uuid

从 Citrix Hypervisor 服务器中删除通过 UUID 指定的主机故障转储。

host-crashdump-upload

host-crashdump-upload uuid=crashdump_uuid [url=destination_url] [http-proxy=http_proxy_name]

将故障转储上载到 支持 ftp 站点或其他位置。如果未使用可选参数,则不会识别任何代理服务器,并且目标位置为默认的 支持 ftp 站点。可选参数是 http-proxy:使用指定的 http 代理以及 url:上载到此目标 URL。

host-declare-dead

host-declare-dead uuid=host_uuid

声明主机已停止,而不与其进行显式连接。

警告:

如果主机实际上并非停止,则此调用比较危险,可能会导致数据丢失。

host-disable

host-disable [host-selector=host_selector_value...]

禁用指定的 Citrix Hypervisor 服务器,防止在这些主机上启动任何新 VM。此操作可以为关闭或重新启动 Citrix Hypervisor 服务器做好准备。

将使用标准选择机制来选择应在其上执行此操作的主机(请参阅主机选择器)。可选参数可以为本节开头列出的主机参数中的任意数量。

host-disable-display

host-disable-display uuid=host_uuid

禁止显示该主机。

host-disable-local-storage-caching

host-disable-local-storage-caching

禁用指定主机上的本地缓存存储。

host-dmesg

host-dmesg [host-selector=host_selector_value...]

从指定的 Citrix Hypervisor 服务器中获取 Xen dmesg(内核环缓冲的输出)。

将使用标准选择机制来选择应在其上执行此操作的主机(请参阅上文中的主机选择器)。可选参数可以为本节开头列出的主机参数中的任意数量。

host-emergency-ha-disable

host-emergency-ha-disable  [--force]

禁用本地主机上的高可用性功能。仅用于恢复安装的高可用性功能已损坏的池。

host-emergency-management-reconfigure

host-emergency-management-reconfigure interface=uuid_of_management_interface_pif

重新配置此 Citrix Hypervisor 服务器的管理接口。仅当 Citrix Hypervisor 服务器处于紧急模式时才使用此命令。紧急模式是指此主机所属资源池的主服务器从网络中消失,经过多次重新尝试后仍无法连接。

host-enable

host-enable [host-selector=host_selector_value...]

启用指定的 Citrix Hypervisor 服务器,以允许在这些主机上启动新 VM。

将使用标准选择机制来选择应在其上执行此操作的主机(请参阅上文中的主机选择器)。可选参数可以为本节开头列出的主机参数中的任意数量。

host-enable-display

host-enable-display uuid=host_uuid

允许显示该主机。

host-enable-local-storage-caching

host-enable-local-storage-caching  sr-uuid=sr_uuid

启用指定主机上的本地缓存存储。

host-evacuate

host-evacuate [host-selector=host_selector_value...]

将所有正在运行的 VM 实时迁移到池上的其他适合主机。首先,通过使用 host-disable 命令禁用该主机。

如果退出的主机是池主服务器,那么必须选择其他主机作为池主服务器。要在高可用性功能禁用时更改池主服务器,请使用 pool-designate-new-master 命令。有关详细信息,请参阅 pool-designate-new-master

启用高可用性功能时,只能选择关闭该服务器,这将导致高可用性功能随机选择一个新主服务器。有关详细信息,请参阅 host-shutdown

将使用标准选择机制来选择应在其上执行此操作的主机(请参阅上文中的主机选择器)。可选参数可以为本节开头列出的主机参数中的任意数量。

host-forget

host-forget uuid=host_uuid

XAPI 代理将忽略指定的 Citrix Hypervisor 服务器,不与其进行显式连接。

使用 --force 参数可避免系统提示您确认是否确实想要执行该操作。

警告:

如果此池中启用了高可用性功能,请不要使用此命令。首先禁用高可用性功能,然后在您忽略了该主机后再重新启用它。

如果要“忘记”的 Citrix Hypervisor 服务器已停止,此命令将非常有用。但是,如果 Citrix Hypervisor 服务器处于活动状态并且属于池的一部分,请改为使用 xe pool-eject

host-get-cpu-features

host-get-cpu-features {features=pool_master_cpu_features} [uuid=host_uuid]

打印代表主机物理 CPU 功能的十六进制值。

host-get-server-certificate

host-get-server-certificate

获取已安装的服务器 SSL 证书。

host-get-sm-diagnostics

host-get-sm-diagnostics uuid=uuid

显示每个主机的 SM 诊断信息。

host-get-system-status

host-get-system-status filename=name_for_status_file [entries=comma_separated_list] [output=tar.bz2|zip] [host-selector=host_selector_value...]

将系统状态信息下载到指定文件。可选参数 entries 是系统状态条目的逗号分隔列表,这些条目从 host-get-system-status-capabilities 命令返回的功能 XML 片段获取。有关详细信息,请参阅 host-get-system-status-capabilities。如果未指定,则所有系统状态信息都保存在此文件中。参数 output 可能为 tar.bz2(默认值)或 zip。如果未指定此参数,文件将保存在 tar.bz2 表单中。

将使用标准选择机制来选择应在其上执行此操作的主机(请参阅上文中的主机选择器)。

host-get-system-status-capabilities

host-get-system-status-capabilities [host-selector=host_selector_value...]

获取指定主机的系统状态功能。这些功能将作为 XML 片段返回且与以下示例类似:

<?xml version="1.0" ?>
<system-status-capabilities>
    <capability content-type="text/plain" default-checked="yes" key="xenserver-logs"  \
        max-size="150425200" max-time="-1" min-size="150425200" min-time="-1" \
        pii="maybe"/>
    <capability content-type="text/plain" default-checked="yes" \
        key="xenserver-install" max-size="51200" max-time="-1" min-size="10240" \
        min-time="-1" pii="maybe"/>
    ...
</system-status-capabilities>

每个功能条目可能具有以下属性。

  • key功能的唯一标识符。
  • content-type 可以是 text/plain 或 application/data。指示 UI 是否可以呈现条目以供用户使用。
  • default-checked 可以为 yes 或 no。指示默认情况下 UI 是否应选择此条目。
  • min-size, max-size 指示此条目的大致大小范围(以字节为单位)。-1 指示大小并不重要。
  • min-time, max-time 指示收集此条目所需的大致时间范围(以秒为单位)。-1 指示时间并不重要。
  • pii 个人可识别信息。指示条目是否将包含用于标识系统所有者的信息,或网络拓扑的详细信息。属性可能具有以下值之一:

    • no:这些条目中不包含 PII
    • yes:这些条目中可能或一定包含 PII
    • maybe:您可能希望审核这些条目是否包含 PII
    • if_customized 如果未修改文件,则其不包含 PII。但是,由于我们鼓励编辑这些文件,因此此类自定义操作可能会引入 PII。此值尤其适用于控制域中的网络连接脚本。

    不管存在任何 PII 声明,任何错误报告都不会包括密码。

将使用标准选择机制来选择应在其上执行此操作的主机(请参阅上文中的主机选择器)。

host-get-thread-diagnostics

host-get-thread-diagnostics uuid=uuid

显示每个主机的线程诊断信息。

host-get-vms-which-prevent-evacuation

host-get-vms-which-prevent-evacuation uuid=uuid

返回阻止撤走特定主机的 VM 的列表,并显示阻止撤走每个主机的原因。

host-is-in-emergency-mode

host-is-in-emergency-mode

如果 CLI 正在与之通信的主机处于紧急模式,则返回 true,否则返回 false。此 CLI 命令直接作用于从属主机,即使没有主服务器主机。

host-license-add

host-license-add [license-file=path/license_filename] [host-uuid=host_uuid]

对于 Citrix Hypervisor(免费版),用于解析本地许可证文件,并将其添加到指定的 Citrix Hypervisor 服务器。

host-license-remove

host-license-remove [host-uuid=host_uuid]

删除应用于主机的任何许可。

host-license-view

host-license-view [host-uuid=host_uuid]

显示 Citrix Hypervisor 服务器许可证的内容。

host-logs-download

host-logs-download [file-name=logfile_name] [host-selector=host_selector_value...]

下载指定 Citrix Hypervisor 服务器的日志副本。默认情况下副本保存在一个带时间戳的文件中,文件名为 hostname-yyyy-mm-dd T hh:mm:ssZ.tar.gz。可以使用可选参数 file-name 指定其他文件名。

将使用标准选择机制来选择应在其上执行此操作的主机(请参阅上文中的主机选择器)。可选参数可以为本节开头列出的主机参数中的任意数量。

重要:

xe host-logs-download 命令在本地主机上执行(即不指定特定主机名)时可以起作用,但是不要以这种方式使用此命令。这样做将因日志副本而使控制域分区变得混乱。应该从保留了存储日志副本空间的远程主机外计算机上使用此命令。

host-management-disable

host-management-disable

禁用侦听外部管理网络接口的主机代理,并断开所有连接的 API 客户端(如 XenCenter)。此命令直接在 CLI 连接到的 Citrix Hypervisor 服务器上运行。应用于成员 Citrix Hypervisor 服务器时,该命令不会被转发到池主服务器。

警告:

在除主机外的计算机上使用此 CLI 命令时需谨慎。运行此命令后,您无法通过网络远程连接到控制域以重新启用主机代理。

host-management-reconfigure

host-management-reconfigure [interface=device] [pif-uuid=uuid]

重新配置 Citrix Hypervisor 服务器以将指定网络接口用作其管理接口,即用于连接到 XenCenter 的接口。此命令将重写 /etc/xensource-inventory 中的 MANAGEMENT_INTERFACE 键。

如果指定了接口(必须具有 IP 地址)的设备名称,Citrix Hypervisor 服务器将立即重新绑定。此命令适用于正常模式和紧急模式。

如果指定了 PIF 对象的 UUID,Citrix Hypervisor 服务器将确定重新绑定到自身的 IP 地址。执行此命令时一定不能处于紧急模式。

警告:

在除主机外的计算机上使用此 CLI 命令时需谨慎,并确保在新接口上有网络连接。请先使用 xe pif-reconfigure 建立一个连接。否则,后续 CLI 命令将无法到达 Citrix Hypervisor 服务器。

host-power-on

host-power-on [host=host_uuid]

打开 Citrix Hypervisor 服务器电源,并启用主机开启功能。使用此命令之前,请在主机上启用 host-set-power-on

host-reboot

host-reboot [host-selector=host_selector_value...]

重新启动指定的 Citrix Hypervisor 服务器。首先必须使用 xe host-disable 命令禁用指定的主机,否则将显示 HOST_IN_USE 错误消息。

将使用标准选择机制来选择应在其上执行此操作的主机(请参阅上文中的主机选择器)。可选参数可以为本节开头列出的主机参数中的任意数量。

如果指定的 Citrix Hypervisor 服务器是池的成员,则将处理在关闭时断开的连接,并且池将在 Citrix Hypervisor 服务器重新启动时恢复。其他成员和主服务器将继续正常运行。

如果关闭主服务器,池将不起作用,直到执行以下操作之一为止:

  • 使某个成员成为主服务器
  • 重新启动原始主服务器并恢复联机状态。

    当主服务器恢复联机状态时,成员将重新连接并与主服务器同步。

host-restore

host-restore [file-name=backup_filename] [host-selector=host_selector_value...]

还原 Citrix Hypervisor 服务器控制软件的名为 file-name 的备份。此处使用的“还原”不是通常意义上的完整还原,它仅仅指压缩的备份文件已经解压缩并且解压缩到辅助分区。执行 xe host-restore 后,必须引导安装 CD,并使用其“从备份还原”选项。

将使用标准选择机制来选择应在其上执行此操作的主机(请参阅上文中的主机选择器)。可选参数可以为本节开头列出的主机参数中的任意数量。

host-send-debug-keys

host-send-debug-keys  host-uuid=host_uuid keys=keys

将指定的虚拟机管理程序调试密钥发送到指定的主机。

host-set-hostname-live

host-set-hostname host-uuid=uuid_of_host hostname=new_hostname

更改由 host-uuid 指定的 Citrix Hypervisor 服务器的主机名。此命令将控制域数据库中的主机名和 Citrix Hypervisor 服务器的实际 Linux 主机名进行相同设置。hostname 的值与 name_label 字段的值不同

host-set-power-on-mode

host-set-power-on-mode host=host_uuid power-on-mode={"" | "wake-on-lan" | "iLO" | "DRAC" | "custom"} \
    [ power-on-config:power_on_ip=ip-address power-on-config:power_on_user=user power-on-config:power_on_password_secret=secret-uuid ]

用于在与远程电源解决方案兼容的 Citrix Hypervisor 主机上启用主机开启功能。使用 host-set-power-on 命令时,必须在主机上指定电源管理解决方案的类型(即 power-on-mode)。然后使用 power-on-config 参数及其关联的键值对指定配置选项。

要使用加密功能存储密码,请指定键 "power_on_password_secret"。有关详细信息,请参阅机密

host-shutdown

host-shutdown [host-selector=host_selector_value...]

关闭指定的 Citrix Hypervisor 服务器。首先必须使用 xe host-disable 命令禁用指定的 Citrix Hypervisor 服务器,否则将显示 HOST_IN_USE 错误消息。

将使用标准选择机制来选择应在其上执行此操作的主机(请参阅上文中的主机选择器)。可选参数可以为本节开头列出的主机参数中的任意数量。

如果指定的 Citrix Hypervisor 服务器是池的成员,则将处理在关闭时断开的连接,并且池将在 Citrix Hypervisor 服务器重新启动时恢复。其他成员和主服务器将继续正常运行。

如果关闭主服务器,池将不起作用,直到执行以下操作之一为止:

  • 使某个成员成为主服务器
  • 重新启动原始主服务器并恢复联机状态。

    当主服务器恢复联机状态时,成员将重新连接并与主服务器同步。

如果启用了池的高可用性功能,则将自动使一个成员成为主服务器。如果禁用了高可用性功能,您必须使用 pool-designate-new-master 命令将所需服务器手动指定为主服务器。有关详细信息,请参阅 pool-designate-new-master

host-sm-dp-destroy

host-sm-dp-destroy uuid=uuid dp=dp [allow-leak=true|false]

尝试销毁并清理主机上的存储数据路径。如果提供了 allow-leak=true,则即使无法完全关闭,它也会删除数据路径的所有记录。

host-sync-data

host-sync-data

将池主服务器上存储的非数据库数据与指定主机同步。

host-syslog-reconfigure

host-syslog-reconfigure [host-selector=host_selector_value...]

在指定的 Citrix Hypervisor 服务器上重新分配 syslog 守护程序。此命令应用在主机 logging 参数中定义的配置信息。

将使用标准选择机制来选择应在其上执行此操作的主机(请参阅上文中的主机选择器)。可选参数可以为本节开头列出的主机参数中的任意数量。

host-data-source-list

host-data-source-list [host-selectors=host selector value...]

列出可为主机记录的数据源。

使用标准选择机制来选择要在其上执行此操作的主机(请参阅主机选择器)。可选参数可以为本节开头列出的主机参数中的任意数量。如果未提供用于选择主机的参数,将在所有主机上执行该操作。

数据源具有两个参数:standardenabled。此命令将输出这些参数的值:

  • 如果数据源的 enabled 设置为 true,则指标当前被记录到性能数据库中。
  • 如果数据源的 standard 设置为 true,则默认情况下指标会被记录到性能数据库中。此数据源的 enabled 的值也会被设置为 true
  • 如果数据源的 standard 设置为 false,则默认情况下指标不会被记录到性能数据库中。此数据源的 enabled 的值也会被设置为 false

要开始将数据源指标记录到性能数据库,请运行 host-data-source-record 命令。此命令将 enabled 设置为 true。要停止记录,请运行 host-data-source-forget。此命令将 enabled 设置为 false

host-data-source-record

host-data-source-record data-source=name_description_of_data_source [host-selectors=host_selector_value...]

记录主机的指定数据源。

此操作会将数据源中的信息写入指定主机的静态性能指标数据库中。由于性能的原因,此数据库不同于普通的代理数据库。

使用标准选择机制来选择要在其上执行此操作的主机(请参阅主机选择器)。可选参数可以为本节开头列出的主机参数中的任意数量。如果未提供用于选择主机的参数,将在所有主机上执行该操作。

host-data-source-forget

host-data-source-forget data-source=name_description_of_data_source [host-selectors=host_selector_value...]

停止为主机记录指定数据源并忽略所有已记录的数据。

使用标准选择机制来选择要在其上执行此操作的主机(请参阅主机选择器)。可选参数可以为本节开头列出的主机参数中的任意数量。如果未提供用于选择主机的参数,将在所有主机上执行该操作。

host-data-source-query

host-data-source-query data-source=name_description_of_data_source [host-selectors=host_selector_value...]

显示主机的指定数据源。

使用标准选择机制来选择要在其上执行此操作的主机(请参阅主机选择器)。可选参数可以为本节开头列出的主机参数中的任意数量。如果未提供用于选择主机的参数,将在所有主机上执行该操作。

日志命令

用于处理日志的命令。

log-get

log-get

返回当前存储在字符串记录器中的日志。

log-get-keys

log-get-keys

列出记录器已知的键。

log-reopen

log-reopen

重新打开所有记录器(使用此功能旋转文件)。

log-set-output

log-set-output output=output [key=key] [level=level]

将所有记录器设置为指定的输出(nil、stderr、string、file:filename、syslog:something)。

消息命令

用于消息的命令。创建消息以通知用户重要事件,并作为警报在 XenCenter 中显示。

可以使用标准对象列出命令 (xe message-list) 列出消息对象,并使用标准参数命令操纵参数。有关详细信息,请参阅低级参数命令

消息参数

参数名称 说明 类型
uuid 消息的唯一标识符/对象引用 只读
name 消息的唯一名称。 只读
priority 消息优先级。数值越大表明优先级越高。 只读
class 消息类型,例如 VM。 只读
obj-uuid 受影响对象的 uuid。 只读
timestamp 生成该消息的时间。 只读
body 消息内容。 只读

message-create

message-create name=message_name body=message_text [[host-uuid=uuid_of_host] | [sr-uuid=uuid_of_sr] | [vm-uuid=uuid_of_vm] | [pool-uuid=uuid_of_pool]]

创建消息。

message-destroy

message-destroy [uuid=message_uuid]

销毁现有消息。您可以构建一个脚本来销毁所有消息。例如:

# Dismiss all alerts   \
    IFS=","; for m in $(xe message-list params=uuid --minimal); do  \
    xe message-destroy uuid=$m  \
    done

网络命令

用于网络的命令。

可以使用标准对象列出命令 (xe network-list) 列出网络对象,并且使用标准参数命令操纵参数。有关详细信息,请参阅低级参数命令

网络参数

网络具有下列参数:

参数名称 说明 类型
uuid 网络的唯一标识符/对象引用 只读
name-label 网络名称 读取/写入
name-description 网络的说明文本 读取/写入
VIF-uuids 从 VM 连接到此网络的 VIF(虚拟网络接口)的唯一标识符列表 只读 set 参数
PIF-uuids 从 Citrix Hypervisor 服务器连接到此网络的 PIF(物理网络接口)的唯一标识符列表 只读 set 参数
bridge 与此网络对应的桥在本地 Citrix Hypervisor 服务器上的名称 只读
default-locking-mode 与 VIF 对象一起用于 ARP 过滤的网络对象。设置为 unlocked 将删除所有与 VIF 相关联的过滤规则。设置为 disabled,以便 VIF 丢弃所有通信。 读取/写入
purpose 设置 Citrix Hypervisor 服务器使用此网络的用途。设置为 nbd 将使用网络建立 NBD 连接。 读取/写入
other-config:staticroutes subnet/netmask/gateway 格式条目的逗号分隔列表,指定用来路由子网的网关地址。例如,将 other-config:static-routes 设置为 172.16.0.0/15/192.168.0.3,172.18.0.0/16/192.168.0.4 会使 172.16.0.0/15 上的通信通过 192.168.0.3 路由,172.18.0.0/16 上的通信通过 192.168.0.4 路由。 读取/写入
other-config:ethtoolautoneg 设置为 no 会禁用物理接口或网桥的自动协商。默认值为 yes。 读取/写入
other-config:ethtool-rx 设置为 on 会启用接收校验和,设置为 off 会禁用接收校验和 读取/写入
other-config:ethtool-tx 设置为 on 会启用发送校验和,设置为 off 会禁用发送校验和 读取/写入
other-config:ethtool-sg 设置为 on 会启用分散收集,设置为 off 会禁用分散收集 读取/写入
other-config:ethtool-tso 设置为 on 会启用 TCP 分段卸载,设置为 off 会禁用 TCP 分段卸载 读取/写入
other-config:ethtool-ufo 设置为 on 会启用 UDP 段卸载,设置为 off 会禁用 UDP 段卸载 读取/写入
other-config:ethtool-gso 设置为 on 会启用通用分段卸载,设置为 off 会禁用通用分段卸载 读取/写入
blobs 二进制数据存储 只读

network-create

network-create name-label=name_for_network [name-description=descriptive_text]

创建网络。

network-destroy

network-destroy uuid=network_uuid

销毁现有网络。

SR-IOV 命令

用于处理 SR-IOV 的命令。

可以使用标准对象列出命令 (xe network-sriov-list) 列出 network-sriov 对象,并使用标准参数命令操纵参数。有关详细信息,请参阅低级参数命令

SR-IOV 参数

SR-IOV 具有以下参数:

参数名称 说明 类型
physical-PIF 用于启用 SR-IOV 的 PIF。 只读
logical-PIF SR-IOV 逻辑 PIF。用户可以使用此参数创建 SR-IOV VLAN 网络。 只读
requires-reboot 如果设置为 True,则用于重新启动主机以使 SR-IOV 生效。 只读
remaining-capacity 剩余的可用 VF 的数量。 只读

network-sriov-create

network-sriov-create network-uuid=network_uuid pif-uuid=physical_pif_uuid

为指定的物理 PIF 创建 SR-IOV 网络对象,并在物理 PIF 上启用 SR-IOV。

network-sriov-destroy

network-sriov-destroy uuid=network_sriov_uuid

删除网络 SR-IOV 对象,并禁用其物理 PIF 上的 SR-IOV。

分配 SR-IOV VF

xe vif-create device=device_index mac=vf_mac_address network-uuid=sriov_network vm-uuid=vm_uuid

从 SR-IOV 网络向 VM 分配 VF。

SDN 控制器命令

用于使用 SDN 控制器的命令。

sdn-controller-forget

sdn-controller-introduce [address=address] [protocol=protocol] [tcp-port=tcp_port]

引入 SDN 控制器。

sdn-controller-introduce

sdn-controller-forget uuid=uuid

删除 SDN 控制器。

通道命令

用于使用通道的命令。

tunnel-create

tunnel-create pif-uuid=pif_uuid network-uuid=network_uuid

在主机上创建新的通道。

tunnel-destroy

tunnel-destroy uuid=uuid

销毁通道。

修补程序命令

用于使用修补程序的命令。

patch-apply

patch-apply uuid=patch_uuid host-uuid=host_uuid

将之前上载的修补程序应用于指定主机。

patch-clean

patch-clean uuid=uuid

删除之前上载的修补程序文件。

patch-destroy

patch-destroy uuid=uuid

从服务器中删除未应用的修补程序记录和文件。

patch-pool-apply

patch-pool-apply uuid=uuid

将之前上载的修补程序应用于池中的所有主机。

patch-pool-clean

patch-pool-clean uuid=uuid

在池中的所有主机上删除之前上载的修补程序文件。

patch-precheck

patch-precheck uuid=uuid host-uuid=host_uuid

运行之前上载到指定主机的修补程序中包含的预检查。

patch-upload

patch-upload file-name=file_name

将修补程序文件上载到服务器。

PBD 命令

用于 PBD(物理块设备)的命令。PBD 是软件对象,Citrix Hypervisor 服务器通过这些对象访问存储库 (SR)。

可以使用标准对象列出命令 (xe pbd-list) 列出 PBD 对象,并使用标准参数命令操纵参数。有关详细信息,请参阅低级参数命令

PBD 参数

PBD 具有下列参数:

参数名称 说明 类型
uuid PBD 的唯一标识符/对象引用。 只读
sr-uuid PBD 指向的存储库 只读
device-config 提供给主机的 SR 后端驱动程序的额外配置信息 只读 map 参数
currently-attached 如果 SR 已连接到此主机,则为 True,否则为 False 只读
host-uuid 提供 PBD 的物理机的 UUID 只读
host host 字段已弃用。请使用 host_uuid。 只读
other-config 额外的配置信息。 读取/写入 map 参数

pbd-create

pbd-create host-uuid=uuid_of_host sr-uuid=uuid_of_sr [device-config:key=corresponding_value]

在您的 Citrix Hypervisor 服务器上创建 PBD。只能在创建时设置只读 device-config 参数。

要将映射从“path”添加到“/tmp”,命令行应包含参数 device-config:path=/tmp

有关每个 SR 类型上受支持的 device-config 键/值对的完整列表,请参阅存储

pbd-destroy

pbd-destroy uuid=uuid_of_pbd

销毁指定的 PBD。

pbd-plug

pbd-plug uuid=uuid_of_pbd

尝试将 PBD 插入 Citrix Hypervisor 服务器。如果此命令成功,则引用的 SR(和包含在其中的 VDI)应对 Citrix Hypervisor 服务器可见。

pbd-unplug

pbd-unplug uuid=uuid_of_pbd

尝试从 Citrix Hypervisor 服务器中拔出 PBD。

PIF 命令

用于 PIF(代表物理网络接口的对象)的命令。

可以使用标准对象列出命令 (xe pif-list) 列出 PIF 对象,并使用标准参数命令操纵参数。有关详细信息,请参阅低级参数命令

PIF 参数

PIF 具有下列参数:

参数名称 说明 类型
uuid PIF 的唯一标识符/对象引用 只读
device machine-readable 接口的名称(例如 eth0) 只读
MAC PIF 的 MAC 地址 只读
other-config 额外的 PIF 配置 name:value 对。 读取/写入 map 参数
physical 如果为 true,则 PIF 指向实际的物理网络接口 只读
currently-attached PIF 当前是否连接到此主机?truefalse 只读
MTU PIF 的最大传输单位(以字节为单位)。 只读
VLAN 通过此接口的所有通信的 VLAN 标记。-1 表示未分配 VLAN 标记 只读
bond-master-of 此 PIF 作为主服务器的绑定的 UUID(如果有) 只读
bond-slave-of 此 PIF 作为从属服务器的绑定的 UUID(如果有) 只读
management 是否将此 PIF 指定为控制域的管理接口 只读
network-uuid 此 PIF 连接到的虚拟网络的唯一标识符/对象引用 只读
network-name-label 此 PIF 连接到的虚拟网络的名称 只读
host-uuid 此 PIF 连接到的 Citrix Hypervisor 服务器的唯一标识符/对象引用 只读
host-name-label 此 PIF 连接到的 Citrix Hypervisor 服务器的名称 只读
IP-configuration-mode 使用的网络地址配置类型;DHCP 或 static 只读
IP PIF 的 IP 地址。如果 IP 配置模式为 static,则在此处定义;如果 IP 配置模式为 DHCP,则不在此处定义 只读
netmask PIF 的网络掩码。如果 IP 配置模式为 static,则在此处定义;如果由 DHCP 提供,则不在此处定义 只读
gateway PIF 的网关地址。如果 IP 配置模式为 static,则在此处定义;如果由 DHCP 提供,则不在此处定义 只读
DNS PIF 的 DNS 地址。如果 IP 配置模式为 static,则在此处定义;如果由 DHCP 提供,则不在此处定义 只读
io_read_kbs 设备的平均读取速率(以 kb/秒为单位) 只读
io_write_kbs 设备的平均写入速率(以 kb/秒为单位) 只读
carrier 此设备的链路状态 只读
vendor-id 分配给 NIC 供应商的 ID 只读
vendor-name NIC 供应商的名称 只读
device-id 供应商分配给此 NIC 型号的 ID 只读
device-name 供应商分配给此 NIC 型号的名称 只读
speed NIC 的数据传输速率 只读
duplex NIC 的双工模式:“全”或“半” 只读
pci-bus-path PCI 总线路径地址 只读
other-config:ethtoolspeed 设置连接速度(以 Mbps 为单位) 读取/写入
other-config:ethtoolautoneg 设置为 no 会禁用物理接口或网桥的自动协商。默认值为 yes。 读取/写入
other-config:ethtoolduplex 设置 PIF 的双工功能:“全”或“半”。 读取/写入
other-config:ethtool-rx 设置为 on 会启用接收校验和,设置为 off 会禁用接收校验和 读取/写入
other-config:ethtool-tx 设置为 on 会启用发送校验和,设置为 off 会禁用发送校验和 读取/写入
other-config:ethtool-sg 设置为 on 会启用分散收集,设置为 off 会禁用分散收集 读取/写入
other-config:ethtool-tso 设置为 on 会启用 TCP 分段卸载,设置为 off 会禁用 TCP 分段卸载 读取/写入
other-config:ethtool-ufo 设置为 on 会启用 UDP 段卸载,设置为 off 会禁用 UDP 段卸载 读取/写入
other-config:ethtool-gso 设置为 on 会启用通用分段卸载,设置为 off 会禁用通用分段卸载 读取/写入
other-config:domain 用于设置 DNS 搜索路径的逗号分隔列表 读取/写入
other-config:bondmiimon 链接活跃性检查之间的间隔(以毫秒为单位) 读取/写入
other-config:bonddowndelay 断开链接后等待的毫秒数,超过此时间即认为链接确实已断开。此参数允许出现短暂的链接中断现象 读取/写入
other-config:bondupdelay 建立链接后等待的毫秒数,超过此时间即认为链接确实已建立。允许链接出现不稳定的状态。默认值为 31s,以留出交换机开始转发通信的时间。 读取/写入
disallow-unplug 如果此 PIF 为专用存储 NIC,则为 true,否则为 false 读取/写入

注意:

对 PIF 的 other-config 字段所做的更改仅在重新启动后生效。另外,使用 xe pif-unplugxe pif-plug 命令会导致重写 PIF 配置。

pif-forget

pif-forget uuid=uuid_of_pif

销毁特定主机上的指定 PIF 对象。

pif-introduce

pif-introduce host-uuid=host_uuid mac=mac_address_for_pif device=interface_name

在指定的 Citrix Hypervisor 服务器上创建代表物理接口的 PIF 对象。

pif-plug

pif-plug uuid=uuid_of_pif

尝试显示指定的物理接口。

pif-reconfigure-ip

pif-reconfigure-ip uuid=uuid_of_pif [mode=dhcp|mode=static] gateway=network_gateway_address IP=static_ip_for_this_pif netmask=netmask_for_this_pif [DNS=dns_address]

修改 PIF 的 IP 地址。对于静态 IP 配置,请将 mode 参数设置为 static,同时将 gatewayIPnetmask 参数设置为相应的值。要使用 DHCP,请将 mode 参数设置为 DHCP 并将静态参数保持为未定义状态。

注意:

对于使用跨树协议并且关闭了(或不支持)STP 快速链接的交换机,当物理网络接口与该交换机上的端口相连时,如果在这些物理网络接口上使用静态 IP 地址,则会产生没有网络流量的时段。

pif-reconfigure-ipv6

pif-reconfigure-ipv6 uuid=uuid_of_pif mode=mode [gateway=network_gateway_address] [IPv6=static_ip_for_this_pif] [DNS=dns_address]

重新配置 PIF 的 IPv6 地址设置。

pif-scan

pif-scan host-uuid=host_uuid

在 Citrix Hypervisor 服务器上扫描新物理接口。

pif-set-primary-address-type

pif-set-primary-address-type  uuid=uuid primary_address_type=address_type

更改此 PIF 使用的主地址类型。

pif-unplug

pif-unplug uuid=uuid_of_pif

尝试拔出指定的物理接口。

池命令

用于池的命令。是一个或多个 Citrix Hypervisor 服务器的聚合。一个池使用一个或多个共享存储库,以便在池中的一个主机上运行的 VM 可以准实时地迁移到该池中的另一台主机。此迁移在 VM 仍在运行时发生,无需关闭后再重新打开它。默认情况下,每个 Citrix Hypervisor 服务器实际上是由单个成员组成的一个池。Citrix Hypervisor 服务器加入某个池时,将被指定为一个成员,而其所加入的池将成为池的主服务器。

可使用标准对象列出命令 (xe pool-list) 列出单个池对象。可以使用标准参数命令操纵其参数。有关详细信息,请参阅低级参数命令

池参数

池具有下列参数:

参数名称 说明 类型
uuid 池的唯一标识符/对象引用 只读
name-label 池的名称 读取/写入
name-description 池的描述字符串 读取/写入
master 分配为池主服务器的 Citrix Hypervisor 服务器的唯一标识符/对象引用 只读
default-SR 池的默认 SR 的唯一标识符/对象引用 读取/写入
crash-dump-SR 保存池成员的任何故障转储的 SR 的唯一标识符/对象引用 读取/写入
metadata-vdis 池的所有已知元数据 VDI 只读
suspend-image-SR 保存池成员上挂起 VM 的 SR 的唯一标识符/对象引用 读取/写入
other-config 为池指定额外配置参数的键/值对列表 读取/写入 map 参数
supported-sr-types 此池可以使用的 SR 类型 只读
ha-enabled 如果池启用了高可用性功能,则为 true,否则为 false 只读
ha-configuration 保留以供将来使用。 只读
ha-statefiles 列出高可用性功能使用的 VDI 的 UUID 以确定存储运行状况 只读
ha-host-failures-to-tolerate 允许的主机故障数,超过此数量即发送系统警报 读取/写入
ha-plan-exists-for 根据高可用性功能算法的计算,可实际处理的主机故障数 只读
ha-allow-overcommit 如果允许过度使用池,则为 True,否则为 False 读取/写入
ha-overcommitted 如果池被过度使用,则为 True 只读
blobs 二进制数据存储 只读
live-patching-disabled 设置为 False 可启用实时修补。设置为 True 可禁用实时修补。 读取/写入
igmp-snooping-enabled 设置为 True 可启用 IGMP 监听。设置为 False 可禁用 IGMP 监听。 读取/写入

pool-apply-edition

pool-apply-edition edition=edition [uuid=uuid] [license-server-address=address] [license-server-port=port]

在池中应用某个版本。

pool-certificate-install

pool-certificate-install filename=file_name

在池级别安装 SSL 证书。

pool-certificate-list

pool-certificate-list

列出所有已安装的 SSL 证书。

pool-certificate-sync

pool-certificate-sync

将 SSL 证书和证书吊销列表从主服务器同步到从属服务器。

pool-certificate-uninstall

pool-certificate-uninstall name=name

卸载 SSL 证书。

pool-crl-install

pool-crl-install filename=file_name

在池级别安装 SSL 证书吊销列表。

pool-crl-list

pool-crl-list

列出所有已安装的 SSL 证书吊销列表。

pool-crl-uninstall

pool-crl-uninstall name=name

卸载 SSL 证书吊销列表。

pool-deconfigure-wlb

pool-deconfigure-wlb

永久删除 Workload Balancing 的配置。

pool-designate-new-master

pool-designate-new-master host-uuid=uuid_of_new_master

指示指定的成员 Citrix Hypervisor 服务器成为现有池的主服务器。此命令会将主服务器主机的角色有序移交给资源池中的其他主机。在当前主服务器处于联机状态时,此命令才有效。它不会替代下列紧急模式命令。

pool-disable-external-auth

pool-disable-external-auth [uuid=uuid] [config=config]

禁止在池中的所有主机中进行外部身份验证。

pool-disable-local-storage-caching

pool-disable-local-storage-caching uuid=uuid

禁用池中的本地存储缓存。

pool-disable-redo-log

pool-disable-redo-log

如果正在使用恢复日志,则禁用该日志,除非启用了高可用性功能。

pool-disable-ssl-legacy

pool-disable-ssl-legacy [uuid=uuid]

在每个主机上将 ssl-legacy 设置为 False。

pool-dump-database

pool-dump-database file-name=filename_to_dump_database_into_(on_client)

下载整个池数据库的副本并将其转储到客户端上的文件。

pool-enable-external-auth

pool-enable-external-auth  auth-type=auth_type service-name=service_name [uuid=uuid] [config:=config]

允许在池中的所有主机中进行外部身份验证。请注意,auth-type 的某些值需要特定的 config: 值。

pool-enable-local-storage-caching

pool-enable-local-storage-caching uuid=uuid

启用池中的本地存储缓存。

pool-enable-redo-log

pool-ensable-redo-log sr-uuid=sr_uuid

如果正在使用恢复日志,则在给定 SR 上启用该日志,除非启用了高可用性功能。

pool-enable-ssl-legacy

pool-enable-ssl-legacy [uuid=uuid]

在每个主机上将 ssl-legacy 设置为 True。

pool-eject

pool-eject host-uuid=uuid_of_host_to_eject

指示指定的 Citrix Hypervisor 服务器退出现有池。

pool-emergency-reset-master

pool-emergency-reset-master master-address=address_of_pool_master

指示从属成员 Citrix Hypervisor 服务器将其主服务器地址重置为新值,并尝试与其建立连接。请勿在主服务器主机上运行此命令。

pool-emergency-transition-to-master

pool-emergency-transition-to-master

指示成员 Citrix Hypervisor 服务器成为池主服务器。Citrix Hypervisor 服务器仅在已切换到紧急模式后才接受此命令。紧急模式是指该主机所属池的主服务器从网络中消失,经过多次重新尝试后仍无法连接。

如果由于主机加入了池而修改主机密码,此命令可能会导致重置主机密码。有关详细信息,请参阅用户命令

pool-ha-enable

pool-ha-enable heartbeat-sr-uuids=uuid_of_heartbeat_sr

对资源池启用高可用性功能,同时使用指定的 SR UUID 作为中央检测信号存储库。

pool-ha-disable

pool-ha-disable

禁用对资源池的高可用性功能。

pool-ha-compute-hypothetical-max-host-failures-to-tolerate

计算在当前池配置下允许的最大主机故障数。

pool-ha-compute-max-host-failures-to-tolerate

pool-ha-compute-hypothetical-max-host-failures-to-tolerate [vm-uuid=vm_uuid] [restart-priority=restart_priority]

计算在提供的建议受保护 VM 数量下允许的最大主机故障数。

pool-initialize-wlb

pool-initialize-wlb wlb_url=url wlb_username=wlb_username wlb_password=wlb_password xenserver_username=username xenserver_password=password

为具有目标 WLB 服务器的当前池初始化 Workload Balancing。

pool-join

pool-join master-address=address master-username=username master-password=password

指示 Citrix Hypervisor 服务器加入现有池。

pool-management-reconfigure

pool-management-reconfigure [network-uuid=network-uuid]

将池中的所有主机的管理接口重新配置为使用指定的网络接口,即用于连接到 XenCenter 的接口。此命令将为池中的所有主机重写 /etc/xensource-inventory 中的 MANAGEMENT_INTERFACE 键。

如果指定了接口(必须具有 IP 地址)的设备名称,则 Citrix Hypervisor 主机将立即重新绑定。此命令适用于正常模式和紧急模式。

根据指定的网络 UUID,可以标识 PIF 对象的 UUID 并将其映射到用于确定重新绑定到自身的 IP 地址的 Citrix Hypervisor 服务器。执行此命令时一定不能处于紧急模式。

警告:

在除主机外的计算机上使用此 CLI 命令时需谨慎,并确保在新接口上有网络连接。请先使用 xe pif-reconfigure 建立一个连接。否则,后续 CLI 命令将无法到达 Citrix Hypervisor 服务器。

pool-recover-slaves

pool-recover-slaves

指示池主服务器尝试重置当前以紧急模式运行的所有成员的主服务器地址。通常在使用 pool-emergency-transition-to-master 将其中的一个成员设置为新主服务器后使用此命令。

pool-restore-database

pool-restore-database file-name=filename_to_restore_from_on_client [dry-run=true|false]

将数据库备份(使用 pool-dump-database 创建)上载到池中。接收上载的内容后,主服务器将自行重新启动并使用新数据库。

该命令中还包含一个 dry run 选项,借助此选项,您可以确定是否可在无需实际执行操作的情况下还原池数据库。默认情况下,dry-run 设置为 false。

pool-retrieve-wlb-configuration

pool-retrieve-wlb-configuration

从 Workload Balancing 服务器中检索池优化条件。

pool-retrieve-wlb-diagnostics

pool-retrieve-wlb-diagnostics [filename=file_name]

从 Workload Balancing 服务器中检索诊断信息。

pool-retrieve-wlb-recommendations

pool-retrieve-wlb-recommendations

从 Workload Balancing 服务器为池检索 VM 迁移建议。

pool-retrieve-wlb-report

pool-retrieve-wlb-report report=report [filename=file_name]

从 Workload Balancing 服务器检索报告。

pool-send-test-post

pool-send-test-post dest-host=destination_host dest-port=destination_port body=post_body

使用 HTTPS 将给定正文发送到指定主机和端口,并显示响应。此命令用于调试 SSL 层。

pool-send-wlb-configuration

pool-send-wlb-configuration [config:=config]

为 Workload Balancing 服务器设置池优化条件。

pool-sync-database

pool-sync-database

强制池数据库在资源池中的所有主机上进行同步。在正常操作时不需要使用此命令,因为系统会自动定期复制数据库。但是,在执行一系列重要的 CLI 操作后,该命令对于确保快速复制变更可能有用。

设置池 igmp-snooping

pool-param-set [uuid=pool-uuid] [igmp-snooping-enabled=true|false]

在 Citrix Hypervisor 池中启用或禁用 IGMP 监听。

PVS 加速器命令

用于使用 PVS 加速器的命令。

pvs-cache-storage-create

pvs-cache-storage-create sr-uuid=sr_uuid pvs-site-uuid=pvs_site_uuid size=size

在指定主机的指定 SR 上配置 PVS 缓存。

pvs-cache-storage-destroy

pvs-cache-storage-destroy uuid=uuid

删除 PVS 缓存。

pvs-proxy-create

pvs-proxy-create pvs-site-uuid=pvs_site_uuid vif-uuid=vif_uuid

将 VM/VIF 配置为使用 PVS 代理。

pvs-proxy-destroy

pvs-proxy-destroy uuid=uuid

删除(或关闭)此 VIF/VM 的 PVS 代理。

pvs-server-forget

pvs-server-forget uuid=uuid

忽略 PVS 服务器。

pvs-server-introduce

pvs-server-introduce addresses=adresses first-port=first_port last-port=last_port pvs-site-uuid=pvs_site_uuid

引入新的 PVS 服务器。

pvs-site-forget

pvs-site-forget uuid=uuid

忽略 PVS 站点。

pvs-site-introduce

pvs-site-introduce name-label=name_label [name-description=name_description] [pvs-uuid=pvs_uuid]

引入新的 PVS 站点。

存储管理器命令

用于控制存储管理器插件的命令。

可以使用标准对象列出命令 (xe sm-list) 列出存储管理器对象。可以使用标准参数命令操纵参数。有关详细信息,请参阅低级参数命令

SM 参数

SM 包含下列参数:

参数名称 说明 类型
uuid SM 插件的唯一标识符/对象引用 只读
name-label SM 插件的名称 只读
name-description SM 插件的描述字符串 只读
type 此插件连接到的 SR 类型 只读
vendor 创建此插件的供应商的名称 只读
copyright 此 SM 插件的版权声明 只读
required-api-version Citrix Hypervisor 服务器上要求的最低 SM API 版本 只读
configuration 设备配置键的名称和说明 只读
capabilities SM 插件的功能 只读
driver-filename SR 驱动程序的文件名。 只读

快照命令

用于使用快照的命令。

snapshot-clone

snapshot-clone new-name-label=name_label [uuid=uuid] [new-name-description=description]

如果可用,请通过使用存储级别的快速磁盘克隆操作克隆现有快照,来创建新模板。

snapshot-copy

snapshot-copy new-name-label=name_label [uuid=uuid] [new-name-description=name_description] [sr-uuid=sr_uuid]

通过复制现有 VM,但不使用存储级别的快速磁盘克隆操作(即使该操作可用),来创建新模板。保证 VM 副本的磁盘映像为“完整映像”,即该磁盘映像不是 CoW 链的一部分。

snapshot-destroy

snapshot-destroy  [uuid=uuid] [snapshot-uuid=snapshot_uuid]

销毁快照。这会使与快照关联的存储保留不变。要同时删除存储,请使用 snapshot-uninstall。

snapshot-disk-list

snapshot-disk-list [uuid=uuid] [snapshot-uuid=snapshot_uuid] [vbd-params=vbd_params] [vdi-params=vdi_params]

列出所选 VM 上的磁盘。

snapshot-export-to-template

snapshot-export-to-template filename=file_name snapshot-uuid=snapshot_uuid  [preserve-power-state=true|false]

将快照导出到 文件名

snapshot-reset-powerstate

snapshot-reset-powerstate [uuid=uuid] [snapshot-uuid=snapshot_uuid] [--force]

强制 VM 电源状态仅在管理 Toolstack 数据库中变为已停止 。此命令用于恢复标记为“已挂起”的快照。此操作存在潜在危险:您必须确保不再需要内存映像(即,您将无法再恢复快照)。

snapshot-revert

snapshot-revert [uuid=uuid] [snapshot-uuid=snapshot_uuid]

将现有 VM 还原到之前的检查点或快照状态。

snapshot-uninstall

snapshot-uninstall [uuid=uuid] [snapshot-uuid=snapshot_uuid] [--force]

卸载快照。此操作将销毁编辑为 RW 且仅连接到此快照的 VDI。要仅销毁 VM 记录,请使用 snapshot-destroy。

SR 命令

用于控制 SR(存储库)的命令。

可以使用标准对象列出命令 (xe sr-list) 列出 SR 对象,并使用标准参数命令操纵参数。有关详细信息,请参阅低级参数命令

SR 参数

SR 包含下列参数:

参数名称 说明 类型
uuid SR 的唯一标识符/对象引用 只读
name-label SR 的名称 读取/写入
name-description SR 的描述字符串 读取/写入
allowed-operations 在此状态下的 SR 上允许执行的操作的列表 只读 set 参数
current-operations 当前此 SR 上正在进行的操作的列表 只读 set 参数
VDIs 此 SR 中虚拟磁盘的唯一标识符/对象引用 只读 set 参数
PBDs 连接到此 SR 的 PBD 的唯一标识符/对象引用 只读 set 参数
physical-utilisation 此 SR 上当前使用的物理空间(以字节为单位)。对于精简预配的磁盘格式,物理利用率可能低于虚拟分配 只读
physical-size SR 的总物理空间大小(以字节为单位) 只读
type SR 的类型,用于指定要使用的 SR 后端驱动程序 只读
introduced-by 引入 SR 的 drtask(如果有) 只读
content-type SR 内容的类型。用于将 ISO 库与其他 SR 区分开来。对于用于存储 ISO 库的存储库,必须将 content-type 设置为 iso。对于其他情况,我们建议将此参数设置为空或字符串 user。 只读
shared 如果可以在多个 Citrix Hypervisor 服务器之间共享此 SR,则为 True;否则为 False 读取/写入
other-config 为 SR 指定额外配置参数的键/值对列表 读取/写入 map 参数
host 存储库主机名称 只读
virtual-allocation 此存储库中的所有 VDI 的总虚拟大小值(以字节为单位) 只读
sm-config SM 依赖数据 只读 map 参数
blobs 二进制数据存储 只读

sr-create

sr-create name-label=name physical-size=size type=type content-type=content_type device-config:config_name=value [host-uuid=host_uuid] [shared=true|false]

在磁盘上创建一个 SR,将其引入到数据库中,然后创建一个将该 SR 连接到 Citrix Hypervisor 服务器的 PBD。如果 shared 设置为 true,则为池中的每个 Citrix Hypervisor 服务器创建一个 PBD。如果未指定 shared 或将其设置为 false,则仅为使用 host-uuid 指定的 Citrix Hypervisor 服务器创建一个 PBD。

具体的 device-config 参数因设备 type 的不同而异。有关不同存储后端上这些参数的详细信息,请参阅存储

sr-data-source-forget

sr-data-source-forget data-source=data_source

停止为 SR 记录指定数据源并忽略所有已记录的数据。

sr-data-source-list

sr-data-source-list"

列出可为 SR 记录的数据源。

sr-data-source-query

sr-data-source-query data-source=data_source

查询从 SR 数据源读取的最后一个值。

sr-data-source-record

sr-data-source-record  data-source=data_source

记录 SR 的指定数据源。

sr-destroy

sr-destroy uuid=sr_uuid

销毁 Citrix Hypervisor 服务器上指定的 SR。

sr-enable-database-replication

sr-enable-database-replication uuid=sr_uuid

允许将 XAPI 数据库复制到指定(共享)SR。

sr-disable-database-replication

sr-disable-database-replication uuid=sr_uuid

禁止将 XAPI 数据库复制到指定 SR。

sr-forget

sr-forget uuid=sr_uuid

XAPI 代理将忽略 Citrix Hypervisor 服务器上的指定 SR。XAPI 代理忽略了某个 SR,该 SR 被分离,您无法访问其上的 VDI,但该 SR 在源介质中保持原样(数据未丢失)。

sr-introduce

sr-introduce name-label=name physical-size=physical_size type=type content-type=content_type uuid=sr_uuid

即将 SR 记录添加到数据库中。使用 device-configdevice-config:parameter_key=parameter_value 形式指定其他参数,例如:

xe sr-introduce device-config:device=/dev/sdb1

注意:

此命令不用于正常操作中。此高级操作对于在创建 SR 后必须将 SR 重新配置为共享这种情况可能很有用,或者有助于在出现各种故障情形后恢复 SR。

sr-probe

sr-probe type=type [host-uuid=host_uuid] [device-config:config_name=value]

使用提供的 device-config 键执行特定于后端的扫描。如果已为 SR 后端完成 device-config,则此命令将返回设备上的 SR 的列表(如果有)。如果仅完成部分 device-config 参数,则将执行特定于后端的扫描,返回结果将有助于您改进其余 device-config 参数。扫描结果以特定于后端的 XML 形式返回,显示在 CLI 上。

具体的 device-config 参数因设备 type 的不同而异。有关不同存储后端上这些参数的详细信息,请参阅存储

sr-probe-ext

sr-probe-ext type=type [host-uuid=host_uuid] [device-config:=config] [sm-config:-sm_config]

执行存储探测。可以通过 device-config:devs=/dev/sdb1 等指定 device-config 参数。与 sr-probe 不同,此命令将返回格式与每个 SR 类型一样可读的结果。

sr-scan

sr-scan uuid=sr_uuid

强制执行 SR 扫描,同时将 XAPI 数据库与基础存储基底中的 VDI 同步。

sr-update

sr-update uuid=uuid

刷新数据库中 SR 对象的字段。

lvhd-enable-thin-provisioning

lvhd-enable-thin-provisioning  sr-uuid=sr_uuid initial-allocation=initial_allocation allocation-quantum=allocation_quantum

对 LVHD SR 启用精简预配。

使用者命令

用于使用使用者的命令。

session-subject-identifier-list

session-subject-identifier-list

返回所有已通过外部身份验证的现有会话的所有用户使用者 ID 列表。

session-subject-identifier-logout

session-subject-identifier-logout subject-identifier=subject_identifier

注销与用户使用者 ID 关联的所有已通过外部身份验证的会话。

session-subject-identifier-logout-all

session-subject-identifier-logout-all

注销所有已通过外部身份验证的会话。

subject-add

subject-add subject-name=subject_name

将使用者添加到可以访问池的使用者列表中。

subject-remove

subject-remove subject-uuid=subject_uuid

从可以访问池的使用者列表中删除某个使用者。

subject-role-add

subject-role-add uuid=uuid [role-name=role_name] [role-uuid=role_uuid]

向使用者添加角色。

subject-role-remove

subject-role-remove uuid=uuid [role-name=role_name] [role-uuid=role_uuid]

删除使用者的角色。

secret-create

secret-create value=value

创建密钥。

secret-destroy

secret-destroy uuid=uuid

销毁密钥。

任务命令

用于长时间运行的异步任务的命令。这些命令是启动、停止和挂起虚拟机等任务。这些任务通常由一组共同完成请求的操作的其他原子任务组成。

可以使用标准对象列出命令 (xe task-list) 列出任务对象,并使用标准参数命令操纵参数。有关详细信息,请参阅低级参数命令

任务参数

任务包含下列参数:

参数名称 说明 类型
uuid 任务的唯一标识符/对象引用 只读
name-label 任务的名称 只读
name-description 任务的描述字符串 只读
resident-on 运行任务的主机的唯一标识符/对象引用 只读
status 任务的状态 只读
progress 如果任务尚未完成,则此字段包含估算的已完成百分比(介于 0 到 1 之间)。如果任务已完成,无论成功与否,值均为 1。 只读
type 如果任务已成功完成,此参数将包含编码结果的类型。类型是其参考位于结果字段中的类别的名称。否则,此参数的值处于未定义状态 只读
result 如果任务已成功完成,此字段将包含结果值(为空或对象引用);否则,此参数的值处于未定义状态 只读
error_info 如果任务已失败,则此参数包含一组相关的错误字符串。否则,此参数的值处于未定义状态 只读
allowed_operations 此状态下允许执行的操作的列表 只读
created 创建任务的时间 只读
finished 任务完成时间 (即,成功或失败)。如果任务状态是未完成,则此字段的值没有任何意义 只读
subtask_of 包含以此任务为子任务的任务的 UUID 只读
subtasks 包含此任务的所有子任务的 UUID 只读

task-cancel

task-cancel [uuid=task_uuid]

指示取消指定的任务并返回。

模板命令

用于 VM 模板的命令。

模板实质上是 is-a-template 参数设置为 true 的 VM。模板是包含所有各种设置以实例化特定 VM 的“黄金映像”。Citrix Hypervisor 随附了一组基础模板,它们是通用的“原始”VM,能够引导操作系统厂商提供的安装 CD(例如,RHEL、CentOS、SLES、Windows)。您可以创建 VM,按照您的特定需要以标准形式配置它们,将它们的副本保存为模板供将来在 VM 部署中使用。

可以使用标准对象列出命令 (xe template-list) 列出模板对象,并使用标准参数命令操纵参数。有关详细信息,请参阅低级参数命令

注意:

不能通过将 is-a-template 参数设置为 false 来将模板直接转换为 VM。不支持将 is-a-template 参数设置为 false,这样会导致 VM 无法启动。

VM 模板参数

模板包含下列参数:

  • uuid(只读)模板的唯一标识符/对象引用
  • name-label(读取/写入)模板的名称
  • name-description(读取/写入)模板的描述字符串
  • user-version(读取/写入)用于输入版本信息的 VM 和模板创建者的字符串
  • is-a-template(读取/写入)如果此 VM 为模板,则为 true。 模板 VM 无法启动,它们仅用于克隆其他 VM。将此值设置为 true 后,将无法再重置为 false。不能使用此参数将模板 VM 转换为 VM。
  • is-control-domain(只读)如果是控制域(域 0 或驱动程序域),则为 true
  • power-state(只读)当前电源状态。对于模板,此值始终为已停止
  • memory-dynamic-max(只读)最大动态内存(以字节为单位)。 当前未使用,但如果更改则必须遵守以下限制:memory_static_max >= memory_dynamic_max >= memory_dynamic_min >= memory_static_min
  • memory-dynamic-min(读取/写入)最小动态内存(以字节为单位)。 当前未使用,但如果更改,则必须遵守与针对 memory-dynamic-max 的限制相同的限制。
  • memory-static-max(读取/写入)静态设置(绝对)最大内存(以字节为单位)。此字段是用于确定分配给 VM 的内存量的主要值。
  • memory-static-min(读取/写入)静态设置(绝对)最小内存(以字节为单位)。 此字段代表绝对最小内存,并且 memory-static-min 必须小于 memory-static-max。 此值当前未用于正常操作,但是必须遵守前面提到的限制。
  • suspend-VDI-uuid(只读)存储挂起映像的 VDI(对于模板没有意义)
  • VCPUs-params(读取/写入 map 参数)所选 vCPU 策略的配置参数。

    可以使用以下命令调整 vCPU 固定:

     xe template-param-set uuid=<template_uuid> vCPUs-params:mask=1,2,3
    

    从此模板创建的 VM 稍后将仅在物理 CPU 1、CPU 2 和 CPU 3 上运行。

    还可以使用 cap 和 weight 参数调整 vCPU 优先级(xen 调度)。例如:

     xe template-param-set uuid=<template_uuid> VCPUs-params:weight=512 xe template-param-set uuid=<template_uuid> VCPUs-params:cap=100
    

    基于此模板且权重为 512 的 VM 所获得的 CPU 将是竞争主机上权重为 256 的域的两倍。合法的权重范围为 1 到 65535,默认值为 256。

    上限可选地规定基于此模板的 VM 可以占用的最大 CPU 量,即使 Citrix Hypervisor 服务器具有空闲 CPU 周期也应用此上限。此上限以一个物理 CPU 的百分比表示:100 是 1 个物理 CPU,50 是半个物理 CPU,400 是 4 个物理 CPU,依此类推。默认值为 0,表示无上限。

  • VCPUs-max(读取/写入)最大 vCPU 数量
  • VCPUs-at-startup(读取/写入)vCPU 的引导编号
  • actions-after-crash(读取/写入)当基于此模板的 VM 崩溃时要采取的操作
  • console-uuids(只读 set 参数)虚拟控制台设备
  • platform(读取/写入 map 参数)特定于平台的配置

    禁用 HVM 来宾系统(例如,Windows 来宾系统)的并行端口模拟:

     xe vm-param-set uuid=<vm_uuid> platform:parallel=none
    

    禁用 HVM 来宾系统的串行端口模拟:

     xe vm-param-set uuid=<vm_uuid> platform:hvm_serial=none
    

    禁用 HVM 来宾系统的 USB 控制器和 USB 平板电脑设备模拟:

     xe vm-param-set uuid=<vm_uuid> platform:usb=false
     xe vm-param-set uuid=<vm_uuid> platform:usb_tablet=false
    
  • allowed-operations(只读 set 参数)在此状态下允许执行的操作的列表
  • current-operations(只读 set 参数)当前正在对此模板执行的操作的列表
  • allowed-VBD-devices(只读 set 参数)可供使用的 VBD 标识符的列表,用 0 到 15 之间的整数表示。此列表仅供参考,可以使用未在此列表中列出的其他设备(但可能无法正常运行)。
  • allowed-VIF-devices(只读 set 参数)可供使用的 VIF 标识符的列表,用 0 到 15 之间的整数表示。此列表仅供参考,可以使用未在此列表中列出的其他设备(但可能无法正常运行)。
  • HVM-boot-policy(读取/写入)HVM 来宾系统的引导策略。BIOS 顺序或空字符串。
  • HVM-boot-params(读取/写入 map 参数)order 键控制 HVM 来宾系统引导顺序,以字符串表示,其中每个字符代表一种引导方法:d 代表 CD/DVD,c 代表根磁盘,n 代表网络 PXE 引导。默认值为 dc。
  • PV-kernel(读取/写入)内核路径
  • PV-ramdisk(读取/写入)initrd 路径
  • PV-args(读取/写入)内核命令行参数字符串
  • PV-legacy-args(读取/写入)使旧 VM 基于此模板引导的参数字符串
  • PV-bootloader(读取/写入)引导加载程序的名称或路径
  • PV-bootloader-args(读取/写入)引导加载程序的其他参数的字符串
  • last-boot-CPU-flags(只读)描述上次引导基于此模板的 VM 时所在的 CPU 的标志;不为模板填充此参数
  • resident-on(只读)基于此模板的 VM 所在的 Citrix Hypervisor 服务器。对于模板,将显示为 not in database
  • affinity(读取/写入)基于此模板的 VM 在其上具有优先运行权的 Citrix Hypervisor 服务器、。由 xe vm-start 命令用于确定在何处运行 VM
  • other-config(读取/写入 map 参数)为模板指定额外配置参数的键/值对列表
  • start-time(只读)读取基于此模板的 VM 指标的日期和时间的时间戳,以 yyyymmddThh:mm:ss z 的形式表示,其中 z 是单字母军用时区指示器,例如,Z 表示 UTC (GMT)。对于模板,设置为 1 Jan 1970 Z(Unix/POSIX 新纪元的起始日期)
  • install-time(只读)读取基于此模板的 VM 指标的日期和时间的时间戳,以 yyyymmddThh:mm:ss z 的形式表示,其中 z 是单字母军用时区指示器,例如,Z 表示 UTC (GMT)。对于模板,设置为 1 Jan 1970 Z(Unix/POSIX 新纪元的起始日期)
  • memory-actual(只读)基于此模板的 VM 正在使用的实际内存;对于模板,该值为 0
  • VCPUs-number(只读)分配给基于此模板的 VM 的虚拟 CPU 数目;对于模板,该值为 0
  • VCPUs-Utilization(只读 map 参数)虚拟 CPU 及其权重只读 map 参数 os-version(基于此模板的 VM 的操作系统版本)的列表。对于模板,将显示为 not in database
  • PV-drivers-version(只读 map 参数)基于此模板的 VM 的半虚拟化驱动程序的版本。对于模板,将显示为 not in database
  • PV-drivers-detected(只读)基于此模板的 VM 的半虚拟化驱动程序的最新版本的标志。对于模板,将显示为 not in database
  • memory(只读 map 参数)由基于此模板的 VM 上的代理报告的内存指标。对于模板,将显示为 not in database
  • disks(只读 map 参数)由基于此模板的 VM 上的代理报告的磁盘指标。对于模板,将显示为 not in database
  • networks(只读 map 参数)由基于此模板的 VM 上的代理报告的网络指标。对于模板,将显示为 not in database
  • other(只读 map 参数)由基于此模板的 VM 上的代理报告的其他指标。对于模板,将显示为 not in database
  • guest-metrics-last-updated(只读)来宾代理对这些字段执行最后一次写入操作时的时间戳。以 yyyymmddThh:mm:ss z 的形式表示,其中 z 是单字母军用时区指示器,例如,Z 代表 UTC (GMT)
  • actions-after-shutdown(读取/写入)将在 VM 关闭后执行的操作
  • actions-after-reboot(读取/写入)将在 VM 重新启动后执行的操作
  • possible-hosts(只读)可以托管 VM 的潜在主机列表
  • HVM-shadow-multiplier(读取/写入)应用于被设置为可供来宾系统使用的重影量的系数
  • dom-id(只读)域 ID(如果可用,否则为 -1)
  • recommendations(只读)此 VM 的建议值和属性范围的 XML 规范
  • xenstore-data(读取/写入 map 参数)在创建 VM 后将插入到 xenstore 树 (/local/domain/domid/vmdata) 的数据。
  • is-a-snapshot(只读)如果此模板为 VM 快照,则为 true
  • snapshot_of(只读)以此模板为快照的 VM 的 UUID
  • snapshots(只读)根据此模板生成的任何快照的 UUID
  • snapshot_time(只读)最近生成的 VM 快照的时间戳
  • memory-target(只读)为此模板设置的目标内存量
  • blocked-operations(读取/写入 map 参数)列出无法对此模板执行的操作
  • last-boot-record(只读)此模板的上次引导参数的记录,使用 XML 格式
  • ha-always-run(读取/写入)如果此模板的实例在其所在的主机发生故障后始终在其他主机上重新启动,则为 True。此参数现已弃用。请改为使用 ha-restartpriority 参数。
  • ha-restart-priority(只读)重新启动或最大努力读取/写入 blob 二进制数据存储
  • live(只读)仅与正在运行的 VM 相关。

template-export

template-export template-uuid=uuid_of_existing_template filename=filename_for_new_template

将指定模板的副本导出到文件,使用指定的新文件名。

template-uninstall

template-uninstall template-uuid=template_uuid [--force]

卸载自定义模板。此操作将销毁这些标记为由此模板“所有”的 VDI。

更新命令

下一节包含 Citrix Hypervisor 服务器更新命令。

可以使用标准对象列出命令 (xe update-list) 列出更新对象,并使用标准参数命令操纵参数。有关详细信息,请参阅低级参数命令

更新参数

Citrix Hypervisor 服务器更新具有以下参数:

参数名称 说明 类型
uuid 更新的唯一标识符/对象引用 只读
host 此更新应用到的主机列表 只读
host-uuid 要查询的 Citrix Hypervisor 服务器的唯一标识符 只读
name-label 更新的名称 只读
name-description 更新的描字符串 只读
applied 是否已应用更新;true 或 false 只读
installation-size 更新的大小(以字节为单位) 只读
after-apply-guidance XAPI Toolstack 或主机是否需要重新启动 只读
version 更新的版本 只读

update-upload

update-upload file-name=update_filename

将指定的更新文件上载到 Citrix Hypervisor 服务器。此命令可以为应用更新做好准备。成功时,会显示已上载更新的 UUID。如果先前已上载过此更新,则将返回 UPDATE_ALREADY_EXISTS 错误,而不会再次上载该修补程序。

update-precheck

update-precheck uuid=update_uuid host-uuid=host_uuid

对指定 Citrix Hypervisor 服务器运行包含在指定更新中的预检查。

update-destroy

update-destroy uuid=update_file_uuid

从池中删除未应用的更新文件。可用于删除不能应用到主机的更新文件。

update-apply

update-apply host-uuid=host_uuid uuid=update_file_uuid

应用指定的更新文件。

update-pool-apply

update-pool-apply uuid=update_uuid

将指定更新应用到池中的所有 Citrix Hypervisor 服务器。

update-introduce

update-introduce vdi-uuid=vdi_uuid

引入更新 VDI。

update-pool-clean

update-pool-clean uuid=uuid

从池中的所有主机删除更新文件。

用户命令

user-password-change

user-password-change old=old_password new=new_password

更改用户登录密码。未选中旧密码字段,因为使用此命令需要主管特权。

VBD 命令

用于 VBD(虚拟块设备)的命令。

VBD 是一个软件对象,用于将 VM 连接到 VDI(代表虚拟磁盘的内容)。VBD 具有将 VDI 绑定到 VM 的属性(是否可引导、其读取/写入指标等)。VDI 包含与虚拟磁盘的物理属性有关的信息(SR 类型、磁盘是否可共享、介质是可读写介质还是只读介质等)。

可以使用标准对象列出命令 (xe vbd-list) 列出 VBD 对象,并使用标准参数命令操纵参数。有关详细信息,请参阅低级参数命令

VBD 参数

VBD 包含下列参数:

参数名称 说明 类型
uuid VBD 的唯一标识符/对象引用 只读
vm-uuid 此 VBD 连接到的 VM 的唯一标识符/对象引用 只读
vm-name-label 此 VBD 连接到的 VM 的名称 只读
vdi-uuid 此 VBD 映射到的 VDI 的唯一标识符/对象引用 只读
vdi-name-label 此 VBD 映射到的 VDI 的名称 只读
empty 如果为 true,则此 VBD 代表空驱动器 只读
device 可对来宾系统显示的设备,例如 hda 只读
userdevice vbd-create 期间通过 device 参数指定的设备号,例如,0 表示 hda,1 表示 hdb 读取/写入
bootable 如果此 VBD 可引导,则为 true 读取/写入
mode 装载 VBD 应使用的模式 读取/写入
type VBD 对 VM 的显示方式,例如磁盘或 CD 读取/写入
currently-attached 如果 VBD 已连接到此主机,则为 True,否则为 false 只读
storage-lock 如果获得了存储级别锁定,则为 true 只读
status-code 与上次连接操作相关联的错误/成功代码 只读
status-detail 与上次连接操作状态相关联的错误/成功信息 只读
qos_algorithm_type 要使用的 QoS 算法 读取/写入
qos_algorithm_params 所选 QoS 算法的参数 读取/写入 map 参数
qos_supported_algorithms 此 VBD 支持的 QoS 算法 只读 set 参数
io_read_kbs 此 VBD 的平均读取速率(以 kbps 为单位) 只读
io_write_kbs 此 VBD 的平均写入速率(以 kbps 为单位) 只读
allowed-operations 此状态下允许执行的操作的列表。此列表只是建议性的,并且客户端读取此字段时服务器状态可能已更改。 只读 set 参数
current-operations 将每个使用此对象(通过引用)的正在运行的任务链接到描述此任务本质的 current_operation 枚举。 只读 set 参数
unpluggable 如果此 VBD 支持热拔出,则为 True 读取/写入
attachable 如果设备可以连接,则为 True 只读
other-config 额外的配置 读取/写入 map 参数

vbd-create

vbd-create vm-uuid=uuid_of_the_vm device=device_value vdi-uuid=uuid_of_vdi_to_connect_to [bootable=true] [type=Disk|CD] [mode=RW|RO]

在 VM 上创建 VBD。

device 字段允许使用的值为介于 0 到 15 之间的整数,并且每个 VM 的数值必须唯一。可以在指定 VM 上的 allowed-VBD-devices 参数中查看当前允许使用的值。在 vbd 参数中,此值被视为 userdevice

如果 typeDisk,则 vdi-uuid 为必填字段。对于磁盘,模式可以为 RORW

如果 typeCD,则 vdi-uuid 是可选字段。如果不指定 VDI,则为 CD 创建空 VBD。对于 CD,模式必须为 RO

vbd-destroy

vbd-destroy uuid=uuid_of_vbd

销毁指定的 VBD。

如果 VBD 将其 other-config:owner 参数设置为 true,则其关联的 VDI 也将被销毁。

vbd-eject

vbd-eject uuid=uuid_of_vbd

从 VBD 代表的驱动器中删除介质。仅当介质是可移动类型(物理 CD 或 ISO)时,此命令才有效。否则,将返回错误消息 VBD_NOT_REMOVABLE_MEDIA

vbd-insert

vbd-insert uuid=uuid_of_vbd vdi-uuid=uuid_of_vdi_containing_media

将新介质插入到 VBD 代表的驱动器中。仅当介质是可移动类型(物理 CD 或 ISO)时,此命令才有效。否则,将返回错误消息 VBD_NOT_REMOVABLE_MEDIA

vbd-plug

vbd-plug uuid=uuid_of_vbd

尝试在 VM 处于运行状态时连接 VBD。

vbd-unplug

vbd-unplug uuid=uuid_of_vbd

尝试在 VM 处于运行状态时将 VBD 从 VM 分离。

VDI 命令

用于 VDI(虚拟磁盘映像)的命令。

VDI 是一个软件对象,代表对 VM 可见的虚拟磁盘的内容。与 VBD 不同,此对象是将 VM 绑定到 VDI 的对象。VDI 包含与虚拟磁盘的物理属性有关的信息(SR 类型、磁盘是否可共享、介质是可读写介质还是只读介质等)。VBD 具有将 VDI 绑定到 VM 的属性(是否可引导、其读取/写入指标等)。

可以使用标准对象列出命令 (xe vdi-list) 列出 VDI 对象,并使用标准参数命令操纵参数。有关详细信息,请参阅低级参数命令

VDI 参数

VDI 包含下列参数:

参数名称 说明 类型
uuid VDI 的唯一标识符/对象引用 只读
name-label VDI 的名称 读取/写入
name-description VDI 的描述字符串 读取/写入
allowed-operations 在此状态下允许执行的操作的列表 只读 set 参数
current-operations 此 VDI 上当前正在进行的操作的列表 只读 set 参数
sr-uuid VDI 所在的 SR 只读
vbd-uuids 引用此 VDI 的 VBD 的列表 只读 set 参数
crashdump-uuids 引用此 VDI 的故障转储的列表 只读 set 参数
virtual-size 向 VM 提供的磁盘大小(以字节为单位)。此大小可能会不准确,具体取决于存储后端的类型 只读
physical-utilisation VDI 在 SR 上占用的物理空间量(以字节为单位) 只读
type VDI 的类型,例如系统或用户 只读
sharable 如果此 VDI 可以共享,则为 True 只读
read-only 如果此 VDI 仅可以装载为只读,则为 True 只读
storage-lock 如果此 VDI 锁定在存储级别,则为 True 只读
parent 如果此 VDI 是链的一部分,则引用父 VDI 只读
missing 如果 SR 扫描操作报告此 VDI 不存在,则为 True 只读
other-config 此 VDI 的额外配置信息 读取/写入 map 参数
sr-name-label 所包含的存储库的名称 只读
location 位置信息 只读
managed 如果 VDI 是托管的,则为 True 只读
xenstore-data 在连接 VDI 后将插入到 xenstore 树 (/local/domain/0/backend/vbd/domid/device-id/sm-data) 的数据。SM 后端通常在 vdi_attach 上设置此字段。 只读 map 参数
sm-config SM 依赖数据 只读 map 参数
is-a-snapshot 如果此 VDI 是 VM 存储快照,则为 True 只读
snapshot_of 以此 VDI 为快照的存储的 UUID 只读
snapshots 此 VDI 的所有快照的 UUID 只读
snapshot_time 创建此 VDI 的快照操作的时间戳 只读
metadata-of-pool 创建此元数据 VDI 的池的 UUID 只读
metadata-latest 指示 VDI 中是否包含此池的最新已知元数据的标志 只读
cbt-enabled 指示是否为 VDI 启用了更改块跟踪的标记 读取/写入

vdi-clone

vdi-clone uuid=uuid_of_the_vdi [driver-params:key=value]

创建指定 VDI 的新可写副本,此副本可直接使用。它是 vdi-copy 的变体,可公开其所在的映像高速克隆工具。

使用可选 driver-params 映射参数将额外的供应商特定的配置信息传递到 VDI 所基于的后端存储驱动程序。有关详细信息,请参阅存储供应商驱动程序文档。

vdi-copy

vdi-copy uuid=uuid_of_the_vdi sr-uuid=uuid_of_the_destination_sr

将 VDI 复制到指定的 SR。

vdi-create

vdi-create sr-uuid=uuid_of_sr_to_create_vdi_on name-label=name_for_the_vdi type=system|user|suspend|crashdump virtual-size=size_of_virtual_disk sm-config-*=storage_specific_configuration_data

创建 VDI。

virtual-size 参数可以以字节为单位进行指定,也可以使用 IEC 标准后缀 KiB、MiB、GiB 和 TiB 来指定。

注意:

支持磁盘的精简预配的 SR 类型(例如本地 VHD 和 NFS)不强制执行磁盘的虚拟分配。在 SR 上过量分配虚拟磁盘空间时应十分小心。当过量分配的 SR 变满时,SR 目标基底上必须提供可用磁盘空间,或通过删除 SR 中未使用的 VDI 来获得磁盘空间。

某些 SR 类型可能会对 virtual-size 值进行舍入处理,以使此值可被已配置块的大小整除。

vdi-data-destroy

vdi-data-destroy uuid=uuid_of_vdi

销毁与指定 VDI 关联的数据,但保留更改块跟踪元数据。

注意:

如果使用更改块跟踪功能对 VDI 进行增量备份,请务必使用 vdi-data-destroy 命令删除快照,但保留元数据。请勿在启用了更改块跟踪功能的 VDI 的快照上使用 vdi-destroy

vdi-destroy

vdi-destroy uuid=uuid_of_vdi

销毁指定的 VDI。

注意:

如果使用更改块跟踪功能对 VDI 进行增量备份,请务必使用 vdi-data-destroy 命令删除快照,但保留元数据。请勿在启用了更改块跟踪功能的 VDI 的快照上使用 vdi-destroy

对于本地 VHD 和 NFS SR 类型,使用 vdi-destroy 不能立即释放磁盘空间,而是在存储库扫描操作期间定期释放磁盘空间。如果必须强制使删除所得的磁盘空间可用,应手动调用 [sr-scan](#sr-scan)。

vdi-disable-cbt

vdi-disable-cbt uuid=uuid_of_vdi

对 VDI 禁用更改块跟踪。

vdi-enable-cbt

vdi-enable-cbt uuid=uuid_of_vdi

对 VDI 启用更改块跟踪。

注意:

只能对获得许可的 Citrix Hypervisor Premium Edition 实例启用更改块跟踪功能。

vdi-export

vdi-export uuid=uuid_of_vdi filename=filename_to_export_to [format=format] [base=uuid_of_base_vdi] [--progress]

将 VDI 导出到指定的文件名。您可以采用以下格式之一导出 VDI:

  • raw
  • vhd

VHD 格式可以为稀疏。如果 VDI 中存在未分配的块,则可能从 VHD 文件中忽略这些块,因此使 VHD 文件更小。您可以从所有受支持的基于 VHD 的存储类型(EXT、NFS)导出到 VHD 格式。

如果指定 base 参数,此命令将仅导出那些在已导出的 VDI 和基础 VDI 之间发生更改的块。

vdi-forget

vdi-forget uuid=uuid_of_vdi

从数据库无条件删除 VDI 记录,不涉及存储后端。在正常操作中,您应当使用 [vdi-destroy](#vdi-destroy)。

vdi-import

vdi-import uuid=uuid_of_vdi filename=filename_to_import_from [format=format] [--progress]

导入 VDI。您可以采用以下格式之一导入 VDI:

  • raw
  • vhd

vdi-introduce

vdi-introduce uuid=uuid_of_vdi sr-uuid=uuid_of_sr name-label=name_of_new_vdi type=system|user|suspend|crashdump location=device_location_(varies_by_storage_type) [name-description=description_of_vdi] [sharable=yes|no] [read-only=yes|no] [other-config=map_to_store_misc_user_specific_data] [xenstore-data=map_to_of_additional_xenstore_keys] [sm-config=storage_specific_configuration_data]

创建代表现有存储设备的 VDI 对象,无需实际修改或创建任何存储。此命令主要在内部使用,用来自动引入热插入存储设备。

vdi-list-changed-blocks

vdi-list-changed-blocks vdi-from-uuid=first-vdi-uuid vdi-to-uuid=second-vdi-uuid

比较两个 VDI 并以 base64 编码的字符串格式返回两个 VDI 之间更改的块的列表。此命令仅适用于启用了更改块跟踪功能的 VDI。

有关详细信息,请参阅更改块跟踪

vdi-pool-migrate

vdi-pool-migrate uuid=VDI_uuid sr-uuid=destination-sr-uuid

将 VDI 迁移到指定的 SR,同时将 VDI 连接到正在运行的来宾系统。(存储实时迁移)

有关详细信息,请参阅迁移 VM

vdi-resize

vdi-resize uuid=vdi_uuid disk-size=new_size_for_disk

更改由 UUID 指定的 VDI 的大小。

vdi-snapshot

vdi-snapshot uuid=uuid_of_the_vdi [driver-params=params]

生成 VDI 的读写版本,该版本可用作进行备份或创建模板时的参考。使用快照可以执行备份,而非在 VM 内部安装和运行备份软件。当外部备份软件将快照内容发送到备份介质时,VM 可以继续运行。同样,快照可用作“黄金映像”,可以基于此映像创建模板。可以使用任何 VDI 创建模板。

使用可选 driver-params 映射参数将额外的供应商特定的配置信息传递到 VDI 所基于的后端存储驱动程序。有关详细信息,请参阅存储供应商驱动程序文档。

克隆快照应始终生成可写 VDI。

vdi-unlock

vdi-unlock uuid=uuid_of_vdi_to_unlock [force=true]

尝试取消对指定 VDI 的锁定。如果将 force=true 传递给此命令,它将强制执行取消锁定操作。

vdi-update

vdi-update uuid=uuid

刷新数据库中 VDI 对象的字段。

VIF 命令

用于 VIF(虚拟网络接口)的命令。

可以使用标准对象列出命令 (xe vif-list) 列出 VIF 对象,并使用标准参数命令操纵参数。有关详细信息,请参阅低级参数命令

VIF 参数

VIF 包含下列参数:

  • uuid(只读)VIF 的唯一标识符/对象引用
  • vm-uuid(只读)此 VIF 所在 VM 的唯一标识符/对象引用
  • vm-name-label(只读)此 VIF 所在 VM 的名称
  • allowed-operations(只读 set 参数)在此状态下允许执行的操作的列表
  • current-operations(只读 set 参数)当前正在对此 VIF 执行的操作的列表
  • device(只读)此 VIF 的整数标签,指示 VIF 后端的创建顺序
  • MAC(只读)对 VM 公开的 VIF 的 MAC 地址
  • MTU(只读)VIF 的最大传输单位(以字节为单位)。

    此参数为只读参数,但是可以通过使用 other-config 映射参数的 mtu 键覆盖 MTU 设置。例如,在虚拟 NIC 上重置 MTU 以使用巨型帧:

     xe vif-param-set \
         uuid=<vif_uuid> \
         other-config:mtu=9000
    
  • currently-attached(只读)如果连接了设备,则为 true
  • qos_algorithm_type(读取/写入)要使用的 QoS 算法
  • qos_algorithm_params(读取/写入 map 参数)所选 QoS 算法的参数
  • qos_supported_algorithms(只读 set 参数)此 VIF 支持的 QoS 算法
  • MAC-autogenerated(只读)如果自动生成 VIF 的 MAC 地址,则为 True
  • other-config(读取/写入 map 参数) 额外的配置 key:value
  • other-config:ethtoolrx(读取/写入)设置为 on 会启用接收校验和,设置为 off 会禁用接收校验和
  • other-config:ethtooltx(读取/写入)设置为 on 会启用发送校验和,设置为 off 会禁用发送校验和
  • other-config:ethtoolsg(读取/写入)设置为 on 会启用分散收集,设置为 off 会禁用分散收集
  • other-config:ethtooltso(读取/写入)设置为 on 会启用 TCP 分段卸载,设置为 off 会禁用 TCP 分段卸载
  • other-config:ethtoolufo(读取/写入)设置为 on 会启用 UDP 段卸载,设置为 off 会禁用 UDP 段卸载
  • other-config:ethtoolgso(读取/写入)设置为 on 会启用通用分段卸载,设置为 off 会禁用通用分段卸载
  • other-config:promiscuous(读取/写入)为 true 时,VIF 在桥上为混杂模式,以便监测通过该桥的所有通信。对于在 VM 中运行入侵检测系统 (IDS) 或类似系统会有所帮助。
  • network-uuid(只读)此 VIF 连接到的虚拟网络的唯一标识符/对象引用
  • network-name-label(只读)此 VIF 连接到的虚拟网络的描述性名称
  • io_read_kbs(只读)此 VIF 的平均读取速率(以 kb/秒为单位)
  • io_write_kbs(只读) 此 VIF 的平均写入速率(以 kb/秒为单位)
  • locking_mode(读取/写入)影响 VIF 能不能过滤到/来自 MAC 和 IP 地址列表的通信。需要额外参数。
  • locking_mode:default(读取/写入)因 VIF 网络的默认锁定模式而异。

    如果将 default-locking-mode 设为 disabled,则 Citrix Hypervisor 应用过滤规则,使 VIF 无法发送或接收通信。如果将 default-locking-mode 设为 unlocked,Citrix Hypervisor 将删除所有与 VIF 相关联的过滤规则。有关详细信息,请参阅网络命令

  • locking_mode:locked(读取/写入)仅允许通过 VIF 传输发送到指定 MAC 和 IP 地址的流量或从这些地址发送的流量。如果不指定 IP 地址,则不允许任何流量。
  • locking_mode:unlocked(读取/写入)不对任何传入或传出 VIF 的流量应用任何过滤器。
  • locking_mode:disabled(读取/写入) Citrix Hypervisor 会应用一个过滤规则,以使 VIF 丢弃所有通信。

vif-create

vif-create vm-uuid=uuid_of_the_vm device=see below network-uuid=uuid_of_network_to_connect_to [mac=mac_address]

在 VM 上创建 VIF。

device 字段中相应的值列在指定 VM 上的 allowed-VIF-devices 参数中。如果 VM 中尚不存在 VIF,则值为从 0 到 15 之间的整数。

mac 参数为标准 MAC 地址,格式为 aa:bb:cc:dd:ee:ff。如果不指定此地址,则会创建一个适当的随机 MAC 地址。还可以通过指定 mac=random 显式设置一个随机 MAC 地址。

vif-destroy

vif-destroy uuid=uuid_of_vif

销毁 VIF。

vif-move

vif-move uuid=uuid network-uuid=network_uuid

将 VIF 移到另一个网络。

vif-plug

vif-plug uuid=uuid_of_vif

尝试在 VM 处于运行状态时连接 VIF。

vif-unplug

vif-unplug uuid=uuid_of_vif

当 VM 处于运行状态时尝试将 VIF 从中分离出来。

vif-configure-ipv4

为此虚拟接口配置 IPv4 设置。按如下所示设置 IPv4 设置:

vif-configure-ipv4 uuid=uuid_of_vif mode=static address=CIDR_address gateway=gateway_address

例如:

VIF.configure_ipv4(vifObject,"static", " 192.168.1.10/24", " 192.168.1.1")

按如下所示清理 IPv4 设置:

vif-configure-ipv4 uuid=uuid_of_vif mode=none

vif-configure-ipv6

为此虚拟接口配置 IPv6 设置。按如下所示设置 IPv6 设置:

vif-configure-ipv6 uuid=uuid_of_vif mode=static address=IP_address gateway=gateway_address

例如:

VIF.configure_ipv6(vifObject,"static", "fd06:7768:b9e5:8b00::5001/64", "fd06:7768:b9e5:8b00::1")

按如下所示清理 IPv6 设置:

vif-configure-ipv6 uuid=uuid_of_vif mode=none

VLAN 命令

用于 VLAN(虚拟网络)的命令。要列出并编辑虚拟接口,请参阅 PIF 命令,这些命令包含 VLAN 参数以指示虚拟接口具有关联虚拟网络。有关详细信息,请参阅 PIF 命令。例如,要列出 VLAN,请使用 xe pif-list

vlan-create

vlan-create pif-uuid=uuid_of_pif vlan=vlan_number network-uuid=uuid_of_network

在 Citrix Hypervisor 服务器上创建 VLAN。

pool-vlan-create

pool-vlan-create pif-uuid=uuid_of_pif vlan=vlan_number network-uuid=uuid_of_network

通过确定特定网络所在的每个主机的接口(例如 eth0),并在每个相应的主机上创建和插入一个新的 PIF 对象,为池中的所有主机创建一个 VLAN。

vlan-destroy

vlan-destroy uuid=uuid_of_pif_mapped_to_vlan

销毁 VLAN。需要使用表示 VLAN 的 PIF 的 UUID。

VM 命令

控制 VM 及其属性的命令。

VM 选择器

此处列出的几个命令具有一个共同的机制,即可选择一个或多个要对其执行操作的 VM。最简单的方法是提供参数 vm=name_or_uuid。例如,获取实际 VM 的 UUID 的一种简单的方法是执行 xe vm-list power-state=running。(获取可通过使用命令 xe vm-list params=all 进行匹配的字段的完整列表)例如,指定 power-state=halted 将选择其 power-state 参数等于 halted 的 VM。如果有多个匹配的 VM,则应指定选项 --multiple 来执行此操作。本节开头介绍了可匹配的完整参数列表。

可以使用标准对象列出命令 (xe vm-list) 列出 VM 对象,并使用标准参数命令操纵参数。有关详细信息,请参阅低级参数命令

VM 参数

VM 具有下列参数:

注意:

当 VM 运行时,可以更改所有可写入的 VM 参数值,但不会动态应用新参数,并且重新启动 VM 之后才能应用新参数。

  • appliance(读取/写入)VM 所属的设备/vApp
  • uuid(只读)VM 的唯一标识符/对象引用
  • name-label(读取/写入)VM 的名称
  • name-description(读取/写入)VM 的描述字符串
  • order start order(读取/写入)用于 vApp 启动/关闭以及在进行高可用性故障转移之后启动
  • version(只读)此 VM 已经恢复的次数。如果要使用较早的版本覆盖新 VM,则调用 vm-recover
  • user-version(读取/写入)用于输入版本信息的 VM 和模板创建者的字符串
  • is-a-template(读取/写入)除非此 VM 为模板,否则为 False。模板 VM 无法启动,它们仅用于克隆其他 VM。将此值重置为 true 后,将无法再重置为 false。不能使用此参数将模板 VM 转换为 VM。
  • is-control-domain(只读)如果是控制域(域 0 或驱动程序域),则为 True
  • power-state(只读)当前电源状态
  • start-delay(读取/写入)在用来启动 VM 的调用返回之前等待的时间
  • shutdown-delay(读取/写入)在用来关闭 VM 的调用返回之前等待的时间
  • memory-dynamic-max(读取/写入)最大动态内存(以字节为单位)
  • memory-dynamic-min(读取/写入)最小动态内存(以字节为单位)
  • memory-static-max(读取/写入)静态设置(绝对)最大内存(以字节为单位)。如果要更改此值,必须关闭 VM。
  • memory-static-min(读取/写入)静态设置(绝对)最小内存(以字节为单位)。如果要更改此值,必须关闭 VM。
  • suspend-VDI-uuid(只读)存储挂起映像的 VDI
  • VCPUs-params(读取/写入 map 参数)所选 vCPU 策略的配置参数。

    可以使用以下命令调整 vCPU 固定

     xe vm-param-set uuid=<vm_uuid> VCPUs-params:mask=1,2,3
    

    然后,所选 VM 仅在物理 CPU 1、2 和 3 上运行。 还可以使用 cap 和 weight 参数调整 vCPU 优先级(xen 调度)。例如:

     xe vm-param-set uuid=<vm_uuid> VCPUs-params:weight=512 xe vm-param-set uuid=<vm_uuid> VCPUs-params:cap=100
    

    在竞争的 Citrix Hypervisor 服务器上,权重为 512 的 VM 获得的 CPU 将是权重为 256 的域的两倍。合法的权重范围为 1 到 65535,默认值为 256。即使 Citrix Hypervisor 服务器具有空闲 CPU 周期,该上限也可以选择性地确定 VM 能够占用的最大 CPU 量。此上限以一个物理 CPU 的百分比表示:100 是 1 个物理 CPU,50 是半个物理 CPU,400 是 4 个物理 CPU,依此类推。默认值为 0,表示无上限。

  • VCPUs-max(读取/写入)虚拟 CPU 的最大数量。
  • VCPUs-at-startup(读取/写入)虚拟 CPU 的引导编号
  • actions-after-crash(读取/写入)VM 崩溃后执行的操作。对于 PV 来宾,有效的参数如下:
    • preserve(仅供分析使用)
    • coredump_and_restart(记录核心转储并重新启动 VM)
    • coredump_and_destroy(记录核心转储并使 VM 处于已停止状态)
    • restart(不记录核心转储并重新启动 VM)
    • destroy(不记录核心转储并使 VM 处于已停止状态)
  • console-uuids(只读 set 参数)虚拟控制台设备
  • platform(读取/写入 map 参数)特定于平台的配置

    要禁止 Virtual Desktop Agent (VDA) 将 Windows 10 切换到平板电脑模式,请执行以下操作:

     xe vm-param-set uuid=<vm_uuid> platform:acpi_laptop_slate=0
    

    要允许 VDA 将 Windows 10 切换到平板电脑模式,请执行以下操作:

     xe vm-param-set uuid=<vm_uuid> platform:acpi_laptop_slate=1
    

    要检查当前状态,请执行以下操作:

     xe vm-param-get uuid=<vm_uuid> param-name=platform param-key=acpi_laptop_slate
    
  • allowed-operations(只读 set 参数)在此状态下允许执行的操作的列表
  • current-operations(只读 set 参数)当前正在对 VM 执行的操作的列表
  • allowed-VBD-devices(只读 set 参数)可供使用的 VBD 标识符的列表,用 0 到 15 之间的整数表示。此列表仅供参考,可以使用未在此列表中列出的其他设备(但可能无法正常运行)。
  • allowed-VIF-devices(只读 set 参数)可供使用的 VIF 标识符的列表,用 0 到 15 之间的整数表示。此列表仅供参考,可以使用未在此列表中列出的其他设备(但可能无法正常运行)。
  • HVM-boot-policy(读取/写入)HVM 来宾系统的引导策略。BIOS 顺序或空字符串。
  • HVM-boot-params(读取/写入 map 参数)order 键控制 HVM 来宾系统引导顺序,以字符串表示,其中每个字符代表一种引导方法:d 代表 CD/DVD,c 代表根磁盘,n 代表网络 PXE 引导。默认值为 dc。
  • HVM-shadow-multiplier(读取/写入)浮点值,用于控制授予 VM 的影子内存开销量。默认值为 1.0(最小值),只有高级用户才能更改此值。
  • PV-kernel(读取/写入)内核路径
  • PV-ramdisk(读取/写入)initrd 路径
  • PV-args(读取/写入)内核命令行参数字符串
  • PV-legacy-args(读取/写入)引导旧 VM 的参数字符串
  • PV-bootloader(读取/写入)引导加载程序的名称或路径
  • PV-bootloader-args(读取/写入)引导加载程序的其他参数的字符串
  • last-boot-CPU-flags(只读)描述上次引导 VM 时所在的 CPU 的标志
  • resident-on(只读)VM 所在的 Citrix Hypervisor 服务器
  • affinity(读取/写入)VM 在其上具有优先运行权的 Citrix Hypervisor 服务器。由 xe vm-start 命令用于确定在何处运行 VM
  • other-config(读取/写入 map 参数)为 VM 指定额外配置参数的键/值对列表。例如,如果 other-config 参数包括键/值对 auto_poweron: true,则引导主机后将自动启动 VM
  • start-time(只读)读取 VM 的指标的日期和时间的时间戳。此时间戳以 yyyymmddThh:mm:ss z 的形式表示,其中 z 是单字母军用时区指示器,例如,Z 代表 UTC (GMT)
  • install-time(只读)读取 VM 的指标的日期和时间的时间戳。此时间戳以 yyyymmddThh:mm:ss z 的形式表示,其中 z 是单字母军用时区指示器,例如,Z 代表 UTC (GMT)
  • memory-actual(只读)VM 使用的实际内存
  • VCPUs-number(只读)为 PV(半虚拟化)或 HVM(硬件虚拟机)Linux VM 分配给 VM 的虚拟 CPU 数量。此数量可能与 VCPUS-max 不同且使用 vm-vcpu-hotplug 命令就可以对此数量进行更改,而不必重新引导 VM。有关详细信息,请参阅 [vm-vcpu-hotplug](#vm-vcpu-hotplug)。Windows VM 始终在 vCPU 数量设置为 VCPUsmax 的情况下运行并且必须重新启动才可以更改此值。如果为 VCPUs-number 设置的值大于 Citrix Hypervisor 服务器上的物理 CPU 数量,性能将急剧下降。
  • VCPUs-Utilization(只读 map 参数)虚拟 CPU 及其权重的列表
  • os-version(只读 map 参数)VM 的操作系统版本
  • PV-drivers-version(只读 map 参数)VM 的半虚拟化驱动程序的版本
  • PV-drivers-detected(只读)VM 的半虚拟化驱动程序最新版本的标志
  • memory(只读 map 参数)由 VM 上的代理报告的内存指标
  • disks(只读 map 参数)有 VM 上的代理报告的磁盘指标
  • networks(只读 map 参数)由 VM 上的代理报告的网络指标
  • other(只读 map 参数)由 VM 上的代理报告的其他指标
  • guest-metrics-lastupdated(只读)来宾代理对这些字段执行最后一次写入操作时的时间戳。此时间戳以 yyyymmddThh:mm:ss z 的形式表示,其中 z 是单字母军用时区指示器,例如,Z 代表 UTC (GMT)
  • actions-after-shutdown(读取/写入)将在 VM 关闭后执行的操作
  • actions-after-reboot(读取/写入)将在 VM 重新启动后执行的操作
  • possible-hosts 可能驻留此只读 VM 的主机
  • dom-id(只读)域 ID(如果可用,否则为 -1)
  • recommendations(只读)此 VM 的建议值和属性范围的 XML 规范
  • xenstore-data(读取/写入 map 参数)在创建 VM 后将插入到 xenstore 树 (/local/domain/domid/vm-data) 的数据。
  • is-a-snapshot(只读)如果此 VM 为快照,则为 True
  • snapshot_of(只读)以此 VM 为快照的 VM 的 UUID
  • snapshots(只读)此 VM 的所有快照的 UUID
  • snapshot_time(只读)创建此 VM 快照的快照操作的时间戳
  • memory-target(只读)为此 VM 设置的目标内存量
  • blocked-operations(读取/写入 map 参数)列出无法对此 VM 执行的操作
  • last-boot-record(只读)此模板的上次引导参数的记录,使用 XML 格式
  • ha-always-run(读取/写入)如果此 VM 在其所在的主机发生故障后始终在其他主机上重新启动,则为 True。此参数现已弃用。请改为使用 ha-restart-priority 参数。
  • ha-restart-priority(读取/写入)重新启动或最大努力
  • blobs(只读)二进制数据存储
  • live(只读)如果 VM 正在运行,则为 True。如果高可用性功能猜测 VM 可能没有运行,则为 False。

vm-assert-can-be-recovered

vm-assert-can-be-recovered uuid [database] vdi-uuid

测试存储是否可用于恢复此 VM。

vm-call-plugin

vm-call-plugin vm-uuid=vm_uuid plugin=plugin fn=function [args:key=value]

使用可选参数 (args:key=value) 调用指定 VM 上的插件中的功能。要传递其中包含特殊字符(例如,换行)的“value”,可以适当使用替代语法 args:key:file=local_file,其中 local_file 的内容将作为整体进行检索并分配给“key”。

vm-cd-add

vm-cd-add cd-name=name_of_new_cd device=integer_value_of_an_available_vbd [vm-selector=vm_selector_value...]

将新虚拟 CD 添加到所选的 VM。应从 VM 的 allowed-VBD-devices 参数值中选择 device 参数。

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

vm-cd-eject

vm-cd-eject [vm-selector=vm_selector_value...]

从虚拟 CD 驱动器弹出 CD。仅当只有一个 CD 连接到 VM 时,此命令才有效。如果有两个或更多 CD,请使用命令 xe vbd-eject,并指定 VBD 的 UUID。

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

vm-cd-insert

vm-cd-insert cd-name=name_of_cd [vm-selector=vm_selector_value...]

将 CD 插入到虚拟 CD 驱动器。仅当只有一个空 CD 设备连接到 VM 时,此命令才有效。如果有两个或多个空 CD 设备,请使用命令 xe vbd-insert,并指定要插入的 VBD 和 VDI 的 UUID。

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

vm-cd-list

vm-cd-list [vbd-params] [vdi-params] [vm-selector=vm_selector_value...]

列出连接到指定 VM 的 CD。

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

还可以选择要列出哪些 VBD 和 VDI 参数。

vm-cd-remove

vm-cd-remove cd-name=name_of_cd [vm-selector=vm_selector_value...]

从指定 VM 中移除虚拟 CD。

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

vm-checkpoint

vm-checkpoint new-name-label=name_label [new-name-description=description]

如果可用,请使用存储级别的快速磁盘克隆操作生成现有 VM 的检查点。

vm-clone

vm-clone new-name-label=name_for_clone [new-name-description=description_for_clone] [vm-selector=vm_selector_value...]

如果可用,请使用存储级别的快速磁盘克隆操作克隆现有的 VM。使用 new-name-labelnew-name-description 参数为生成的克隆 VM 指定名称和可选说明。

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

vm-compute-maximum-memory

vm-compute-maximum-memory total=amount_of_available_physical_ram_in_bytes [approximate=add overhead memory for additional vCPUS? true|false] [vm_selector=vm_selector_value...]

通过将物理 RAM 的总量用作上限来计算可以分配给现有 VM 的最大静态内存量。可选参数 approximate 在计算过程中保留足够的额外内存,以便以后将额外的 vCPU 添加到 VM。

例如:

xe vm-compute-maximum-memory vm=testvm total=`xe host-list params=memory-free --minimal`

此命令使用 xe host-list 命令返回的 memory-free 参数的值设置名为 testvm 的 VM 的最大内存。

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

vm-compute-memory-overhead

vm-compute-memory-overhead

计算 VM 的虚拟化内存开销。

vm-copy

vm-copy new-name-label=name_for_copy [new-name-description=description_for_copy] [sr-uuid=uuid_of_sr] [vm-selector=vm_selector_value...]

复制现有 VM,但不使用存储级别的快速磁盘克隆操作(即使该操作可用)。保证 VM 副本的磁盘映像为完整映像,即该磁盘映像不是写入时复制 (CoW) 链的一部分。

使用 new-name-labelnew-name-description 参数为生成的 VM 副本指定名称和可选说明。

使用 sr-uuid 为生成的 VM 副本指定目标 SR。如果未指定此参数,则目标 SR 与原始 VM 所在的 SR 相同。

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

vm-copy-bios-strings

vm-copy-bios-strings host-uuid=host_uuid

将指定主机的 BIOS 字符串复制到 VM。

vm-crashdump-list

vm-crashdump-list [vm-selector=vm selector value...]

列出与指定 VM 关联的故障转储。

使用可选参数 params 时,params 的值是一个字符串,其中包含您希望显示的此对象的参数列表。或者,可以使用关键字 all 显示所有参数。如果不使用 params,则返回的列表将显示所有可用参数的默认子集。

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

vm-data-source-list

vm-data-source-list [vm-selector=vm selector value...]

列出可为 VM 记录的数据源。

通过使用标准选择机制来选择要在其上执行此操作的 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。如果未提供用于选择主机的参数,将在所有 VM 上执行该操作。

数据源具有两个参数:standardenabled,可以在此命令的输出中看到这两个参数。如果数据源的 enabled 设置为 true,则指标当前被记录到性能数据库中。如果数据源的 standard 设置为 true,则默认情况下指标会记录到性能数据库中(因此,该数据源的 enabled 也将设置为 true)。如果数据源的 standard 设置为 false,则默认情况下指标不会记录到性能数据库中(因此,该数据源的 enabled 也将设置为 false)。

要开始将数据源指标记录到性能数据库,请运行 vm-data-source-record 命令。此命令将 enabled 设置为 true。要停止记录,请运行 vm-data-source-forget。此命令将 enabled 设置为 false

vm-data-source-record

vm-data-source-record data-source=name_description_of_data-source [vm-selector=vm selector value...]

记录 VM 的指定数据源。

此操作会将数据源中的信息写入指定 VM 的静态性能指标数据库中。由于性能的原因,此数据库不同于普通的代理数据库。

通过使用标准选择机制来选择要在其上执行此操作的 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。如果未提供用于选择主机的参数,将在所有 VM 上执行该操作。

vm-data-source-forget

vm-data-source-forget data-source=name_description_of_data-source [vm-selector=vm selector value...]

停止为 VM 记录指定数据源并忽略所有已记录的数据。

通过使用标准选择机制来选择要在其上执行此操作的 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。如果未提供用于选择主机的参数,将在所有 VM 上执行该操作。

vm-data-source-query

vm-data-source-query data-source=name_description_of_data-source [vm-selector=vm_selector_value...]

显示 VM 的指定数据源。

通过使用标准选择机制来选择要在其上执行此操作的 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。如果未提供用于选择主机的参数,将在所有 VM 上执行该操作。

vm-destroy

vm-destroy uuid=uuid_of_vm

销毁指定的 VM。这会使与 VM 关联的存储保留不变。要同时删除存储,请使用 xe vm-uninstall

vm-disk-add

vm-disk-add disk-size=size_of_disk_to_add device=uuid_of_device [vm-selector=vm_selector_value...]

将磁盘添加到指定 VM。从 VM 的 allowed-VBD-devices 参数值中选择 device 参数。

disk-size 参数可以以字节为单位进行指定,也可以使用 IEC 标准后缀 KiB、MiB、GiB 和 TiB 来指定。

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

vm-disk-list

vm-disk-list [vbd-params] [vdi-params] [vm-selector=vm_selector_value...]

列出连接到指定 VM 的磁盘。vbd-paramsvdi-params 参数控制要输出的各个对象的字段。以逗号分隔列表的形式指定这些参数,或者为整个列表指定特殊键 all

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

vm-disk-remove

vm-disk-remove device=integer_label_of_disk [vm-selector=vm_selector_value...]

从指定 VM 移除磁盘并将其销毁。

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

vm-export

vm-export filename=export_filename [metadata=true|false] [vm-selector=vm_selector_value...]

将指定 VM(包括磁盘映像)导出到本地计算机上的文件中。使用 filename 参数指定将 VM 导出到的文件的文件名。按照惯例,此文件名的扩展名应该为 .xva

如果 metadata 参数是 true,则不会导出磁盘。只有 VM 元数据才会被写入到输出文件中。当基础存储通过其他机制进行传输时使用此参数,并允许重新创建 VM 信息。有关详细信息,请参阅 vm-import

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

vm-import

vm-import filename=export_filename [metadata=true|false] [preserve=true|false][sr-uuid=destination_sr_uuid]

从之前导出的文件导入 VM。如果将 preserve 设置为 true,则将保留原始 VM 的 MAC 地址。sr-uuid 确定要将 VM 导入的目标 SR。如果未指定此参数,则使用默认 SR。

filename 参数还可以指向 XVA 格式的 VM,这是 Citrix Hypervisor 3.2 的传统导出格式。某些第三方供应商会使用此格式来提供虚拟设备。XVA 格式使用目录存储 VM 数据,因此将 filename 设置为 XVA 导出的根目录而不是实际的文件。导入的传统来宾系统的后续导出内容将自动升级到新的基于文件名的格式,这种格式可以存储更多关于 VM 配置的数据。

注意:

早期的基于目录的 XVA 格式不能完整保留所有 VM 属性。尤其是导入的 VM 在默认情况下不会连接任何虚拟网络接口。如果需要网络连接,则使用 vif-createvif-plug 创建一个网络连接。

如果 metadatatrue,则可以导入之前导出的一组元数据,而不会导入与之关联的磁盘块。如果找不到 VDI(按照 SR 和 VDI.location 命名),只导入元数据的操作将会失败,除非指定 --force 选项,这时无论遇到什么情况导入都会继续。如果可以对磁盘进行镜像或将其移到带外,则元数据导入/导出是一种在无连接的池之间移动 VM 的快捷方法。例如,作为灾难恢复方案的一部分。

注意:

以串行方式导入多个 VM 比使用并行方式更快。

vm-install

vm-install new-name-label=name [template-uuid=uuid_of_desired_template] [template=template_uuid_or_name] [sr-uuid=sr_uuid | sr-name-label=name_of_sr][copy-bios-strings-from=host_uuid]

基于模板安装或克隆 VM。使用 template-uuidtemplate 参数指定模板名称。使用 sr-uuidsr-name-label 参数指定 SR。指定使用 copy-bios-strings-from 参数安装锁定了 BIOS 的介质。

注意:

在基于包含现有磁盘的模板进行安装时,将默认在现有磁盘所在的同一个 SR 中创建新磁盘。如果该 SR 支持基于模板的安装,这些磁盘将进行快速复制。如果在命令行上指定了其他 SR,则将在该 SR 中创建新磁盘。在这种情况下,无法实现快速复制,磁盘将进行完整复制。

基于不含现有磁盘的模板进行安装时,将在指定的 SR 中创建任何新磁盘;如果没有指定 SR,则将在池的默认 SR 中创建新磁盘。

vm-is-bios-customized

vm-is-bios-customized

指示是否已自定义 VM 的 BIOS 字符串。

vm-memory-balloon

vm-memory-balloon target=target

设置正在运行的 VM 的内存目标。指定的值必须位于 VM 的 memory_dynamic_min and memory_dynamic_max 值所定义的范围内。

vm-memory-dynamic-range-set

vm-memory-dynamic-range-set min=min max=max

配置 VM 的动态内存范围。动态内存范围定义 VM 的内存下限和上限。可以在 VM 正在运行或已停止时更改这些字段。动态范围必须在静态范围内。

vm-memory-limits-set

vm-memory-limits-set static-min=static_min static-max=static_max dynamic-min=dynamic_min dynamic-max=dynamic_max

配置 VM 的内存限制。

vm-memory-set

vm-memory-set memory=memory

配置 VM 的内存分配。

vm-memory-shadow-multiplier-set

vm-memory-shadow-multiplier-set [vm-selector=vm_selector_value...] [multiplier=float_memory_multiplier]

设置指定 VM 的影子内存系数。

这是用于修改分配给硬件辅助 VM 的影子内存量的高级选项。

在 Citrix Virtual Apps 等某些专用应用程序工作负载中,需要具有额外的影子内存才能获得最佳性能。

此内存视为一种系统开销。在计算 VM 内存时,此种内存与普通内存分开计算。调用此命令后,可用主机内存量将减少(减少量视系数而定),并且 HVM_shadow_multiplier 字段将使用 Xen 分配给 VM 的值进行更新。如果没有足够的可用 Citrix Hypervisor 服务器内存,将返回错误。

将使用标准选择机制来选择应在其上执行此操作的 VM。有关详细信息,请参阅 VM 选择器

vm-memory-static-range-set

vm-memory-static-range-set min=min max=max

配置 VM 的静态内存范围。静态内存范围定义 VM 内存的下限和上限。只能在 VM 已停止时更改这些字段。静态范围必须大于动态范围。

vm-memory-target-set

vm-memory-target-set target=target

设置已停止或正在运行的 VM 的内存目标。指定的值必须位于 VM 的 memory_static_min and memory_static_max 值所定义的范围内。

vm-memory-target-wait

vm-memory-target-wait

等待正在运行的 VM 达到其当前内存目标。

vm-migrate

vm-migrate [copy=true|false] [host-uuid=destination_host_uuid] [host=name_or_ uuid_of_destination_host] [force=true|false] [live=true|false] [vm-selector=vm_selector_value...] [remote-master=destination_pool_master_uuid] [remote-username=destination_pool_username] [remote-password=destination_pool_password] [remote-network=destination_pool_network_uuid ][vif:=vif_uuid] [vdi=vdi_uuid]

此命令在物理主机之间迁移指定的 VM。host 参数可以是 Citrix Hypervisor 服务器的名称或 UUID。例如,要将 VM 迁移到池中的其他主机,其中,VM 磁盘位于两个主机共享的存储上,请运行以下命令:

xe vm-migrate uuid=vm_uuid host-uuid=host_uuid

要在同一个池中不共享存储的主机之间移动 VM(存储实时迁移),请运行以下命令:

xe vm-migrate uuid=vm_uuid remote-master=12.34.56.78 \
    remote-username=username remote-password=password \
    host-uuid=desination_host_uuid vdi=vdi_uuid

可以选择存储每个 VDI 的 SR:

xe vm-migrate uuid=vm_uuid host-uuid=destination_host_uuid \
    vdi1:vdi_1_uuid=destination_sr_uuid \
    vdi2:vdi_2_uuid=destination_sr2_uuid \
    vdi3:vdi_3_uuid=destination_sr3_uuid

此外,还可以选择迁移后要连接 VM 的网络:

xe vm-migrate uuid=vm_uuid \
    vdi1:vdi_1_uuid=destination_sr_uuid \
    vdi2:vdi_2_uuid=destination_sr2_uuid \
    vdi3:vdi_3_uuid=destination_sr3_uuid \
    vif:vif_uuid=network_uuid

对于跨池迁移:

xe vm-migrate uuid=vm_uuid remote-master=12.34.56.78
    remote-username=username remote-password=password \
    host-uuid=desination_host_uuid vdi=vdi_uuid

有关存储实时迁移、实时迁移和实时 VDI 迁移的详细信息,请参阅迁移 VM

默认情况下,VM 将挂起、迁移并在另一台主机上恢复。live 参数选择实时迁移。实时迁移使 VM 在执行迁移时继续运行,从而使 VM 停机时间缩短至小于一秒。在某些情况下(如 VM 中的内存工作负载繁重),实时迁移将自动恢复到默认模式,并在完成内存传输前将 VM 挂起一小段时间。

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

vm-pause

vm-pause

暂停正在运行的 VM。请注意,此操作不会释放关联的内存(请参阅 vm-suspend)。

vm-query-services

vm-query-services

查询由给定 VM 提供的系统服务。

vm-reboot

vm-reboot [vm-selector=vm_selector_value...] [force=true]

重新启动指定的 VM。

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

使用 force 参数会导致非正常重新启动。关闭类似于拔出物理服务器上的插头。

vm-recover

vm-recover vm-uuid [database] [vdi-uuid] [force]

从提供的 VDI 中包含的数据库恢复 VM。

vm-reset-powerstate

vm-reset-powerstate [vm-selector=vm_selector_value...] {force=true}

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

这是一个高级命令,仅在池中的成员主机出现故障时使用。您可以使用此命令强制池主服务器将 VM 的电源状态重置为 halted。实际上,此命令将强制锁定 VM 及其磁盘,以便可在另一台池主机上启动此 VM。此调用要求指定 force 标志,如果命令行中不存在 force 标志,则调用将失败。

vm-resume

vm-resume [vm-selector=vm_selector_value...] [force=true|false] [on=host_uuid]

恢复指定的 VM。

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

如果 VM 位于主机池中的共享 SR 上,则使用 on 参数指定在其上启动 VM 的池成员。默认情况下,系统会确定合适的主机,该主机可能是池的任意成员。

vm-retrieve-wlb-recommendations

vm-retrieve-wlb-recommendations

检索针对所选 VM 的 Workload Balancing 建议。

vm-shutdown

vm-shutdown [vm-selector=vm_selector_value...] [force=true|false]

关闭指定的 VM。

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

使用 force 参数将导致非正常关机,与拔掉物理服务器上的插头相似。

vm-snapshot

vm-snapshot new-name-label=name_label [new-name-description+name_description]

如果可用,请使用存储级别的快速磁盘克隆操作生成现有 VM 的快照。

vm-snapshot-with-quiesce

vm-snapshot-with-quiesce new-name-label=name_label [new-name-description+name_description]

如果可用,请使用存储级别的快速磁盘克隆操作生成现有 VM 的静止快照。

vm-start

vm-start [vm-selector=vm_selector_value...] [force=true|false] [on=host_uuid] [--multiple]

启动指定的 VM。

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

如果 VM 位于主机池中的共享 SR 上,则使用 on 参数指定在其上启动 VM 的池成员。默认情况下,系统会确定合适的主机,该主机可能是池的任意成员。

vm-suspend

vm-suspend [vm-selector=vm_selector_value...]

挂起指定的 VM。

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

vm-uninstall

vm-uninstall [vm-selector=vm_selector_value...] [force=true|false]

卸载 VM — 销毁其磁盘(标记了 RW 且仅连接到此 VM 的 VDI)及其元数据记录。要仅销毁 VM 元数据,请使用 xe vm-destroy

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

vm-unpause

vm-unpause

取消暂停已暂停的 VM。

vm-vcpu-hotplug

vm-vcpu-hotplug new-vcpus=new_vcpu_count [vm-selector=vm_selector_value...]

动态调整正在运行的 PV 或 HVM Linux VM 可用的 vCPU 数量。vCPU 数量由参数 VCPUs-max 进行限制。Windows VM 始终在 vCPU 数量设置为 VCPUs-max 的情况下运行并且必须重新启动才可以更改此值。

使用标准选择机制来选择将在其上执行此操作的 PV 或一个或多个 HVM Linux VM。有关详细信息,请参阅 VM 选择器。可选参数可以为本节开头列出的 VM 参数中的任意数量。

注意:

运行未安装 Citrix VM Tools 的某些 Linux VM 时,请以 root 用户身份在 VM 上运行以下命令以确保使用新热插拔的 vCPU:# for i in /sys/devices/system/cpu/cpu[1-9]*/online; do if [ "$(cat $i)" = 0 ]; then echo 1 > $i; fi; done

vm-vif-list

vm-vif-list [vm-selector=vm_selector_value...]

列出指定 VM 中的 VIF。

使用标准选择机制选择要在其上执行此操作的一个或多个 VM。有关详细信息,请参阅 VM 选择器。过滤时选择器将对 VM 记录执行操作,而对 VIF 值执行操作。可选参数可以为本节开头列出的 VM 参数中的任意数量。

计划快照

用于控制 VM 计划快照及其属性的命令。

可以使用标准对象列出命令 (xe vmss-list) 列出 vmss 对象,并使用标准参数命令操纵参数。有关详细信息,请参阅低级参数命令

vmss-create

vmss-create enabled=True/False name-label=name type=type frequency=frequency retained-snapshots=value name-description=description schedule:schedule

在池中创建快照计划。

例如:

xe vmss-create retained-snapshots=9 enabled=true frequency=daily \
    name-description=sample name-label=samplepolicy type=snapshot \
    schedule:hour=10 schedule:min=30

快照计划具有以下参数:

参数名称 说明 类型
name-label 快照计划的名称。 读取/写入
name-description 快照计划的说明。 读取/写入
type 磁盘快照;内存快照;静止快照 读取/写入
frequency 每小时;每日;每周 读取/写入
retained-snapshots 要保留的快照。范围:1-10。 读取/写入
schedule schedule:days(星期一到星期日),schedule:hours(0 到 23),schedule:minutes(0、15、30、45) 读取/写入

vmss-destroy

vmss-destroy uuid=uuid

销毁池中的快照计划。

USB 直通

USB 直通启用/禁用

pusb-param-set uuid=pusb_uuid passthrough-enabled=true/false

启用/禁用 USB 直通。

pusb-scan

pusb-scan host-uuid=host_uuid

扫描 PUSB 和更新。

vusb-create

vusb-create usb-group-uuid=usb_group_uuid vm-uuid=vm_uuid

在池中创建虚拟 USB。启动 VM 以将 USB 直接传递到 VM。

vusb-unplug

vusb-unplug uuid=vusb_uuid

从 VM 中拔出 USB 设备。

vusb-destroy

vusb-destroy uuid=vusb_uuid

从 VM 中删除虚拟 USB 列表。