XenServer

命令行界面

xe CLI 使您能够编写脚本并自动化系统管理任务。使用 CLI 将 XenServer® 集成到现有 IT 基础架构中。

xe CLI 入门

xe 命令行界面默认安装在所有 XenServer 主机上。XenCenter 包含一个远程 Windows 版本。Linux 也提供独立的远程 CLI。

在您的 XenServer 主机上

xe 命令行界面默认安装在您的主机上。您可以在 dom0 控制台中运行 xe CLI 命令。通过以下任一方式访问 dom0 控制台:

  • 在 XenCenter 中,转到要运行命令的主机的控制台选项卡。
  • 通过 SSH 连接到要运行命令的主机。

在 Windows 上

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

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

在 Linux 上

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

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

rpm -ivh xapi-xe-BUILD.x86_64.rpm
<!--NeedCopy-->

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

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

注意:

当尝试通过安全连接运行涉及文件传输的命令时,Linux 上的远程 xe CLI 可能会挂起。如果是这样,您可以使用 --no-ssl 参数通过不安全的连接向 XenServer 主机运行命令。

获取 xe 命令的帮助

通过输入以下内容,可以获取主机上 CLI 命令的基本帮助:

xe help command
<!--NeedCopy-->

如果您输入以下内容,将显示最常用的 xe 命令列表:

xe help
<!--NeedCopy-->

或者,如果您输入以下内容,将显示所有 xe 命令的列表:

xe help --all
<!--NeedCopy-->

基本 xe 语法

所有 XenServer xe CLI 命令的基本语法是:

xe command-name argument=value argument=value
<!--NeedCopy-->

每个特定命令都包含自己的一组参数,其形式为 argument=value。有些命令有必需参数,大多数命令都有一组可选参数。通常,在不带可选参数调用命令时,命令会为其中一些可选参数采用默认值。

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

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

可以指定 password-file 参数而不是直接指定密码。在这种情况下,xe 命令会尝试从指定文件中读取密码并使用该密码进行连接。(文件末尾的任何尾随回车符和换行符都将被去除。)此方法比直接在命令行中指定密码更安全。

可选的 port 参数可用于指定远程 XenServer 主机上的代理端口(默认为 443)。

示例: 在本地 XenServer 主机上:

xe vm-list
<!--NeedCopy-->

示例: 在远程 XenServer 主机上:

xe vm-list username=username password=password server=hostname
<!--NeedCopy-->

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

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

示例: 在远程 XenServer 主机上:

xe vm-list -u myuser -pw mypassword -s hostname
<!--NeedCopy-->

参数也从环境变量 XE_EXTRA_ARGS 中获取,形式为逗号分隔的键值对。例如,要在远程 XenServer 主机上运行命令,请首先运行以下命令:

export XE_EXTRA_ARGS="server=jeffbeck,port=443,username=root,password=pass"
<!--NeedCopy-->

运行此命令后,您无需再在运行的每个 xe 命令中指定远程 XenServer 主机参数。

使用 XE_EXTRA_ARGS 环境变量还可以在针对远程 XenServer 主机发出 xe 命令时启用命令的 Tab 补全功能,此功能默认是禁用的。

特殊字符和语法

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

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

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

当您在 XenServer 主机上使用 CLI 时,命令具有类似于标准 Linux bash shell 中的 Tab 补全功能。例如,如果您键入 xe vm-l,然后按 TAB 键,则会显示命令的其余部分。如果多个命令以 vm-l 开头,则第二次按 TAB 键会列出所有可能性。此功能在命令中指定对象 UUID 时非常有用。

注意:

在远程 XenServer 主机上运行命令时,Tab 补全通常不起作用。但是,如果您在输入命令的机器上设置了 XE_EXTRA_ARGS 变量,则会启用 Tab 补全。有关更多信息,请参阅 基本 xe 语法

命令类型

CLI 命令可以分为两部分。低级命令涉及 API 对象的列表和参数操作。高级命令用于以更抽象的级别与虚拟机或主机进行交互。

低级命令包括:

  • class-列表

  • class-参数-获取

  • class-参数-设置

  • class-参数-列表

  • class-参数-添加

  • class-参数-移除

  • class-参数-清除

其中 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 表示此参数是映射参数,并且是可读写的。allowed-operations 参数包含一个构成项集的列表。RO 前的 S 表示这是一个集合参数,并且是可读但不可写的。

要筛选映射参数或设置映射参数,请使用冒号 (:) 分隔映射参数名称和键值对。例如,要将 VM 的 other-config 参数的 foo 键的值设置为 baa,命令将是

xe vm-param-set uuid=VM uuid other-config:foo=baa
<!--NeedCopy-->

低级参数命令

有几个用于操作对象参数的命令:class-param-get、class-param-set、class-param-add、class-param-remove、class-param-clear 和 class-param-list。每个命令都带有一个 uuid 参数来指定特定对象。由于这些命令被认为是低级命令,因此它们必须使用 UUID 而不是 VM 名称标签。

  • xe class-param-list uuid=uuid

    列出所有参数及其关联值。与 class-list 命令不同,此命令列出“昂贵”字段的值。

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

    返回特定参数的值。对于映射参数,指定 param-key 可获取该键在映射中关联的值。如果未指定 param-key 或参数是集合,则该命令返回集合或映射的字符串表示形式。

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

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

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

    添加到映射或集合参数。对于映射参数,使用 key=value 语法添加键值对。如果参数是集合,则使用 param-key=key 语法添加键。

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

    从映射中移除键值对,或从集合中移除键。

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

    完全清除集合或映射。

低级列表命令

The class-list 命令列出 class 类型的对象。默认情况下,此类命令会列出所有对象,并打印参数的子集。此行为可以通过以下方式修改:

  • 它可以过滤对象,使其只输出一个子集
  • 可以修改打印的参数。

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

xe vm-list params=name-label,other-config
<!--NeedCopy-->

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

xe vm-list params=all
<!--NeedCopy-->

list 命令不会显示一些计算成本高昂的参数。这些参数显示为,例如:

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

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

要筛选列表,CLI 会将参数值与命令行上指定的值进行匹配,仅打印与所有指定约束匹配的对象。例如:

xe vm-list HVM-boot-policy="BIOS order" power-state=halted
<!--NeedCopy-->

此命令仅列出那些 power-state 字段的值 同时haltedHVM-boot-policy 字段的值为 BIOS order 的虚拟机。

您还可以根据映射中键的值或集合中值的存在来筛选列表。基于映射中键进行筛选的语法是 map-name:key=value。基于集合中值的存在进行筛选的语法是 set-name:contains=value

在编写脚本时,一个有用的技巧是在命令行上传递 --minimal,这会使 xe 仅打印逗号分隔列表中的第一个字段。例如,在安装了三个虚拟机的宿主机上,命令 xe vm-list --minimal 会给出这三个虚拟机的 UUID:

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

密钥

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

注意:

密码密钥不能用于从 xe CLI 的远程实例向 XenServer 宿主机进行身份验证。

要创建密钥对象,请在 XenServer 宿主机上运行以下命令。

xe secret-create value=my-password
<!--NeedCopy-->

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

示例: 在您创建密钥的 XenServer 宿主机上,您可以运行以下命令:

    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"
<!--NeedCopy-->

命令历史记录

某些 xe 命令(例如 xe vm-migratexe pool-enable-external-auth)将密码等密钥作为参数。这些参数可能会出现在 shell 历史记录中,并且在命令执行期间在进程表中可见。因此,仅在可信环境中运行这些命令非常重要。

对于 bash shell,您可以使用 HISTCONTROL 变量来控制哪些命令存储在 shell 历史记录中。

xe 命令参考

本节按命令所处理的对象对命令进行分组。这些对象按字母顺序排列。

设备命令

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

设备参数

设备命令具有以下参数:

参数名称 描述 类型
uuid 设备的 uuid 必需
name-description 设备的描述 可选
paused   可选
force 强制关机 可选

appliance-assert-can-be-recovered

xe appliance-assert-can-be-recovered uuid=appliance-uuid database:vdi-uuid=vdi-uuid
<!--NeedCopy-->

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

appliance-create

xe appliance-create name-label=name-label [name-description=name-description]
<!--NeedCopy-->

创建设备/vApp。例如:

xe appliance-create name-label=my_appliance
<!--NeedCopy-->

将 VM 添加到设备:

xe vm-param-set uuid=VM-UUID appliance=appliance-uuid
<!--NeedCopy-->

appliance-destroy

xe appliance-destroy uuid=appliance-uuid
<!--NeedCopy-->

销毁设备/vApp。例如:

xe appliance-destroy uuid=appliance-uuid
<!--NeedCopy-->

appliance-recover

xe appliance-recover uuid=appliance-uuid database:vdi-uuid=vdi-uuid [paused=true|false]
<!--NeedCopy-->

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

appliance-shutdown

xe appliance-shutdown uuid=appliance-uuid [force=true|false]
<!--NeedCopy-->

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

xe appliance-shutdown uuid=appliance-uuid
<!--NeedCopy-->

appliance-start

xe appliance-start uuid=appliance-uuid [paused=true|false]
<!--NeedCopy-->

启动设备/vApp。例如:

xe appliance-start uuid=appliance-uuid
<!--NeedCopy-->

审计命令

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

audit-log-get 参数

audit-log-get 具有以下参数

参数名称 描述 类型
filename 将池的审计日志写入 文件名 必需
since 特定日期/时间点 可选

audit-log-get

xe audit-log-get [since=timestamp] filename=filename
<!--NeedCopy-->

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

运行以下命令:

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

绑定命令

用于处理网络绑定的命令,通过物理接口故障转移实现弹性。有关详细信息,请参阅 网络

绑定对象是一个引用对象,它将 PIF 和 成员 PIF 粘合在一起。主 PIF 是绑定接口,必须用作整体 PIF 来引用绑定。成员 PIF 是由两个或更多物理接口组成的一组,这些接口已组合成高级绑定接口。

绑定参数

绑定具有以下参数:

参数名称 描述 类型
uuid 绑定的唯一标识符/对象引用 只读
master 主绑定 PIF 的 UUID 只读
members 底层绑定 PIF 的 UUID 集 只读

bond-create

xe bond-create network-uuid=network_uuid pif-uuids=pif_uuid_1,pif_uuid_2,...
<!--NeedCopy-->

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

  • 如果 PIF 已在另一个绑定中
  • 如果任何成员设置了 VLAN 标记
  • 如果引用的 PIF 不在同一 XenServer 主机上
  • 如果提供的 PIF 少于 2 个

bond-destroy

xe bond-destroy uuid=bond_uuid
<!--NeedCopy-->

从主机中删除由其 UUID 指定的绑定接口。

bond-set-mode

xe bond-set-mode uuid=bond_uuid mode=bond_mode
<!--NeedCopy-->

更改绑定模式。

CD 命令

用于在 XenServer 主机上操作物理 CD/DVD 驱动器的命令。

CD 参数

CD 具有以下参数:

参数名称 描述 类型
uuid CD 的唯一标识符/对象引用 只读
name-label CD 的名称 读/写
name-description CD 的描述文本 读/写
allowed-operations 可在此 CD 上执行的操作列表 只读设置参数
current-operations 当前在此 CD 上正在进行的操作列表 只读设置参数
sr-uuid 此 CD 所属 SR 的唯一标识符/对象引用 只读
sr-name-label 此 CD 所属 SR 的名称 只读
vbd-uuids 连接到此 CD 的虚拟机上 VBD 的唯一标识符列表 只读设置参数
crashdump-uuids 不用于 CD。因为崩溃转储无法写入 CD 只读设置参数
virtual-size CD 在虚拟机中显示的大小(以字节为单位) 只读
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 额外配置参数的键值对列表 读/写映射参数
location 设备挂载的路径 只读
managed 如果设备受管理,则值为 true 只读
xenstore-data 要插入到 xenstore 树中的数据 只读映射参数
sm-config 存储管理器设备配置键的名称和描述 只读映射参数
is-a-snapshot 如果此模板是 CD 快照,则值为 true 只读
snapshot_of 此模板为其快照的 CD 的 UUID 只读
snapshots 此 CD 已拍摄的任何快照的 UUID 只读
snapshot_time 快照操作的时间戳 只读

cd-list

xe cd-list [params=param1,param2,...] [parameter=parameter_value]
<!--NeedCopy-->

列出 XenServer 主机或池上的 CD 和 ISO(CD 映像文件),根据可选参数 params 进行筛选。

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

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

GFS2 群集命令

用于处理 GFS2 群集池的命令。

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

群集和群集主机对象可以使用标准对象列表命令 (xe cluster-listxe cluster-host-list) 列出,参数可以使用标准参数命令进行操作。有关更多信息,请参阅 低级参数命令。 用于处理 GFS2 群集池的命令。

GFS2 群集参数

GFS2 群集具有以下参数:

参数名称 描述 类型
uuid GFS2 群集的唯一标识符/对象引用。 只读
cluster-hosts GFS2 群集中主机的唯一标识符/对象引用列表。 只读设置参数
cluster-token xapi-clusterd 在其他主机上与自身通信时使用的密钥。 只读
cluster-stack 提供集群功能的技术栈。可能的值为 corosync 只读
cluster-stack-version 提供集群功能的技术栈版本。 只读
allowed-operations 列出此状态下允许的操作。此列表仅供参考,当客户端读取此字段时,GFS2 集群状态可能已更改。 只读设置参数
current-operations 列出当前正在进行的操作。此列表仅供参考,当客户端读取此字段时,GFS2 集群状态可能已更改。 只读设置参数
token-timeout corosync 令牌超时(秒)。 只读
token-timeout-coefficient corosync 令牌超时系数(秒)。 只读
pool-auto-join 如果自动将新的池成员加入 GFS2 集群,则值为 true。此值设置为 true 只读
is-quorate GFS2 集群是否具有仲裁。 只读
quorum GFS2 集群拥有仲裁所需的活动主机数量。 只读
live-hosts GFS2 集群中当前活动的宿主机数量。 只读
cluster-config 指定 GFS2 集群额外配置参数的键/值对列表。 只读映射参数
other-config 指定 GFS2 集群额外配置参数的键/值对列表。 读/写映射参数

GFS2 集群中的宿主机 (cluster-host) 具有以下参数:

参数名称 描述 类型
uuid GFS2 集群主机的唯一标识符/对象引用。这与主机 UUID 不同。 只读
cluster 此主机所属的 GFS2 集群的唯一标识符/对象引用。 只读
PIF PIF 对象的唯一标识符/对象引用。 只读
host 主机的唯一标识符/对象引用。 只读
enabled GFS2 集群主机是否认为应在此主机上启用 GFS2 集群。此字段可以通过在 GFS2 集群主机上调用启用/禁用消息来更改。只有启用的成员才运行底层 GFS2 集群堆栈。禁用的成员仍被视为 GFS2 集群的成员(参见 joined),并且可以由用户重新启用。 只读
joined GFS2 集群主机是否已加入 GFS2 集群。与“已启用”不同,未加入的主机不被视为 GFS2 集群的成员,因此无法在此主机上执行启用和禁用操作。 只读
live 集群堆栈是否将此主机视为活动状态。 只读
last-update-live 根据集群堆栈信息上次更新“活动”字段的时间。 只读
allowed-operations 列出在此状态下允许的操作。此列表仅供参考,当客户端读取此字段时,GFS2 集群主机状态可能已更改。 只读设置参数
current-operations 列出当前正在进行的操作。此列表仅供参考,当客户端读取此字段时,GFS2 集群主机状态可能已更改。 只读设置参数
other-config 键/值对列表,用于指定 GFS2 群集主机的额外配置参数。 只读映射参数

cluster-host-destroy

xe cluster-host-destroy uuid=host_uuid
<!--NeedCopy-->

销毁 GFS2 群集主机,从而使其离开 GFS2 群集。

cluster-host-disable

xe cluster-host-disable uuid=cluster_uuid
<!--NeedCopy-->

禁用已启用的 GFS2 群集主机的 GFS2 群集成员资格。

cluster-host-enable

xe cluster-host-enable uuid=cluster_uuid
<!--NeedCopy-->

为已禁用的 GFS2 群集主机启用 GFS2 群集成员资格。

cluster-host-force-destroy

xe cluster-host-force-destroy uuid=cluster_host
<!--NeedCopy-->

强制销毁 GFS2 群集主机对象,从而使其离开 GFS2 群集。

cluster-pool-create

xe cluster-pool-create network-uuid=network_uuid [cluster-stack=cluster_stack] [token-timeout=token_timeout] [token-timeout-coefficient=token_timeout_coefficient]
<!--NeedCopy-->

创建池范围的 GFS2 群集。

cluster-pool-destroy

xe cluster-pool-destroy cluster-uuid=cluster_uuid
<!--NeedCopy-->

销毁池范围的 GFS2 群集。该池将继续存在,但不再是 GFS2 群集,也无法再使用 GFS2 SR。

cluster-pool-force-destroy

xe cluster-pool-force-destroy cluster-uuid=cluster_uuid
<!--NeedCopy-->

强制销毁池范围的 GFS2 集群。

cluster-pool-resync

xe cluster-pool-resync cluster-uuid=cluster_uuid
<!--NeedCopy-->

跨池重新同步 GFS2 集群。

控制台命令

用于操作控制台的命令。

控制台对象可以使用标准对象列表命令 (xe console-list) 列出,参数可以使用标准参数命令进行操作。有关更多信息,请参阅 低级参数命令

控制台参数

控制台具有以下参数:

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

console

xe console
<!--NeedCopy-->

连接到特定控制台。

诊断命令

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

diagnostic-compact

xe diagnostic-compact
<!--NeedCopy-->

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

diagnostic-db-stats

xe diagnostic-db-stats
<!--NeedCopy-->

打印数据库统计信息。

diagnostic-gc-stats

xe diagnostic-gc-stats
<!--NeedCopy-->

打印 GC 统计信息。

diagnostic-license-status

xe diagnostic-license-status
<!--NeedCopy-->

帮助诊断池范围内的许可问题。

diagnostic-net-stats

xe diagnostic-net-stats [uri=uri] [method=method] [params=param1,param2...]
<!--NeedCopy-->

打印网络统计信息。

diagnostic-timing-stats

xe diagnostic-timing-stats
<!--NeedCopy-->

打印计时统计信息。

diagnostic-vdi-status

xe diagnostic-vdi-status uuid=vdi_uuid
<!--NeedCopy-->

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

diagnostic-vm-status

xe diagnostic-vm-status uuid=vm_uuid
<!--NeedCopy-->

查询虚拟机可以启动的主机,检查所有 VBD 的共享/锁定状态。

灾难恢复命令

灾难后恢复虚拟机的命令

drtask-create

xe drtask-create type=type sr-whitelist=sr-white-list device-config=device-config
<!--NeedCopy-->

创建一个灾难恢复任务。例如,为准备灾难恢复而连接到 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
<!--NeedCopy-->

注意:

命令 sr-whitelist 列出允许的 SR UUID。命令 drtask-create 仅引入并连接到具有其中一个允许的 UUID 的 SR。

drtask-destroy

xe drtask-destroy uuid=dr-task-uuid
<!--NeedCopy-->

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

vm-assert-can-be-recovered

xe vm-assert-can-be-recovered uuid=vm-uuid database:vdi-uuid=vdi-uuid
<!--NeedCopy-->

测试存储是否可用于恢复此虚拟机。

appliance-assert-can-be-recovered

xe appliance-assert-can-be-recovered uuid=appliance-uuid database:vdi-uuid=vdi-uuid
<!--NeedCopy-->

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

appliance-recover

xe appliance-recover uuid=appliance-uuid database:vdi-uuid=vdi-uuid [force=true|false]
<!--NeedCopy-->

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

vm-recover

xe vm-recover uuid=vm-uuid database:vdi-uuid=vdi-uuid [force=true|false]
<!--NeedCopy-->

从提供的 VDI 中包含的数据库恢复虚拟机。

sr-enable-database-replication

xe sr-enable-database-replication uuid=sr_uuid
<!--NeedCopy-->

启用 XAPI 数据库复制到指定的(共享)SR。

sr-disable-database-replication

xe sr-disable-database-replication uuid=sr_uuid
<!--NeedCopy-->

禁用 XAPI 数据库复制到指定的 SR。

示例用法

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

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

xe sr-database-replication uuid=sr=uuid
<!--NeedCopy-->

灾难发生后,在辅助站点上,连接到 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
<!--NeedCopy-->

在 SR 上查找数据库 VDI:

xe vdi-list sr-uuid=sr-uuid type=Metadata
<!--NeedCopy-->

查询数据库 VDI 中存在的虚拟机:

xe vm-list database:vdi-uuid=vdi-uuid
<!--NeedCopy-->

恢复虚拟机:

xe vm-recover uuid=vm-uuid database:vdi-uuid=vdi-uuid
<!--NeedCopy-->

销毁灾难恢复任务。销毁灾难恢复任务引入且虚拟机不需要的任何 SR:

xe drtask-destroy uuid=drtask-uuid
<!--NeedCopy-->

事件命令

用于处理事件的命令。

事件类

事件类列在下表中:

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

event-wait

xe event-wait class=class_name [param-name=param_value] [param-name=/=param_value]
<!--NeedCopy-->

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

示例:等待特定虚拟机运行。

xe event-wait class=vm name-label=myvm power-state=running
<!--NeedCopy-->

阻止其他命令,直到名为 myvm 的虚拟机处于 power-state “运行中”状态。

示例:等待特定虚拟机重新启动:

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

阻止其他命令,直到 UUID 为 $VM 的虚拟机重新启动。该命令使用 start-time 的值来决定虚拟机何时重新启动。

类名可以是本节开头列出的 事件类 中的任何一个。参数可以是 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 此 pGPU 由 XenServer 自动分配到的 GPU 组的唯一标识符/对象引用。池中所有主机上相同的 pGPU 都将分组。 只读
gpu-group-name-label pGPU 所属 GPU 组的名称 只读
host-uuid pGPU 连接到的 XenServer 主机的唯一标识符/对象引用 只读
host-name-label pGPU 连接到的 XenServer 主机名称 只读
pci-id PCI 标识符 只读
dependencies 列出直通到同一虚拟机的相关 PCI 设备 读/写映射参数
other-config 指定 pGPU 额外配置参数的键值对列表 读/写映射参数
supported-VGPU-types 底层硬件支持的虚拟 GPU 类型列表 只读
enabled-VGPU-types 为此 pGPU 启用的虚拟 GPU 类型列表 读/写
resident-VGPUs 在此 pGPU 上运行的 vGPU 列表 只读

pgpu-disable-dom0-access

xe pgpu-disable-dom0-access uuid=uuid
<!--NeedCopy-->

禁用 PGPU 对 dom0 的访问。

pgpu-enable-dom0-access

xe pgpu-enable-dom0-access uuid=uuid
<!--NeedCopy-->

启用 PGPU 对 dom0 的访问。

GPU 组参数

GPU 组具有以下参数:

参数名称 描述 类型
uuid GPU 组的唯一标识符/对象引用 只读
name-label GPU 组的名称 读/写
name-description GPU 组的描述性文本 读/写
VGPU-uuids 列出 GPU 组中虚拟 GPU 的唯一标识符/对象引用 只读集参数
PGPU-uuids 列出 GPU 组中 pGPU 的唯一标识符/对象引用 只读设置参数
other-config 指定 GPU 组额外配置参数的键值对列表 读/写映射参数
supported-VGPU-types 底层硬件支持的所有虚拟 GPU 类型的并集 只读
enabled-VGPU-types 已在底层 pGPU 上启用的所有虚拟 GPU 类型的并集 只读
allocation-algorithm 组内 pGPU 上分配虚拟 GPU 的深度优先/广度优先设置 读/写枚举参数

GPU 组操作

用于处理 GPU 组的命令

gpu-group-create
xe gpu-group-create name-label=name_for_group [name-description=description]
<!--NeedCopy-->

创建一个新的(空的)GPU 组,pGPU 可以移入其中。

gpu-group-destroy
xe gpu-group-destroy uuid=uuid_of_group
<!--NeedCopy-->

销毁 GPU 组;仅允许对空组执行此操作。

gpu-group-get-remaining-capacity
xe gpu-group-get-remaining-capacity uuid=uuid_of_group vgpu-type-uuid=uuid_of_vgpu_type
<!--NeedCopy-->

返回此 GPU 组中可以实例化多少个指定类型的虚拟 GPU。

gpu-group-param-set
xe gpu-group-param-set uuid=uuid_of_group allocation-algorithm=breadth-first|depth-first
<!--NeedCopy-->

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

虚拟 GPU 参数

虚拟 GPU 具有以下参数:

参数名称 描述 类型
uuid 虚拟 GPU 的唯一标识符/对象引用 只读
vm-uuid 分配了虚拟 GPU 的虚拟机的唯一标识符/对象引用 只读
vm-name-label 分配了虚拟 GPU 的虚拟机的名称 只读
gpu-group-uuid 包含虚拟 GPU 的 GPU 组的唯一标识符/对象引用 只读
gpu-group-name-label 包含虚拟 GPU 的 GPU 组的名称 只读
currently-attached 如果启用了 GPU 直通的虚拟机正在运行,则值为 true,否则为 false 只读
other-config 一个键值对列表,用于指定虚拟 GPU 的额外配置参数 读/写映射参数
type-uuid 此虚拟 GPU 的虚拟 GPU 类型的唯一标识符/对象引用 读/写映射参数
type-model-name 与虚拟 GPU 类型关联的型号名称 只读

虚拟 GPU 类型参数

注意:

GPU 直通和虚拟 GPU 与实时迁移、存储实时迁移或 VM 暂停不兼容,除非存在 GPU 供应商支持的软件和显卡。不支持此功能的虚拟机无法迁移,以避免停机。有关 NVIDIA vGPU 与实时迁移、存储实时迁移和 VM 暂停的兼容性信息,请参阅 图形

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

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

虚拟 GPU 操作

vgpu-create

xe vgpu-create vm-uuid=uuid_of_vm gpu_group_uuid=uuid_of_gpu_group [vgpu-type-uuid=uuid_of_vgpu-type]
<!--NeedCopy-->

创建一个虚拟 GPU。此命令将虚拟机附加到指定的 GPU 组,并可选择指定虚拟 GPU 类型。如果未指定虚拟 GPU 类型,则假定为“直通”类型。

vgpu-destroy

xe vgpu-destroy uuid=uuid_of_vgpu
<!--NeedCopy-->

销毁指定的虚拟 GPU。

禁用带虚拟 GPU 的 VM 的 VNC

xe vm-param-add uuid=uuid_of_vmparam-name=platform vgpu_vnc_enabled=true|false
<!--NeedCopy-->

使用 false 会禁用虚拟机的 VNC 控制台,因为它将 disablevnc=1 传递给显示模拟器。默认情况下,VNC 是启用的。

主机命令

用于与 XenServer 主机交互的命令。

XenServer 主机是运行 XenServer 软件的物理服务器。它们上面运行着虚拟机,这些虚拟机受一个特殊的特权虚拟机(称为控制域或域 0)的控制。

XenServer 主机对象可以使用标准对象列表命令列出:xe host-listxe host-cpu-listxe host-crashdump-list)。参数可以使用标准参数命令进行操作。有关更多信息,请参阅 低级参数命令

主机选择器

此处列出的许多命令都有一种通用机制,用于选择一个或多个 XenServer 主机来执行操作。最简单的方法是提供参数 host=uuid_or_name_label。您还可以通过根据字段值筛选完整主机列表来指定 XenServer。例如,指定 enabled=true 会选择所有 enabled 字段等于 true 的 XenServer 主机。如果有多个 XenServer 主机匹配且操作可以在多个 XenServer 主机上执行,则必须指定 --multiple 来执行操作。可匹配的参数完整列表在本节开头进行了描述。您可以通过运行命令 xe host-list params=all 获取此命令列表。如果未提供选择 XenServer 主机的参数,则操作将在所有 XenServer 主机上执行。

主机参数

XenServer 主机具有以下参数:

参数名称 描述 类型
uuid XenServer 主机的唯一标识符/对象引用 只读
name-label XenServer 主机的名称 读/写
name-description XenServer 主机的描述字符串 只读
enabled 如果禁用,值为 false。这会阻止任何新虚拟机在主机上启动,并为主机准备关机或重新启动。如果主机已启用,值为 true 只读
API-version-major 主版本号 只读
API-version-minor 次版本号 只读
API-version-vendor API 供应商标识 只读
API-version-vendor-implementation 供应商实现详情 只读映射参数
logging 日志配置 读/写映射参数
suspend-image-sr-uuid 用于存放挂起映像的 SR 的唯一标识符/对象引用 读/写
crash-dump-sr-uuid 崩溃转储文件存放的 SR 的唯一标识符/对象引用 读/写
software-version 版本控制参数及其值的列表 只读映射参数
capabilities XenServer 主机可以运行的 Xen 版本列表 只读集参数
ntp-mode



选择 NTP 模式: 读/写



  • 出厂
  • DHCP
  • 自定义
  • 已禁用
ntp-custom-servers 逗号分隔的自定义 NTP 服务器列表 读/写(设置)
timezone IANA 时区标识符 读/写
max-cstate 最大 CPU C 状态: “” (无限制), 0 (C0), 1 (C1) 读/写
other-config 指定 XenServer 主机额外配置参数的键值对列表 读/写映射参数
chipset-info 指定有关芯片组信息的键值对列表 只读映射参数
hostname XenServer 主机主机名 只读
address XenServer 主机 IP 地址 只读
license-server 一个键值对列表,指定有关许可证服务器的信息。与 Citrix 许可证服务器和许可证激活服务通信的默认端口是 8083。有关因冲突而更改端口号的信息,请参阅 更改端口号 只读映射参数
supported-bootloaders XenServer 主机支持的引导加载程序列表,例如 pygrubeliloader 只读集参数
memory-total XenServer 主机上的物理 RAM 总量,以字节为单位 只读
memory-free 可分配给虚拟机的剩余物理 RAM 总量,以字节为单位 只读
host-metrics-live 如果主机正在运行,则值为 true,否则为 false 只读
logging syslog_destination 键设置为远程侦听 syslog 服务的主机名。 读/写映射参数
allowed-operations 列出此状态下允许的操作。此列表仅供参考,并且在客户端读取此字段时,主机状态可能已更改。 只读集参数
current-operations 列出当前正在进行的操作。此列表仅供参考,并且在客户端读取此字段时,主机状态可能已更改。 只读集参数
patches 主机修补程序集 只读集参数
blobs 二进制数据存储 只读
memory-free-computed 主机上可用内存最大量的保守估计 只读
ha-statefiles 所有 HA 状态文件的 UUID 只读
ha-network-peers 如果发生故障,可以托管此主机上虚拟机的所有主机的 UUID 只读
external-auth-type 外部身份验证类型,例如 Active Directory。 只读
external-auth-service-name 外部身份验证服务的名称 只读
external-auth-configuration 外部身份验证服务的配置信息。 只读映射参数

示例:

  • xe host-param-set uuid=<uuid> ntp-mode=Factory
  • xe host-param-set uuid=<uuid> ntp-custom-servers=server1,server2
  • xe host-param-set uuid=<uuid> timezone=UTC
  • xe host-param-set uuid=<uuid> max-cstate=1

XenServer 主机包含一些其他也具有参数列表的对象。

XenServer 主机上的 CPU 具有以下参数:

参数名称 描述 类型
uuid CPU 的唯一标识符/对象引用 只读
number XenServer 主机中物理 CPU 核心的数量 只读
vendor CPU 名称的供应商字符串 只读
speed CPU 时钟速度,单位为 Hz 只读
modelname CPU 型号的供应商字符串,例如“Intel(R) Xeon(TM) CPU 3.00 GHz” 只读
stepping CPU 修订版本号 只读
flags 物理 CPU 的标志(features 字段的解码版本) 只读
Utilisation 当前 CPU 利用率 只读
host-uuid CPU 所在主机的 UUID 只读
model 物理 CPU 的型号 只读
family 物理 CPU 系列号 只读

XenServer 主机上的崩溃转储具有以下参数:

参数名称 描述 类型
uuid 崩溃转储的唯一标识符/对象引用 只读
host 崩溃转储对应的 XenServer 主机 只读
timestamp 崩溃转储发生日期和时间的时间戳,格式为 yyyymmdd-hhmmss-ABC,其中 ABC 是时区指示符,例如 GMT 只读
size 崩溃转储的大小,以字节为单位 只读

host-all-editions

xe host-all-editions
<!--NeedCopy-->

获取所有可用版本的列表

host-apply-edition

xe host-apply-edition [host-uuid=host_uuid] [edition=premium-per-socket|standard-per-socket|cloud]
<!--NeedCopy-->

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

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

版本值包括“cloud”、“free”、“premium-per-socket”和“standard-per-socket”。将来,仅支持“cloud”。

host-backup

xe host-backup file-name=backup_filename host=host_name
<!--NeedCopy-->

将指定 XenServer 主机的控制域备份下载到调用该命令的机器。将其保存为名为 file-name 的文件。

重要提示:

尽管 xe host-backup 命令在本地主机上运行(即未指定特定主机名)时有效,但请勿以这种方式使用它。这样做会用备份文件填满控制域分区。仅从具有足够空间来存储备份文件的远程非主机机器上使用此命令。

host-bugreport-upload

xe host-bugreport-upload [host-selector=host_selector_value...] [url=destination_url http-proxy=http_proxy_name]
<!--NeedCopy-->

生成一份新的错误报告(使用 xen-bugtool,包含所有可选文件),并上传到支持 FTP 站点或其他位置。

执行此操作的主机是使用标准选择机制选择的(请参阅上面的 主机选择器)。可选参数可以是本节开头列出的任意数量的 主机参数

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

host-call-plugin

xe host-call-plugin host-uuid=host_uuid plugin=plugin fn=function [args=args]
<!--NeedCopy-->

在给定主机上调用插件中的函数,并带可选参数。

host-compute-free-memory

xe host-compute-free-memory
<!--NeedCopy-->

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

host-compute-memory-overhead

xe host-compute-memory-overhead
<!--NeedCopy-->

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

host-cpu-info

xe host-cpu-info [uuid=uuid]
<!--NeedCopy-->

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

host-crashdump-destroy

xe host-crashdump-destroy uuid=crashdump_uuid
<!--NeedCopy-->

从 XenServer 主机中删除由其 UUID 指定的主机崩溃转储。

host-crashdump-upload

xe host-crashdump-upload uuid=crashdump_uuid [url=destination_url] [http-proxy=http_proxy_name]
<!--NeedCopy-->

将崩溃转储上传到支持 FTP 站点或其他位置。如果未使用可选参数,则不识别代理服务器,目标为默认支持 FTP 站点。可选参数为 http-proxy:使用指定的 HTTP 代理,以及 url:上传到此目标 URL。

host-declare-dead

xe host-declare-dead uuid=host_uuid
<!--NeedCopy-->

声明主机已死,无需显式联系它。

警告:

此调用很危险,如果主机实际上并未宕机,可能会导致数据丢失。

host-disable

xe host-disable [host-selector=host_selector_value...]
<!--NeedCopy-->

禁用指定 XenServer 主机,阻止任何新虚拟机在其上启动。此操作会准备 XenServer 主机以进行关机或重启。主机重启后,如果满足所有启用条件(例如,存储可用),主机将自动重新启用。

用于执行此操作的主机是使用标准选择机制选择的(请参阅 主机选择器)。可选参数可以是本节开头列出的任意数量的 主机参数

host-disable-display

xe host-disable-display uuid=host_uuid
<!--NeedCopy-->

禁用主机的显示。

host-disable-local-storage-caching

xe host-disable-local-storage-caching
<!--NeedCopy-->

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

host-dmesg

xe host-dmesg [host-selector=host_selector_value...]
<!--NeedCopy-->

从指定的 XenServer 主机获取 Xen dmesg(内核环形缓冲区的输出)。

用于执行此操作的主机是使用标准选择机制选择的(请参阅上面的 主机选择器)。可选参数可以是本节开头列出的任意数量的 主机参数

host-emergency-ha-disable

xe host-emergency-ha-disable  [--force]
<!--NeedCopy-->

禁用本地主机上的 HA。仅用于恢复 HA 设置损坏的池。

host-emergency-management-reconfigure

xe host-emergency-management-reconfigure interface=uuid_of_management_interface_pif
<!--NeedCopy-->

重新配置此 XenServer 主机的管理接口。仅当 XenServer 主机处于紧急模式时才使用此命令。紧急模式意味着主机是资源池的成员,其池协调器已从网络中消失,并且在多次重试后无法联系。

host-emergency-reset-server-certificate

xe host-emergency-reset-server-certificate
<!--NeedCopy-->

在运行此命令的 XenServer 主机上安装自签名证书。

host-enable

xe host-enable [host-selector=host_selector_value...]
<!--NeedCopy-->

启用指定的 XenServer 主机,从而允许在其上启动新的虚拟机。

执行此操作的主机是使用标准选择机制选择的(请参阅上面的 主机选择器)。可选参数可以是本节开头列出的任意数量的 主机参数

host-enable-display

xe host-enable-display uuid=host_uuid
<!--NeedCopy-->

启用主机的显示。

host-enable-local-storage-caching

xe host-enable-local-storage-caching  sr-uuid=sr_uuid
<!--NeedCopy-->

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

host-evacuate

xe host-evacuate [host-selector=host_selector_value...]
<!--NeedCopy-->

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

如果已迁移的主机是池协调器,则必须选择另一个主机作为池协调器。要在禁用 HA 的情况下更改池协调器,请使用 pool-designate-new-master 命令。有关详细信息,请参阅 pool-designate-new-master

启用 HA 后,您唯一的选择是关闭 XenServer 主机,这将导致 HA 随机选择一个新的池协调器。有关详细信息,请参阅 host-shutdown

执行此操作的主机是使用标准选择机制选择的(请参阅上面的 主机选择器)。可选参数可以是本节开头列出的任意数量的 主机参数

host-forget

xe host-forget uuid=host_uuid
<!--NeedCopy-->

XAPI 代理会忘记指定的 XenServer 主机,而无需显式联系它。

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

警告:

如果池上启用了 HA,请勿使用此命令。请先禁用 HA,然后在忘记主机后再次启用它。

如果要“忘记”的 XenServer 主机已死,此命令很有用。但是,如果 XenServer 主机处于活动状态并且是池的一部分,请改用 xe pool-eject

host-get-server-certificate

xe host-get-server-certificate
<!--NeedCopy-->

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

host-get-sm-diagnostics

xe host-get-sm-diagnostics uuid=uuid
<!--NeedCopy-->

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

host-get-system-status

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

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

执行此操作的主机是使用标准选择机制选择的(请参阅上面的 主机选择器)。

host-get-system-status-capabilities

xe host-get-system-status-capabilities [host-selector=host_selector_value...]
<!--NeedCopy-->

获取指定主机的系统状态功能。这些功能以 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>
<!--NeedCopy-->

每个功能实体可以具有以下属性。

  • 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

xe host-get-thread-diagnostics uuid=uuid
<!--NeedCopy-->

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

host-get-vms-which-prevent-evacuation

xe host-get-vms-which-prevent-evacuation uuid=uuid
<!--NeedCopy-->

返回阻止特定主机迁移的虚拟机列表,并显示每个虚拟机的原因。

host-is-in-emergency-mode

xe host-is-in-emergency-mode
<!--NeedCopy-->

如果 CLI 正在与之通信的主机处于紧急模式,则返回 true,否则返回 false。此 CLI 命令可直接在池成员主机上运行,即使没有池协调器也行。

host-license-view

xe host-license-view [host-uuid=host_uuid]
<!--NeedCopy-->

显示 XenServer 主机许可证的内容。

host-logs-download

xe host-logs-download [file-name=logfile_name] [host-selector=host_selector_value...]
<!--NeedCopy-->

下载指定 XenServer 主机的日志副本。该副本默认保存为名为 hostname-yyyy-mm-dd T hh:mm:ssZ.tar.gz 的带时间戳文件。您可以使用可选参数 file-name 指定不同的文件名。

执行此操作的主机是使用标准选择机制选择的(请参阅上面的 主机选择器)。可选参数可以是本节开头列出的任意数量的 主机参数

重要提示:

虽然 xe host-logs-download 命令在本地主机上运行(即未指定特定主机名)时有效,但不要以这种方式使用它。这样做会用日志副本堵塞控制域分区。仅从有足够空间存储日志副本的远程非主机机器上使用此命令。

host-management-disable

xe host-management-disable
<!--NeedCopy-->

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

警告:

在非主机上使用此 CLI 命令时请务必小心。运行此命令后,您将无法通过网络远程连接到控制域以重新启用主机代理。

host-management-reconfigure

xe host-management-reconfigure [interface=device] [pif-uuid=uuid]
<!--NeedCopy-->

重新配置 XenServer 主机,使其使用指定的网络接口作为其管理接口,该接口用于连接 XenCenter。此命令会重写 /etc/xensource-inventory 中的 MANAGEMENT_INTERFACE 键。

如果指定了接口的设备名称(该接口必须具有 IP 地址),XenServer 主机将立即重新绑定。此命令在正常模式和紧急模式下均可运行。

如果指定了 PIF 对象的 UUID,XenServer 主机将确定要重新绑定到自身的 IP 地址。运行此命令时,它不得处于紧急模式。

警告:

在非主机上使用此 CLI 命令时请务必小心,并确保新接口具有网络连接。请先使用 xe pif-reconfigure 进行设置。否则,后续的 CLI 命令将无法访问 XenServer 主机。

host-power-on

xe host-power-on [host=host_uuid]
<!--NeedCopy-->

打开已启用 主机开机 功能的 XenServer 主机的电源。在使用此命令之前,请在主机上启用 host-set-power-on

host-reboot

xe host-reboot [host-selector=host_selector_value...]
<!--NeedCopy-->

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

用于执行此操作的主机是使用标准选择机制选择的(请参阅上面的 主机选择器)。可选参数可以是本节开头列出的任意数量的 主机参数

如果指定的 XenServer 主机是池的成员,则会处理关机时的连接丢失,并且当 XenServer 主机返回时,池会恢复。其他成员和池协调器将继续运行。

如果您关闭池协调器,则池将停止运行,直到发生以下操作之一:

  • 您将其中一个成员设为池协调器
  • 原始池协调器重新启动并恢复联机。

    当池协调器恢复联机时,成员将重新连接并与池协调器同步。

host-restore

xe host-restore [file-name=backup_filename] [host-selector=host_selector_value...]
<!--NeedCopy-->

恢复名为 file-name 的 XenServer 主机控制软件备份。此处使用“恢复”一词并非指通常意义上的完全恢复,它仅表示已将压缩的备份文件解压缩并解包到辅助分区。完成 xe host-restore 后,您必须启动安装 CD 并使用其“从备份恢复”选项。

执行此操作的主机是使用标准选择机制选择的(请参阅上面的主机选择器)。可选参数可以是本节开头列出的任意数量的主机参数

host-send-debug-keys

xe host-send-debug-keys  host-uuid=host_uuid keys=keys
<!--NeedCopy-->

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

host-server-certificate-install

xe host-server-certificate-install certificate=path_to_certificate_file private-key=path_to_private_key [certificate-chain=path_to_chain_file] [host=host_name | uuid=host_uuid]
<!--NeedCopy-->

在 XenServer 主机上安装 TLS 证书。

host-set-hostname-live

xe host-set-hostname-live host-uuid=uuid_of_host host-name=new_hostname
<!--NeedCopy-->

更改由 host-uuid 指定的 XenServer 主机的主机名。此命令会持久设置控制域数据库中的主机名以及 XenServer 主机的实际 Linux 主机名。host-name 的值与 name_label 字段的值不同

host-set-power-on-mode

xe host-set-power-on-mode host=host_uuid power-on-mode={"" | "wake-on-lan" | "IPMI" | "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 ]
<!--NeedCopy-->

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

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

host-shutdown

xe host-shutdown [host-selector=host_selector_value...]
<!--NeedCopy-->

关闭指定的 XenServer 主机。必须首先使用 xe host-disable 命令禁用指定的 XenServer 主机,否则将显示 HOST_IN_USE 错误消息。

执行此操作的主机是使用标准选择机制选择的(请参阅上面的主机选择器)。可选参数可以是本节开头列出的任意数量的主机参数

如果指定的 XenServer 主机是池的成员,则关机时连接丢失会得到处理,并且当 XenServer 主机返回时池会恢复。其他成员和池协调器将继续运行。

如果您关闭池协调器,则池将停止运行,直到发生以下操作之一:

  • 您将其中一个成员设为池协调器
  • 原始池协调器已重新启动并恢复联机。

    当池协调器恢复联机时,成员会重新连接并与池协调器同步。

如果为池启用了 HA,则其中一个成员会自动成为池协调器。如果禁用了 HA,则必须使用 pool-designate-new-master 命令手动将所需的 XenServer 主机指定为池协调器。有关详细信息,请参阅 pool-designate-new-master

host-sm-dp-destroy

xe host-sm-dp-destroy uuid=uuid dp=dp [allow-leak=true|false]
<!--NeedCopy-->

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

host-sync-data

xe host-sync-data
<!--NeedCopy-->

将池协调器上存储的数据与指定主机同步。这不包括数据库数据)。

host-syslog-reconfigure

xe host-syslog-reconfigure [host-selector=host_selector_value...]
<!--NeedCopy-->

重新配置指定 XenServer 主机上的 syslog 守护程序。此命令应用主机 logging 参数中定义的配置信息。

用于执行此操作的主机是使用标准选择机制选择的(请参阅上面的 host selectors)。可选参数可以是本节开头列出的任意数量的 host parameters

host-data-source-list

xe host-data-source-list [host-selectors=host selector value...]
<!--NeedCopy-->

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

通过使用标准选择机制(参见 主机选择器)选择要执行此操作的主机。可选参数可以是本节开头列出的任意数量的 主机参数。如果没有给出选择主机的参数,则操作将在所有主机上执行。

数据源有两个参数——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

xe host-data-source-record data-source=name_description_of_data_source [host-selectors=host_selector_value...]
<!--NeedCopy-->

记录主机的指定数据源。

此操作将数据源中的信息写入指定主机的持久性能指标数据库。出于性能原因,此数据库与常规代理数据库不同。

通过使用标准选择机制(参见 主机选择器)选择要执行此操作的主机。可选参数可以是本节开头列出的任意数量的 主机参数。如果没有给出选择主机的参数,则操作将在所有主机上执行。

host-data-source-forget

xe host-data-source-forget data-source=name_description_of_data_source [host-selectors=host_selector_value...]
<!--NeedCopy-->

停止记录主机的指定数据源并删除所有已记录的数据。

通过使用标准选择机制(参见 主机选择器)选择要执行此操作的主机。可选参数可以是本节开头列出的任意数量的 主机参数。如果没有给出选择主机的参数,则操作将在所有主机上执行。

host-data-source-query

xe host-data-source-query data-source=name_description_of_data_source [host-selectors=host_selector_value...]
<!--NeedCopy-->

显示主机的指定数据源。

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

消息命令

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

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

消息参数

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

message-create

xe 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]]
<!--NeedCopy-->

创建一条消息。

message-destroy

xe message-destroy [uuid=message_uuid]
<!--NeedCopy-->

销毁现有消息。您可以编写脚本来销毁所有消息。例如:

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

网络命令

用于处理网络的命令。

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

网络参数

网络具有以下参数:

参数名称 描述 类型
uuid 网络的唯一标识符/对象引用 只读
name-label 网络的名称 读/写
name-description 网络的描述文本 读/写
VIF-uuids 从虚拟机附加到此网络的 VIF(虚拟网络接口)的唯一标识符列表 只读集参数
PIF-uuids 从 XenServer 主机附加到此网络的 PIF(物理网络接口)的唯一标识符列表 只读集参数
bridge 本地 XenServer 主机上与此网络对应的网桥名称 只读
default-locking-mode 用于 VIF 对象的 ARP 过滤的网络对象。设置为 unlocked 以删除与 VIF 关联的所有过滤规则。设置为 disabled 以使 VIF 丢弃所有流量。 读/写
purpose XenServer 主机使用此网络的用途集。设置为 nbd 以使用此网络建立 NBD 连接。 读/写
other-config:staticroutes 逗号分隔的 子网/网络掩码/网关 格式条目列表,指定用于路由子网的网关地址。例如,将 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 以禁用 读/写
other-config:ethtool-ufo 设置为 on 以启用 UDP 分片卸载,off 以禁用 读/写
other-config:ethtool-gso 设置为 on 以启用通用分段卸载,off 以禁用 读/写
blobs 二进制数据存储 只读

network-create

xe network-create name-label=name_for_network [name-description=descriptive_text]
<!--NeedCopy-->

创建网络。

network-destroy

xe network-destroy uuid=network_uuid
<!--NeedCopy-->

销毁现有网络。

SR-IOV 命令

用于处理 SR-IOV 的命令。

network-sriov 对象可以使用标准对象列表命令 (xe network-sriov-list) 列出,并且参数可以使用标准参数命令进行操作。有关更多信息,请参阅 低级参数命令

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

xe network-sriov-create network-uuid=network_uuid pif-uuid=physical_pif_uuid
<!--NeedCopy-->

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

network-sriov-destroy

xe network-sriov-destroy uuid=network_sriov_uuid
<!--NeedCopy-->

移除一个网络 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
<!--NeedCopy-->

将 SR-IOV 网络中的 VF 分配给 VM。

SDN 控制器命令

用于操作 SDN 控制器的命令。

sdn-controller-forget

xe sdn-controller-introduce [address=address] [protocol=protocol] [tcp-port=tcp_port]
<!--NeedCopy-->

引入 SDN 控制器。

sdn-controller-introduce

xe sdn-controller-forget uuid=uuid
<!--NeedCopy-->

移除 SDN 控制器。

隧道命令

用于操作隧道的命令。

tunnel-create

xe tunnel-create pif-uuid=pif_uuid network-uuid=network_uuid
<!--NeedCopy-->

在主机上创建新隧道。

tunnel-destroy

xe tunnel-destroy uuid=uuid
<!--NeedCopy-->

销毁隧道。

补丁命令

用于处理补丁的命令。

patch-apply

xe patch-apply uuid=patch_uuid host-uuid=host_uuid
<!--NeedCopy-->

将之前上传的补丁应用到指定主机。

patch-clean

xe patch-clean uuid=uuid
<!--NeedCopy-->

删除之前上传的补丁文件。

patch-destroy

xe patch-destroy uuid=uuid
<!--NeedCopy-->

从主机中删除未应用的补丁记录和文件。

patch-pool-apply

xe patch-pool-apply uuid=uuid
<!--NeedCopy-->

将之前上传的补丁应用到池中的所有主机。

patch-pool-clean

xe patch-pool-clean uuid=uuid
<!--NeedCopy-->

删除池中所有主机上之前上传的补丁文件。

patch-precheck

xe patch-precheck uuid=uuid host-uuid=host_uuid
<!--NeedCopy-->

运行之前上传到指定主机的补丁中包含的预检查。

patch-upload

xe patch-upload file-name=file_name
<!--NeedCopy-->

将补丁文件上传到主机。

PBD 命令

用于处理 PBD(物理块设备)的命令。PBD 是 XenServer 主机访问存储库 (SR) 的软件对象。

PBD 对象可以使用标准对象列表命令 (xe pbd-list) 列出,其参数可以使用标准参数命令进行操作。有关更多信息,请参阅低级参数命令

PBD 参数

PBD 具有以下参数:

参数名称 描述 类型
uuid PBD 的唯一标识符/对象引用。 只读
sr-uuid PBD 指向的存储库 只读
device-config 提供给主机的 SR 后端驱动程序的额外配置信息 只读映射参数
currently-attached 如果 SR 附加到此主机,则值为 true,否则为 false 只读
host-uuid PBD 可用的物理机的 UUID 只读
host host 字段已弃用。请改用 host_uuid。 只读
other-config 额外配置信息。 读/写映射参数

pbd-create

xe pbd-create host-uuid=uuid_of_host sr-uuid=uuid_of_sr [device-config:key=corresponding_value]
<!--NeedCopy-->

在您的 XenServer 主机上创建 PBD。只读 device-config 参数只能在创建时设置。

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

有关每种 SR 类型支持的设备配置键值对的完整列表,请参阅 存储

pbd-destroy

xe pbd-destroy uuid=uuid_of_pbd
<!--NeedCopy-->

销毁指定的 PBD。

pbd-plug

xe pbd-plug uuid=uuid_of_pbd
<!--NeedCopy-->

尝试将 PBD 插入 XenServer 主机。如果此命令成功,则引用的 SR(以及其中包含的 VDI)将对 XenServer 主机可见。

pbd-unplug

xe pbd-unplug uuid=uuid_of_pbd
<!--NeedCopy-->

尝试从 XenServer 主机拔出 PBD。

PIF 命令

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

PIF 对象可以使用标准对象列表命令 (xe pif-list) 列出,参数可以使用标准参数命令进行操作。有关更多信息,请参阅 低级参数命令

PIF 参数

PIF 具有以下参数:

参数名称 描述 类型
uuid PIF 的唯一标识符/对象引用 只读
device machine-readable 接口名称(例如,eno12429np0) 只读
MAC PIF 的 MAC 地址 只读
other-config 额外的 PIF 配置 name:value 对。 读/写映射参数
physical 如果为 true,则 PIF 指向实际的物理网络接口 只读
currently-attached PIF 当前是否附加到此主机?truefalse 只读
MTU PIF 的最大传输单元(以字节为单位)。 只读
VLAN 通过此接口的所有流量的 VLAN 标签。-1 表示未分配 VLAN 标签 只读
bond-master-of 此 PIF 作为主接口的 bond 的 UUID(如果有) 只读
bond-slave-of 此 PIF 所属的 bond 的 UUID(如果有) 只读
management 此 PIF 是否被指定为控制域的管理接口 只读
network-uuid 此 PIF 连接到的虚拟网络的唯一标识符/对象引用 只读
network-name-label 此 PIF 连接到的虚拟网络的名称 只读
host-uuid 此 PIF 连接到的 XenServer 主机的唯一标识符/对象引用 只读
host-name-label 连接此 PIF 的 XenServer 主机名称 只读
IP-configuration-mode 使用的网络地址配置类型;DHCP 或静态 只读
IP PIF 的 IP 地址。当 IP 配置模式为静态时在此处定义;当为 DHCP 时未定义 只读
netmask PIF 的子网掩码。当 IP 配置模式为静态时在此处定义;当由 DHCP 提供时未定义 只读
gateway PIF 的网关地址。当 IP 配置模式为静态时在此处定义;当由 DHCP 提供时未定义 只读
DNS PIF 的 DNS 地址。当 IP 配置模式为静态时在此处定义;当由 DHCP 提供时未定义 只读
io_read_kbs 设备的平均读取速率(以 kB/s 为单位) 只读
io_write_kbs 设备的平均写入速率(以 kB/s 为单位) 只读
carrier 此设备的链接状态 只读
vendor-id 分配给 NIC 供应商的 ID 只读
vendor-name 网卡供应商的名称 只读
device-id 供应商为此网卡型号分配的 ID 只读
device-name 供应商为此网卡型号分配的名称 只读
speed 网卡的数据传输速率 只读
duplex 网卡的双工模式;全双工或半双工 只读
pci-bus-path PCI 总线路径地址 只读
other-config:ethtoolspeed 设置连接速度(Mbps) 读/写
other-config:ethtoolautoneg 设置为“否”以禁用物理接口或网桥的自动协商。默认为“是”。 读/写
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 以禁用 读/写
other-config:ethtool-ufo 设置为 on 以启用 UDP 片段卸载,设置为 off 以禁用 读/写
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

xe pif-forget uuid=uuid_of_pif
<!--NeedCopy-->

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

pif-introduce

xe pif-introduce host-uuid=host_uuid mac=mac_address_for_pif device=interface_name
<!--NeedCopy-->

在指定的 XenServer 主机上创建表示物理接口的 PIF 对象。

pif-plug

xe pif-plug uuid=uuid_of_pif
<!--NeedCopy-->

尝试启动指定的物理接口。

pif-reconfigure-ip

xe 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]
<!--NeedCopy-->

修改 PIF 的 IP 地址。对于静态 IP 配置,将 mode 参数设置为 static,并将 gatewayIPnetmask 参数设置为相应的值。要使用 DHCP,将 mode 参数设置为 DHCP 并将静态参数留空。

注意:

在连接到交换机端口的物理网络接口上使用静态 IP 地址,如果该交换机使用生成树协议且 STP 快速链路已关闭(或不支持),则会导致一段时间内没有流量。

pif-reconfigure-ipv6

xe pif-reconfigure-ipv6 uuid=uuid_of_pif mode=mode [gateway=network_gateway_address] [IPv6=static_ip_for_this_pif] [DNS=dns_address]
<!--NeedCopy-->

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

pif-scan

xe pif-scan host-uuid=host_uuid
<!--NeedCopy-->

扫描 XenServer 主机上的新物理接口。

pif-set-primary-address-type

xe pif-set-primary-address-type  uuid=uuid primary_address_type=address_type
<!--NeedCopy-->

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

pif-unplug

xe pif-unplug uuid=uuid_of_pif
<!--NeedCopy-->

尝试关闭指定的物理接口。

池命令

用于处理池的命令。是一个或多个 XenServer 主机的聚合。池使用一个或多个共享存储库,以便池中一个主机上运行的虚拟机可以近乎实时地迁移到池中的另一个主机。此迁移在虚拟机仍在运行时进行,无需关闭并重新启动。

默认情况下,每个 XenServer 主机实际上都是一个由单个成员组成的池。当您的 XenServer 主机加入池时,它被指定为成员。如果主机加入的池由单个成员组成,则该成员将成为池协调器。如果主机加入的池已经有多个成员,则其中一个成员已经是池协调器,并且在新主机加入池时仍然是池协调器。

单例池对象可以使用标准对象列表命令 (xe pool-list) 列出。其参数可以使用标准参数命令进行操作。有关更多信息,请参阅 低级参数命令

池参数

池具有以下参数:

参数名称 描述 类型
uuid 池的唯一标识符/对象引用 只读
name-label 池的名称 读/写
name-description 池的描述字符串 读/写
master 指定为池协调器的 XenServer 主机的唯一标识符/对象引用 只读
default-SR 池的默认 SR 的唯一标识符/对象引用 读/写
crash-dump-SR 保存池成员任何崩溃转储的 SR 的唯一标识符/对象引用 读/写
metadata-vdis 池的所有已知元数据 VDI 只读
suspend-image-SR 存储池成员上挂起 VM 的 SR 的唯一标识符/对象引用 读/写
other-config 指定池的额外配置参数的键值对列表 读/写映射参数
other-config:default_ha_timeout 高可用性超时(秒)。 读/写
supported-sr-types 此池可使用的 SR 类型 只读
ha-enabled 如果为池启用了 HA,则值为 true,否则为 false 只读
ha-configuration 保留供将来使用。 只读
ha-statefiles 列出 HA 用于确定存储运行状况的 VDI 的 UUID 只读
ha-host-failures-to-tolerate 在发送系统警报之前可容忍的主机故障数量 读/写
ha-plan-exists-for 根据 HA 算法的计算,实际可以处理的主机故障数量 只读
ha-allow-overcommit 如果允许池超额分配,则值为 true,否则为 false 读/写
ha-overcommitted 如果池已超额分配,则值为 true 只读
ha-reboot-vm-on-internal-shutdown 如果受保护的 VM 在干净关机时重新启动,则值为 true,否则为 false。 读/写
blobs 二进制数据存储 只读
live-patching-disabled 设置为 false 以启用实时修补。设置为 true 以禁用实时修补。 读/写
igmp-snooping-enabled 设置为 true 以启用 IGMP 侦听。设置为 false 以禁用 IGMP 侦听。 读/写
https-only 设置为 false 以允许使用管理 API 的外部客户端通过端口 443 上的 HTTPS 或端口 80 上的 HTTP 连接到 XenServer。设置为 true 以阻止端口 80 并要求客户端仅通过端口 443 上的 HTTPS 连接。 读/写
migration-compression 设置为 true 以启用 XenServer 池的迁移流压缩。设置为 false 以禁用迁移流压缩。默认值为 false。可以通过 vm-migrate 命令的 compress 参数覆盖。 读/写

pool-apply-edition

xe pool-apply-edition edition=cloud|standard-per-socket|premium-per-socket [uuid=uuid] [license-server-address=address] [license-server-port=port]
<!--NeedCopy-->

在整个池中应用版本。版本值包括“cloud”、“standard-per-socket”和“premium-per-socket”。将来,仅支持“cloud”。

pool-certificate-install

xe pool-certificate-install filename=file_name
<!--NeedCopy-->

在整个池中安装 TLS 证书。

pool-certificate-list

xe pool-certificate-list
<!--NeedCopy-->

列出池中所有已安装的 TLS 证书。

pool-certificate-sync

xe pool-certificate-sync
<!--NeedCopy-->

将 TLS 证书和证书吊销列表从池协调器同步到其他池成员。

pool-certificate-uninstall

xe pool-certificate-uninstall name=name
<!--NeedCopy-->

卸载 TLS 证书。

pool-crl-install

xe pool-crl-install filename=file_name
<!--NeedCopy-->

在整个池中安装 TLS 证书吊销列表。

pool-crl-list

xe pool-crl-list
<!--NeedCopy-->

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

pool-crl-uninstall

xe pool-crl-uninstall name=name
<!--NeedCopy-->

卸载 TLS 证书吊销列表。

pool-deconfigure-wlb

xe pool-deconfigure-wlb
<!--NeedCopy-->

永久删除工作负载平衡的配置。

pool-designate-new-master

xe pool-designate-new-master host-uuid=uuid_of_new_master
<!--NeedCopy-->

指示指定的成员 XenServer 主机成为现有池的协调器(以前称为“主服务器”)。此命令将池协调器角色有序地移交给资源池中的另一个主机。此命令仅在当前池协调器在线时有效。它不能替代下面列出的紧急模式命令。

pool-disable-external-auth

xe pool-disable-external-auth [uuid=uuid] [config=config]
<!--NeedCopy-->

禁用池中所有主机的外部身份验证。

pool-disable-local-storage-caching

xe pool-disable-local-storage-caching uuid=uuid
<!--NeedCopy-->

禁用池范围内的本地存储缓存。

pool-disable-redo-log

xe pool-disable-redo-log
<!--NeedCopy-->

如果正在使用,则禁用重做日志,除非已启用 HA。

pool-dump-database

xe pool-dump-database file-name=filename_to_dump_database_into_(on_client)
<!--NeedCopy-->

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

pool-enable-external-auth

xe pool-enable-external-auth  auth-type=auth_type service-name=service_name [uuid=uuid] [config:=config]
<!--NeedCopy-->

启用池中所有主机的外部身份验证。请注意,auth-type 的某些值将需要特定的 config: 值。

pool-enable-local-storage-caching

xe pool-enable-local-storage-caching uuid=uuid
<!--NeedCopy-->

启用池范围内的本地存储缓存。

pool-enable-redo-log

xe pool-ensable-redo-log sr-uuid=sr_uuid
<!--NeedCopy-->

如果正在使用,则在给定 SR 上启用重做日志,除非已启用 HA。

pool-eject

xe pool-eject host-uuid=uuid_of_host_to_eject
<!--NeedCopy-->

指示指定的 XenServer 主机离开现有池。

pool-emergency-reset-master

xe pool-emergency-reset-master master-address=address_of_pool_master
<!--NeedCopy-->

指示池成员主机将其池协调器地址重置为新值并尝试连接。请勿在池协调器上运行此命令。

pool-emergency-transition-to-master

xe pool-emergency-transition-to-master
<!--NeedCopy-->

指示成员 XenServer 主机成为池协调器(以前称为“池主服务器”)。XenServer 主机仅在主机进入紧急模式后才接受此命令。紧急模式表示它是某个池的成员,该池的协调器已从网络中消失,并且在多次重试后无法联系。

如果自主机加入池以来主机密码已被修改,此命令可能会导致主机密码重置。有关更多信息,请参阅(用户命令)。

pool-ha-enable

xe pool-ha-enable heartbeat-sr-uuids=uuid_of_heartbeat_sr
<!--NeedCopy-->

在资源池上启用高可用性,使用指定的 SR UUID 作为中央存储心跳存储库。

pool-ha-disable

xe pool-ha-disable
<!--NeedCopy-->

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

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

计算在当前池配置下可容忍的最大主机故障数。

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

xe pool-ha-compute-hypothetical-max-host-failures-to-tolerate [vm-uuid=vm_uuid] [restart-priority=restart_priority]
<!--NeedCopy-->

计算在提供建议的受保护虚拟机的情况下可容忍的最大主机故障数。

pool-initialize-wlb

xe pool-initialize-wlb wlb_url=url wlb_username=wlb_username wlb_password=wlb_password xenserver_username=username xenserver_password=password
<!--NeedCopy-->

使用目标工作负载平衡服务器,初始化当前池的工作负载平衡。

pool-join

xe pool-join master-address=address master-username=username master-password=password
<!--NeedCopy-->

指示您的 XenServer 主机加入现有池。

pool-management-reconfigure

xe pool-management-reconfigure [network-uuid=network-uuid]
<!--NeedCopy-->

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

如果指定了接口的设备名称(该接口必须具有 IP 地址),XenServer 池协调器会立即重新绑定。此命令在正常模式和紧急模式下均可运行。

根据指定的网络 UUID,识别 PIF 对象的 UUID 并将其映射到 XenServer 主机,这决定了要重新绑定到自身的 IP 地址。运行此命令时,它不得处于紧急模式。

警告:

在主机外使用此 CLI 命令时请务必小心,并确保新接口具有网络连接。请先使用 xe pif-reconfigure 进行设置。否则,后续的 CLI 命令将无法访问 XenServer 主机。

pool-recover-slaves

xe pool-recover-slaves
<!--NeedCopy-->

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

pool-restore-database

xe pool-restore-database file-name=filename_to_restore_from_on_client [dry-run=true|false]
<!--NeedCopy-->

将数据库备份(使用 pool-dump-database 创建)上传到池。收到上传后,池协调器会使用新数据库重新启动自身。

还有一个 试运行 选项,它允许您检查池数据库是否可以恢复,而无需实际执行操作。默认情况下,dry-run 设置为 false。

pool-retrieve-wlb-configuration

xe pool-retrieve-wlb-configuration
<!--NeedCopy-->

从工作负载平衡服务器检索池优化标准。

pool-retrieve-wlb-diagnostics

xe pool-retrieve-wlb-diagnostics [filename=file_name]
<!--NeedCopy-->

从工作负载平衡服务器检索诊断信息。

pool-retrieve-wlb-recommendations

xe pool-retrieve-wlb-recommendations
<!--NeedCopy-->

从工作负载平衡服务器检索池的虚拟机迁移建议。

pool-retrieve-wlb-report

xe pool-retrieve-wlb-report report=report [filename=file_name]
<!--NeedCopy-->

从工作负载平衡服务器检索报告。

pool-secret-rotate

xe pool-secret-rotate
<!--NeedCopy-->

轮换池密钥。

池密钥是池中 XenServer 主机之间共享的密钥,它使主机能够证明其属于某个池。具有池管理员角色的用户在通过 SSH 连接到主机时可以查看此密钥。如果其中一个用户离开您的组织或失去其池管理员角色,请轮换池密钥。

pool-send-test-post

xe pool-send-test-post dest-host=destination_host dest-port=destination_port body=post_body
<!--NeedCopy-->

使用 HTTPS 将给定主体发送到给定主机和端口,并打印响应。这用于调试 TLS 层。

pool-send-wlb-configuration

xe pool-send-wlb-configuration [config:=config]
<!--NeedCopy-->

为工作负载平衡服务器设置池优化标准。

pool-sync-database

xe pool-sync-database
<!--NeedCopy-->

强制资源池中所有主机上的池数据库同步。此命令在正常操作中不是必需的,因为数据库会定期自动复制。但是,在执行大量 CLI 操作后,此命令可用于确保更改快速复制。

设置 https-only

xe pool-param-set [uuid=pool-uuid] [https-only=true|false]
<!--NeedCopy-->

启用或禁用 XenServer 主机管理接口上端口 80 的阻塞。

PVS 加速器命令

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

pvs-cache-storage-create

xe pvs-cache-storage-create sr-uuid=sr_uuid pvs-site-uuid=pvs_site_uuid size=size
<!--NeedCopy-->

为给定主机上的给定 SR 配置 PVS 缓存。

pvs-cache-storage-destroy

xe pvs-cache-storage-destroy uuid=uuid
<!--NeedCopy-->

删除 PVS 缓存。

pvs-proxy-create

xe pvs-proxy-create pvs-site-uuid=pvs_site_uuid vif-uuid=vif_uuid
<!--NeedCopy-->

配置 VM/VIF 以使用 PVS 代理。

pvs-proxy-destroy

xe pvs-proxy-destroy uuid=uuid
<!--NeedCopy-->

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

pvs-server-forget

xe pvs-server-forget uuid=uuid
<!--NeedCopy-->

忘记 PVS 服务器。

pvs-server-introduce

xe pvs-server-introduce addresses=adresses first-port=first_port last-port=last_port pvs-site-uuid=pvs_site_uuid
<!--NeedCopy-->

引入新的 PVS 服务器。

pvs-site-forget

xe pvs-site-forget uuid=uuid
<!--NeedCopy-->

忘记一个 PVS 站点。

pvs-site-introduce

xe pvs-site-introduce name-label=name_label [name-description=name_description] [pvs-uuid=pvs_uuid]
<!--NeedCopy-->

引入新的 PVS 站点。

存储管理器命令

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

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

SM 参数

SM 具有以下参数:

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

管理主机和池上的 SSH 访问

概述

在 XenServer 8.4 中,对 dom0 的 SSH 访问现在默认启用。此版本引入了使用 XenAPI 或 xe 命令行界面 (CLI) 以编程方式控制 SSH 访问的功能。

此增强功能允许管理员在单个主机和整个池级别管理 SSH 访问,从而无需手动与每个服务器控制台进行交互。

优点

  • 自动化管理: 以编程方式在单个主机或整个池中启用或禁用 SSH。

  • 降低管理开销: 显著减少管理 SSH 访问所需的手动管理工作。

  • 增强工作流: 通过将 SSH 控制集成到现有管理系统中,改进自动化脚本并增强安全工作流。

兼容性和注意事项

  • 无额外要求: 此功能不需要任何额外的配置或特定的兼容性调整。

  • 服务行为: 禁用 SSH 将停止并禁用指定主机上的 sshd 服务。

  • 现有会话: 即使在禁用服务后,任何现有的 SSH 会话仍将保持活动状态且不受中断。

  • 新连接: 一旦禁用 SSH,新的连接尝试将被拒绝。

  • 池范围操作: 即使池中的一个或多个主机发生故障,在整个池中执行的操作也将继续。

将提供摘要消息,详细说明任何失败的操作。

CLI 配置

在主机上启用 SSH

xe host-enable-ssh host=<host_uuid_or_name_label>
<!--NeedCopy-->

此命令在指定主机上启动并启用 sshd 服务。 有关有效的 host 选择器,请参阅主机选择器

在主机上禁用 SSH

xe host-disable-ssh host=<host_uuid_or_name_label>
<!--NeedCopy-->

此命令在指定主机上停止并禁用 sshd 服务。

在池中的所有主机上启用 SSH

xe pool-enable-ssh
<!--NeedCopy-->

此命令在当前池中的所有主机上启动并启用 sshd 服务。

在池中的所有主机上禁用 SSH

xe pool-disable-ssh
<!--NeedCopy-->

此命令在当前池中的所有主机上停止并禁用 sshd 服务。

示例输出(池级别操作)

xe pool-enable-ssh

Some of hosts failed to enable SSH access.
hosts: d734ff47-f429-4bd4-93f7-245cffbdc79e (genus-35-003d)
<!--NeedCopy-->

如果某个主机失败,该命令将继续处理其余主机并在最后报告失败。

快照命令

用于处理快照的命令。

snapshot-clone

xe snapshot-clone new-name-label=name_label [uuid=uuid] [new-name-description=description]
<!--NeedCopy-->

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

snapshot-copy

xe snapshot-copy new-name-label=name_label [uuid=uuid] [new-name-description=name_description] [sr-uuid=sr_uuid]
<!--NeedCopy-->

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

snapshot-destroy

xe snapshot-destroy  [uuid=uuid] [snapshot-uuid=snapshot_uuid]
<!--NeedCopy-->

销毁快照。此操作会保留与快照关联的存储。若要同时删除存储,请使用 snapshot-uninstall。

snapshot-disk-list

xe snapshot-disk-list [uuid=uuid] [snapshot-uuid=snapshot_uuid] [vbd-params=vbd_params] [vdi-params=vdi_params]
<!--NeedCopy-->

列出所选虚拟机上的磁盘。

snapshot-export-to-template

xe snapshot-export-to-template filename=file_name snapshot-uuid=snapshot_uuid  [preserve-power-state=true|false]
<!--NeedCopy-->

将快照导出到 文件名称

snapshot-reset-powerstate

xe snapshot-reset-powerstate [uuid=uuid] [snapshot-uuid=snapshot_uuid] [--force]
<!--NeedCopy-->

仅在管理工具堆栈数据库中强制将虚拟机电源状态设置为已停止。此命令用于恢复标记为“已暂停”的快照。这是一项潜在危险的操作:您必须确保不再需要内存映像。您将无法再恢复您的快照。

snapshot-revert

xe snapshot-revert [uuid=uuid] [snapshot-uuid=snapshot_uuid]
<!--NeedCopy-->

将现有虚拟机还原到以前的检查点或快照状态。

snapshot-uninstall

xe snapshot-uninstall [uuid=uuid] [snapshot-uuid=snapshot_uuid] [--force]
<!--NeedCopy-->

卸载快照。此操作将销毁那些标记为 RW 且仅连接到此快照的 VDI。若要仅销毁虚拟机记录,请使用 snapshot-destroy。

SR 命令

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

SR 对象可以使用标准对象列表命令 (xe sr-list) 列出,并且参数可以使用标准参数命令进行操作。有关更多信息,请参阅 低级参数命令

SR 参数

SR 具有以下参数:

参数名称 描述 类型
uuid SR 的唯一标识符/对象引用 只读
name-label SR 的名称 读/写
name-description SR 的描述字符串 读/写
host 存储库主机名 只读
allowed-operations 此状态下允许在此 SR 上执行的操作列表 只读设置参数
current-operations 当前在此 SR 上正在进行的操作列表 只读设置参数
VDIs 此 SR 中虚拟磁盘的唯一标识符/对象引用 只读设置参数
PBDs 附加到此 SR 的 PBD 的唯一标识符/对象引用 只读设置参数
virtual-allocation 此存储库中所有 VDI 的虚拟大小值总和(以字节为单位) 只读
physical-utilisation 此 SR 上当前使用的物理空间,以字节为单位。对于精简配置的磁盘格式,物理利用率可能小于虚拟分配。 只读
physical-size SR 的总物理大小,以字节为单位 只读
type SR 的类型,用于指定要使用的 SR 后端驱动程序 只读
content-type SR 内容的类型。用于区分 ISO 库与其他 SR。对于存储 ISO 库的存储库,content-type 必须设置为 iso。在其他情况下,我们建议您将此参数设置为空或字符串 user。 只读
shared 如果此 SR 可以在多个主机之间共享,则值为 true,否则为 false。 读/写
introduced-by 引入此 SR 的 drtask(如果有) 只读
is-tools-sr 如果此 SR 包含工具 ISO VDI,则值为 true,否则为 false。 只读
other-config 指定 SR 额外配置参数的键值对列表 读/写映射参数
sm-config SM 相关数据 只读映射参数
blobs 二进制数据存储 只读
local-cache-enabled 如果此 SR 被指定为其主机的本地缓存,则值为 true,否则为 false。 只读
tags 用于分类的用户指定标签 读/写设置参数
clustered 如果 SR 使用聚合本地存储,则值为 true,否则为 false。 只读

sr-create

xe 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]
<!--NeedCopy-->

在磁盘上创建 SR,将其引入数据库,并创建一个 PBD 将 SR 附加到 XenServer 主机。如果 shared 设置为 true,则为池中的每个 XenServer 主机创建一个 PBD。如果未指定 shared 或将其设置为 false,则仅为 host-uuid 指定的 XenServer 主机创建一个 PBD。

确切的 device-config 参数因设备 type 而异。有关不同存储后端中这些参数的详细信息,请参阅 创建 SR

sr-data-source-forget

xe sr-data-source-forget data-source=data_source
<!--NeedCopy-->

停止记录 SR 的指定数据源,并删除所有已记录的数据。

sr-data-source-list

xe sr-data-source-list
<!--NeedCopy-->

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

sr-data-source-query

xe sr-data-source-query data-source=data_source
<!--NeedCopy-->

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

sr-data-source-record

xe sr-data-source-record  data-source=data_source
<!--NeedCopy-->

记录 SR 的指定数据源。

sr-destroy

xe sr-destroy uuid=sr_uuid
<!--NeedCopy-->

销毁 XenServer 主机上指定的 SR。

sr-enable-database-replication

xe sr-enable-database-replication uuid=sr_uuid
<!--NeedCopy-->

启用 XAPI 数据库复制到指定的(共享)SR。

sr-disable-database-replication

xe sr-disable-database-replication uuid=sr_uuid
<!--NeedCopy-->

禁用 XAPI 数据库复制到指定的 SR。

sr-forget

xe sr-forget uuid=sr_uuid
<!--NeedCopy-->

XAPI 代理会忘记 XenServer 主机上指定的 SR。当 XAPI 代理忘记 SR 时,SR 会被分离,您无法访问其上的 VDI,但它在源介质上保持完整(数据不会丢失)。

sr-introduce

xe sr-introduce name-label=name physical-size=physical_size type=type content-type=content_type uuid=sr_uuid
<!--NeedCopy-->

仅将 SR 记录放入数据库。使用 device-configdevice-config:parameter_key=parameter_value 形式指定其他参数,例如:

xe sr-introduce device-config:device=/dev/sdb1
<!--NeedCopy-->

注意:

此命令在正常操作中从不使用。此高级操作可能在 SR 创建后必须重新配置为共享时,或在从各种故障场景中恢复时有用。

sr-probe

xe sr-probe type=type [host-uuid=host_uuid] [device-config:config_name=value]
<!--NeedCopy-->

使用提供的 device-config 键对后端执行扫描。如果 SR 后端的 device-config 已完成,此命令将返回设备上存在的 SR 列表(如果有)。如果 device-config 参数仅为部分,则会执行后端特定扫描,返回的结果将指导您改进剩余的 device-config 参数。扫描结果以特定于后端的 XML 格式返回,并在 CLI 上打印。

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

sr-probe-ext

xe sr-probe-ext type=type [host-uuid=host_uuid] [device-config:=config] [sm-config:-sm_config]
<!--NeedCopy-->

执行存储探测。设备配置参数可以通过例如 device-config:devs=/dev/sdb1 来指定。与 sr-probe 不同,此命令为每种 SR 类型返回相同的人类可读格式的结果。

sr-scan

xe sr-scan uuid=sr_uuid
<!--NeedCopy-->

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

sr-update

xe sr-update uuid=uuid
<!--NeedCopy-->

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

lvhd-enable-thin-provisioning

xe lvhd-enable-thin-provisioning  sr-uuid=sr_uuid initial-allocation=initial_allocation allocation-quantum=allocation_quantum
<!--NeedCopy-->

在 LVHD SR 上启用精简配置。

主体命令

用于处理主体的命令。

session-subject-identifier-list

xe session-subject-identifier-list
<!--NeedCopy-->

返回所有外部认证的现有会话的用户主体 ID 列表。

session-subject-identifier-logout

xe session-subject-identifier-logout subject-identifier=subject_identifier
<!--NeedCopy-->

注销与用户主体 ID 关联的所有外部认证会话。

session-subject-identifier-logout-all

xe session-subject-identifier-logout-all
<!--NeedCopy-->

注销所有外部认证的会话。

subject-add

xe subject-add subject-name=subject_name
<!--NeedCopy-->

将主体添加到可以访问池的主体列表。

subject-remove

xe subject-remove subject-uuid=subject_uuid
<!--NeedCopy-->

从可以访问池的主体列表中移除主体。

subject-role-add

xe subject-role-add uuid=uuid [role-name=role_name] [role-uuid=role_uuid]
<!--NeedCopy-->

为主体添加角色。

subject-role-remove

xe subject-role-remove uuid=uuid [role-name=role_name] [role-uuid=role_uuid]
<!--NeedCopy-->

从主体中移除角色。

secret-create

xe secret-create value=value
<!--NeedCopy-->

创建一个密钥。

secret-destroy

xe secret-destroy uuid=uuid
<!--NeedCopy-->

销毁一个密钥。

任务命令

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

任务对象可以使用标准对象列表命令 (xe task-list) 列出,参数可以使用标准参数命令进行操作。有关更多信息,请参阅 低级参数命令

任务参数

任务具有以下参数:

参数名称 描述 类型
uuid 任务的唯一标识符/对象引用 只读
name-label 任务的名称 只读
name-description 任务的描述字符串 只读
resident-on 运行任务的主机的唯一标识符/对象引用 只读
status 任务的状态 只读
progress 如果任务仍在挂起,此字段包含估计的完成百分比,范围从 0 到 1。如果任务已完成(无论成功与否),则值为 1。 只读
type 如果任务已成功完成,此参数包含编码结果的类型。该类型是其引用位于结果字段中的类的名称。否则,此参数的值未定义。 只读
result 如果任务已成功完成,此字段包含结果值,可以是 Void 或对象引用;否则,此参数的值未定义。 只读
error_info 如果任务失败,此参数包含相关的错误字符串集。否则,此参数的值未定义。 只读
allowed_operations 此状态下允许的操作列表 只读
created 任务创建时间 只读
finished 任务完成时间(即成功或失败)。如果任务状态为待处理,则此字段的值无意义 只读
subtask_of 包含此任务所属父任务的 UUID 只读
subtasks 包含此任务所有子任务的 UUID 只读

task-cancel

xe task-cancel [uuid=task_uuid]
<!--NeedCopy-->

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

模板命令

用于处理 VM 模板的命令。

模板本质上是虚拟机,其 is-a-template 参数设置为 true。模板是一个“黄金镜像”,其中包含实例化特定虚拟机所需的所有各种配置设置。XenServer 附带一组基本模板,这些模板是通用的“裸”虚拟机,可以从操作系统供应商安装光盘(例如:RHEL、CentOS、SLES、Windows)启动。您可以创建虚拟机,根据您的特定需求以标准形式配置它们,并将其副本保存为模板,以便将来在虚拟机部署中使用。

模板对象可以使用标准对象列表命令 (xe template-list) 列出,其参数可以使用标准参数命令进行操作。有关更多信息,请参阅 低级参数命令

注意:

模板不能通过将 is-a-template 参数设置为 false 来直接转换为虚拟机。将 is-a-template 参数设置为 false 不受支持,并且会导致虚拟机无法启动。

虚拟机模板参数

模板具有以下参数:

  • uuid (只读)模板的唯一标识符/对象引用
  • name-label (读/写)模板的名称
  • name-description (读/写)模板的描述字符串
  • user-version (读/写)供虚拟机和模板创建者放置版本信息的字符串
  • is-a-template (读/写)如果此虚拟机是模板,则为 true。 模板虚拟机永远无法启动,它们仅用于克隆其他虚拟机。此值设置为 true 后,无法重置为 false。模板虚拟机无法使用此参数转换为虚拟机。

    您可以使用以下命令将虚拟机转换为模板:

     xe vm-param-set uuid=<vm uuid> is-a-template=true
     <!--NeedCopy-->
    
  • is-control-domain (只读)如果这是控制域(域 0 或驱动程序域),则为 true
  • power-state (只读)当前电源状态。对于模板,该值始终为 halted
  • memory-dynamic-max (只读)动态最大内存(以字节为单位)。 当前未使用,但如果更改,则必须遵守以下约束:memory_static_max >= memory_dynamic_max >= memory_dynamic_min >= memory_static_min
  • memory-dynamic-min (读/写) 动态最小内存(以字节为单位)。 当前未使用,但如果更改,则必须遵守 memory-dynamic-max 的相同约束。
  • memory-static-max (读/写) 静态设置的(绝对)最大内存(以字节为单位)。此字段是用于确定分配给虚拟机的内存量的主要值。
  • memory-static-min (读/写) 静态设置的(绝对)最小内存(以字节为单位)。 此字段表示绝对最小内存,且 memory-static-min 必须小于 memory-static-max。 此值在正常操作中未使用,但必须遵守上述约束。
  • suspend-VDI-uuid (只读) 存储挂起映像的 VDI(对模板无意义)
  • VCPUs-params (读/写映射参数) 所选 vCPU 策略的配置参数。
  • VCPUs-max (读/写) 最大 vCPU 数量
  • VCPUs-at-startup (读/写) 启动 vCPU 数量
  • actions-after-crash (读/写) 基于此模板的虚拟机崩溃时要采取的操作
  • console-uuids (只读集参数) 虚拟控制台设备
  • platform (读/写映射参数) 平台特定配置

    禁用客户机并行端口仿真:

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

    禁用串行端口仿真:

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

    禁用 USB 控制器和 USB 平板设备仿真:

     xe vm-param-set uuid=<vm_uuid> platform:usb=false
     xe vm-param-set uuid=<vm_uuid> platform:usb_tablet=false
     <!--NeedCopy-->
    
  • allowed-operations (只读集参数) 此状态下允许的操作列表
  • current-operations (只读集参数) 当前在此模板上进行的操作列表
  • allowed-VBD-devices(只读集参数)可用的 VBD 标识符列表,表示为 0-254 范围内的整数。此列表仅供参考,可以使用其他设备(但可能无法工作)。
  • allowed-VIF-devices(只读集参数)可用的 VIF 标识符列表,表示为 0-6 范围内的整数。此列表仅供参考,可以使用其他设备(但可能无法工作)。
  • HVM-boot-policy(读/写)来宾的引导策略。可以是 BIOS Order 或空字符串。
  • HVM-boot-params(读/写映射参数)order 键控制来宾引导顺序,表示为一个字符串,其中每个字符都是一种引导方法: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 所在的 XenServer 主机。对于模板,显示为 not in database
  • affinity(读/写)基于此模板的 VM 优先运行的 XenServer 主机。由 xe vm-start 命令用于决定 VM 的运行位置。也称为主服务器。
  • groups(读/写)此 VM 所属的 VM 组。VM 组定义了 XenServer 尝试启动 VM 或将其迁移到的位置。
  • other-config(读/写映射参数)指定模板额外配置参数的键值对列表
  • start-time(只读)此模板的虚拟机指标读取日期和时间的时间戳,格式为 yyyymmddThh:mm:ss z,其中 z 是单字母军事时区指示符,例如 UTC(GMT) 的 Z。对于模板,设置为 1 Jan 1970 Z(Unix/POSIX 纪元开始)
  • install-time(只读)此模板的虚拟机指标读取日期和时间的时间戳,格式为 yyyymmddThh:mm:ss z,其中 z 是单字母军事时区指示符,例如 UTC (GMT) 的 Z。对于模板,设置为 1 Jan 1970 Z(Unix/POSIX 纪元开始)
  • memory-actual(只读)此模板的虚拟机实际使用的内存;对于模板,为 0
  • VCPUs-number(只读)分配给此模板的虚拟机的虚拟 CPU 数量;对于模板,为 0
  • VCPUs-Utilization(只读映射参数)虚拟 CPU 列表及其权重;os-version(只读映射参数)此模板的虚拟机的操作系统版本。对于模板,显示为 not in database
  • PV-drivers-version(只读映射参数)此模板的虚拟机的半虚拟化驱动程序版本。对于模板,显示为 not in database
  • PV-drivers-detected(只读)此模板的虚拟机的半虚拟化驱动程序最新版本的标志。对于模板,显示为 not in database
  • memory(只读映射参数)此模板的虚拟机上代理报告的内存指标。对于模板,显示为 not in database
  • disks(只读映射参数)此模板的虚拟机上代理报告的磁盘指标。对于模板,显示为 not in database
  • networks(只读映射参数)此模板的虚拟机上代理报告的网络指标。对于模板,显示为 not in database
  • other(只读映射参数)此模板的虚拟机上代理报告的其他指标。对于模板,显示为 not in database
  • guest-metrics-last-updated(只读)客户机代理上次写入这些字段时的时间戳。格式为 yyyymmddThh:mm:ss z,其中 z 是单字母军事时区指示符,例如 UTC (GMT) 的 Z
  • actions-after-shutdown(读/写)虚拟机关闭后要执行的操作
  • actions-after-reboot(读/写)虚拟机重新启动后要执行的操作
  • possible-hosts(只读)可能托管此虚拟机的主机列表
  • HVM-shadow-multiplier (读/写) 应用于提供给客户机的影子内存量的乘数
  • dom-id (只读) 域 ID (如果可用,否则为 -1)
  • recommendations (只读) 此 VM 属性的推荐值和范围的 XML 规范
  • xenstore-data (读/写映射参数) VM 创建后要插入到 xenstore 树 (/local/domain/*domid*/vmdata) 中的数据。
  • is-a-snapshot (只读) 如果此模板是 VM 快照,则值为 true
  • snapshot_of (只读) 此模板是其快照的 VM 的 UUID
  • snapshots (只读) 已为此模板拍摄的任何快照的 UUID
  • snapshot_time (只读) 最近一次 VM 快照的时间戳
  • memory-target (只读) 为此模板设置的目标内存量
  • blocked-operations (读/写映射参数) 列出无法在此模板上执行的操作
  • last-boot-record (只读) 此模板的上次启动参数记录,采用 XML 格式
  • ha-always-run (读/写) 如果此模板的实例所在的宿主机发生故障,则该实例始终在另一台宿主机上重新启动,则此值为 true。此参数现已弃用。请改用 ha-restartpriority 参数。
  • ha-restart-priority (只读) 重启或尽力而为的读/写 blob 二进制数据存储
  • live (只读) 仅与正在运行的 VM 相关。

template-export

xe template-export template-uuid=uuid_of_existing_template filename=filename_for_new_template
<!--NeedCopy-->

将指定模板的副本导出到具有指定新文件名的文件。

template-uninstall

xe template-uninstall template-uuid=template_uuid [--force]
<!--NeedCopy-->

卸载自定义模板。此操作将销毁那些被此模板标记为“拥有”的 VDI。

更新命令

以下部分包含 XenServer 主机更新命令。

更新对象可以使用标准对象列表命令 (xe update-list) 列出,并且参数可以使用标准参数命令进行操作。有关更多信息,请参阅 低级参数命令

更新参数

XenServer 主机更新具有以下参数:

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

update-upload

xe update-upload file-name=update_filename
<!--NeedCopy-->

将指定的更新文件上传到 XenServer 主机。此命令准备要应用的更新。成功后,将打印上传更新的 UUID。如果更新之前已上传,则会返回 UPDATE_ALREADY_EXISTS 错误,并且不会再次上传修补程序。

update-precheck

xe update-precheck uuid=update_uuid host-uuid=host_uuid
<!--NeedCopy-->

在指定的 XenServer 主机上运行指定更新中包含的预检查。

update-destroy

xe update-destroy uuid=update_file_uuid
<!--NeedCopy-->

从池中删除尚未应用的更新文件。可用于删除无法应用于主机的更新文件。

update-apply

xe update-apply host-uuid=host_uuid uuid=update_file_uuid
<!--NeedCopy-->

应用指定的更新文件。

update-pool-apply

xe update-pool-apply uuid=update_uuid
<!--NeedCopy-->

将指定的更新应用于池中的所有 XenServer 主机。

update-introduce

xe update-introduce vdi-uuid=vdi_uuid
<!--NeedCopy-->

引入更新 VDI。

update-pool-clean

xe update-pool-clean uuid=uuid
<!--NeedCopy-->

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

用户命令

user-password-change

xe user-password-change old=old_password new=new_password
<!--NeedCopy-->

更改已登录用户的密码。旧密码字段未被检查,因为使用此命令需要主管权限。

VBD 命令

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

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

VBD 对象可以使用标准对象列表命令 (xe vbd-list) 列出,参数可以使用标准参数命令进行操作。有关更多信息,请参阅低级参数命令

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 期间由设备参数指定的设备编号,例如,hda 为 0,hdb 为 1,依此类推 读/写
bootable 如果此 VBD 可引导,则值为 true 读/写
mode VBD 挂载模式 读/写
type VBD 在虚拟机中显示的方式,例如磁盘或 CD 读/写
currently-attached 如果 VBD 已在此主机上连接,则值为 true,否则为 false 只读
storage-lock 如果已获取存储级别锁,则值为 true 只读
status-code 与上次连接操作相关的错误/成功代码 只读
status-detail 与上次附加操作状态相关的错误/成功信息 只读
qos_algorithm_type 要使用的优先级算法 读/写
qos_algorithm_params 所选优先级算法的参数 读/写映射参数
qos_supported_algorithms 此 VBD 支持的优先级算法 只读集参数
io_read_kbs 此 VBD 的平均读取速率(千字节/秒) 只读
io_write_kbs 此 VBD 的平均每秒写入速率(以 kB 为单位) 只读
allowed-operations 此状态下允许的操作列表。此列表仅供参考,服务器状态可能在客户端读取此字段时已发生更改。 只读设置参数
current-operations 将使用此对象(通过引用)的每个正在运行的任务链接到描述任务性质的 current_operation 枚举。 只读设置参数
unpluggable 如果此 VBD 支持热拔插,则值为 true 读/写
attachable 如果设备可以连接,则值为 true 只读
other-config 额外配置 读/写映射参数

vbd-create

xe 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]
<!--NeedCopy-->

在虚拟机上创建 VBD。

device 字段的允许值为 0–254 之间的整数,并且每个虚拟机上的数字必须是唯一的。当前允许的值可以在指定虚拟机上的 allowed-VBD-devices 参数中看到。这在 vbd 参数中显示为 userdevice

如果 typeDisk,则 vdi-uuid 是必需的。对于磁盘,模式可以是 RORW

如果 typeCD,则 vdi-uuid 是可选的。如果未指定 VDI,则会为 CD 创建一个空的 VBD。对于 CD,模式必须是 RO

vbd-destroy

xe vbd-destroy uuid=uuid_of_vbd
<!--NeedCopy-->

销毁指定的 VBD。

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

vbd-eject

xe vbd-eject uuid=uuid_of_vbd
<!--NeedCopy-->

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

vbd-insert

xe vbd-insert uuid=uuid_of_vbd vdi-uuid=uuid_of_vdi_containing_media
<!--NeedCopy-->

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

vbd-plug

xe vbd-plug uuid=uuid_of_vbd
<!--NeedCopy-->

尝试在 VM 处于运行状态时附加 VBD。

vbd-unplug

xe vbd-unplug uuid=uuid_of_vbd
<!--NeedCopy-->

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

VDI 命令

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

VDI 是一种软件对象,表示 VM 所见的虚拟磁盘内容。这与 VBD 不同,VBD 是将 VM 绑定到 VDI 的对象。VDI 包含虚拟磁盘的物理属性信息(SR 类型、磁盘是否可共享、介质是读/写还是只读等)。VBD 包含将 VDI 绑定到 VM 的属性(是否可启动、其读/写指标等)。

VDI 对象可以使用标准对象列表命令 (xe vdi-list) 列出,其参数可以使用标准参数命令进行操作。有关更多信息,请参阅 低级参数命令

VDI 参数

VDI 具有以下参数:

参数名称 描述 类型
uuid VDI 的唯一标识符/对象引用 只读
name-label VDI 的名称 读/写
name-description VDI 的描述字符串 读/写
allowed-operations 此状态下允许的操作列表 只读设置参数
current-operations 当前在此 VDI 上正在进行的操作列表 只读设置参数
sr-uuid VDI 所在的 SR 只读
vbd-uuids 引用此 VDI 的 VBD 列表 只读集参数
crashdump-uuids 引用此 VDI 的崩溃转储列表 只读集参数
virtual-size 呈现给虚拟机的磁盘大小(以字节为单位)。根据存储后端类型,大小可能无法完全遵守。 只读
physical-utilisation VDI 在 SR 上占用的物理空间量(以字节为单位) 只读
type VDI 类型,例如 System 或 User 只读
sharable 如果此 VDI 可以共享,则值为 true,否则为 false 只读
read-only 如果此 VDI 只能以只读方式挂载,则值为 true,否则为 false 只读
storage-lock 如果此 VDI 在存储级别被锁定,则值为 true,否则为 false 只读
parent 当此 VDI 是链的一部分时,引用父 VDI 只读
missing 如果 SR 扫描操作报告此 VDI 不存在,则值为 true 只读
other-config 此 VDI 的额外配置信息 读/写映射参数
sr-name-label 包含存储库的名称 只读
location 位置信息 只读
managed 如果 VDI 受管理,则值为 true 只读
xenstore-data VDI 附加后,要插入到 xenstore 树中的数据 (/local/domain/0/backend/ vbd/domid/device-id/smdata)。SM 后端通常在 vdi_attach 上设置此字段。 只读映射参数
sm-config SM 相关数据 只读映射参数
is-a-snapshot 如果此 VDI 是 VM 存储快照,则值为 true,否则为 false 只读
snapshot_of 此 VDI 是其快照的存储的 UUID 只读
snapshots 此 VDI 的所有快照的 UUID 只读
snapshot_time 创建此 VDI 的快照操作的时间戳 只读
metadata-of-pool 创建此元数据 VDI 的池的 UUID 只读
metadata-latest 指示 VDI 是否包含此池的最新已知元数据的标志 只读
cbt-enabled 指示是否为 VDI 启用了更改块跟踪的标志 读/写

vdi-clone

xe vdi-clone uuid=uuid_of_the_vdi [driver-params:key=value]
<!--NeedCopy-->

创建指定 VDI 的新的可写副本,可直接使用。它是 vdi-copy 的变体,可以在存在高速映像克隆功能时公开这些功能。

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

vdi-copy

xe vdi-copy uuid=uuid_of_the_vdi sr-uuid=uuid_of_the_destination_sr
<!--NeedCopy-->

将 VDI 复制到指定的 SR。

vdi-create

xe 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
<!--NeedCopy-->

创建 VDI。

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

注意:

支持磁盘精简配置的 SR 类型(例如本地 VHD 和 NFS)不强制执行磁盘的虚拟分配。在 SR 上过度分配虚拟磁盘空间时务必小心。如果过度分配的 SR 已满,则必须在 SR 目标基板上提供磁盘空间,或者通过删除 SR 中未使用的 VDI 来提供。

某些 SR 类型可能会将 virtual-size 值向上舍入,使其可被配置的块大小整除。

vdi-data-destroy

xe vdi-data-destroy uuid=uuid_of_vdi
<!--NeedCopy-->

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

注意:

如果您使用更改块跟踪对 VDI 进行增量备份,请确保使用 vdi-data-destroy 命令删除快照但保留元数据。请勿对已启用更改块跟踪的 VDI 快照使用 vdi-destroy

vdi-destroy

xe vdi-destroy uuid=uuid_of_vdi
<!--NeedCopy-->

销毁指定的 VDI。

注意:

如果您使用更改块跟踪对 VDI 进行增量备份,请确保使用 vdi-data-destroy 命令删除快照但保留元数据。请勿对已启用更改块跟踪的 VDI 快照使用 vdi-destroy

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

vdi-disable-cbt

xe vdi-disable-cbt uuid=uuid_of_vdi
<!--NeedCopy-->

禁用 VDI 的更改块跟踪。

vdi-enable-cbt

xe vdi-enable-cbt uuid=uuid_of_vdi
<!--NeedCopy-->

启用 VDI 的更改块跟踪。

注意:

只能在 XenServer Premium Edition 的许可实例上启用更改块跟踪。

vdi-export

xe vdi-export uuid=uuid_of_vdi filename=filename_to_export_to [format=format] [base=uuid_of_base_vdi] [--progress]
<!--NeedCopy-->

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

  • raw
  • vhd

VHD 格式可以是 稀疏的。如果 VDI 中存在未分配的块,这些块可能会从 VHD 文件中省略,从而使 VHD 文件更小。您可以从所有受支持的基于 VHD 的存储类型(EXT3/EXT4、NFS)导出为 VHD 格式。

如果指定 base 参数,此命令将仅导出已导出 VDI 和基本 VDI 之间已更改的块。

vdi-forget

xe vdi-forget uuid=uuid_of_vdi
<!--NeedCopy-->

无条件地从数据库中删除 VDI 记录,而不触及存储后端。在正常操作中,请改用 vdi-destroy

vdi-import

xe vdi-import uuid=uuid_of_vdi filename=filename_to_import_from [format=format] [--progress]
<!--NeedCopy-->

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

  • raw
  • vhd

vdi-introduce

xe 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]
<!--NeedCopy-->

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

vdi-list-changed-blocks

xe vdi-list-changed-blocks vdi-from-uuid=first-vdi-uuid vdi-to-uuid=second-vdi-uuid
<!--NeedCopy-->

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

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

vdi-pool-migrate

xe vdi-pool-migrate uuid=VDI_uuid sr-uuid=destination-sr-uuid
<!--NeedCopy-->

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

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

vdi-resize

xe vdi-resize uuid=vdi_uuid disk-size=new_size_for_disk
<!--NeedCopy-->

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

vdi-snapshot

xe vdi-snapshot uuid=uuid_of_the_vdi [driver-params=params]
<!--NeedCopy-->

生成一个 VDI 的读写版本,可用作备份或模板创建的参考,或两者兼有。使用快照执行备份,而不是在 VM 内部安装和运行备份软件。外部备份软件将快照内容流式传输到备份介质时,VM 会继续运行。同样,快照可以用作创建模板的“黄金映像”。可以使用任何 VDI 创建模板。

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

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

vdi-unlock

xe vdi-unlock uuid=uuid_of_vdi_to_unlock [force=true]
<!--NeedCopy-->

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

vdi-update

xe vdi-update uuid=uuid
<!--NeedCopy-->

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

VIF 命令

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

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

VIF 参数

VIF 具有以下参数:

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

    此参数是只读的,但您可以使用 mtu 键和 other-config 映射参数覆盖 MTU 设置。例如,要将虚拟网卡的 MTU 重置为使用巨型帧:

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

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

  • locking_mode:locked (读/写) VIF 上只允许发送到或来自指定 MAC 和 IP 地址的流量。如果未指定 IP 地址,则不允许任何流量。
  • locking_mode:unlocked (读/写) 不对进出 VIF 的任何流量应用任何筛选器。
  • locking_mode:disabled (读/写) XenServer 应用过滤规则,使 VIF 丢弃所有流量。

vif-create

xe vif-create vm-uuid=uuid_of_the_vm device=see below network-uuid=uuid_of_network_to_connect_to [mac=mac_address]
<!--NeedCopy-->

在虚拟机上创建 VIF。

device 字段的适当值列在指定虚拟机的参数 allowed-VIF-devices 中。在任何 VIF 存在之前,允许的值是 0-6 之间的整数。

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

vif-destroy

xe vif-destroy uuid=uuid_of_vif
<!--NeedCopy-->

销毁 VIF。

vif-move

xe vif-move uuid=uuid network-uuid=network_uuid
<!--NeedCopy-->

将 VIF 移动到另一个网络。

vif-plug

xe vif-plug uuid=uuid_of_vif
<!--NeedCopy-->

尝试在虚拟机处于运行状态时附加 VIF。

vif-unplug

xe vif-unplug uuid=uuid_of_vif
<!--NeedCopy-->

尝试在虚拟机运行时从虚拟机分离 VIF。

vif-configure-ipv4

配置此虚拟接口的 IPv4 设置。按如下方式设置 IPv4 设置:

xe vif-configure-ipv4 uuid=uuid_of_vif mode=static address=CIDR_address gateway=gateway_address
<!--NeedCopy-->

例如:

VIF.configure_ipv4(vifObject,"static", " 192.168.1.10/24", " 192.168.1.1")
<!--NeedCopy-->

按如下方式清除 IPv4 设置:

xe vif-configure-ipv4 uuid=uuid_of_vif mode=none
<!--NeedCopy-->

vif-configure-ipv6

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

xe vif-configure-ipv6 uuid=uuid_of_vif mode=static address=IP_address gateway=gateway_address
<!--NeedCopy-->

例如:

VIF.configure_ipv6(vifObject,"static", "fd06:7768:b9e5:8b00::5001/64", "fd06:7768:b9e5:8b00::1")
<!--NeedCopy-->

如下所示清除 IPv6 设置:

xe vif-configure-ipv6 uuid=uuid_of_vif mode=none
<!--NeedCopy-->

VLAN 命令

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

vlan-create

xe vlan-create pif-uuid=uuid_of_pif vlan=vlan_number network-uuid=uuid_of_network
<!--NeedCopy-->

在 XenServer 主机上创建 VLAN。

pool-vlan-create

xe pool-vlan-create pif-uuid=uuid_of_pif vlan=vlan_number network-uuid=uuid_of_network
<!--NeedCopy-->

通过确定指定网络在池中每个主机上的接口(例如,eno12429np0),然后在每个主机上相应地创建并插入新的 PIF 对象,从而在池中的所有主机上创建 VLAN。

vlan-destroy

xe vlan-destroy uuid=uuid_of_pif_mapped_to_vlan
<!--NeedCopy-->

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

VM 命令

用于控制 VM 及其属性的命令。

VM 选择器

此处列出的几个命令都有一个通用机制,用于选择一个或多个虚拟机来执行操作。最简单的方法是提供参数 vm=name_or_uuid。获取实际虚拟机 UUID 的简单方法是,例如,运行 xe vm-list power-state=running。(使用命令 xe vm-list params=all 获取可匹配的字段完整列表。)例如,指定 power-state=halted 会选择其 power-state 参数等于 halted 的虚拟机。当有多个虚拟机匹配时,指定选项 --multiple 来执行操作。本节开头描述了可匹配的参数完整列表。

虚拟机对象可以使用标准对象列表命令 (xe vm-list) 列出,参数可以使用标准参数命令进行操作。有关更多信息,请参阅低级参数命令

虚拟机参数

虚拟机具有以下参数:

注意:

所有可写入的虚拟机参数值都可以在虚拟机运行时更改,但新参数不会动态应用,并且在虚拟机重新启动之前无法应用。

  • appliance(读/写)虚拟机所属的设备/vApp
  • uuid(只读)虚拟机的唯一标识符/对象引用
  • name-label(读/写)虚拟机的名称
  • name-description(读/写)虚拟机的描述字符串
  • order(读/写)用于 vApp 启动/关闭以及 HA 故障转移后的启动。顺序值为 0(零)的虚拟机首先启动,然后是顺序值为 1 的虚拟机,依此类推。
  • version(只读)此虚拟机已恢复的次数。如果要用旧版本覆盖新虚拟机,请调用 vm-recover
  • user-version(读/写)供虚拟机和模板创建者放置版本信息的字符串
  • is-a-template(读/写)除非此虚拟机是模板,否则值为 false。模板虚拟机永远不能启动,它们仅用于克隆其他虚拟机。此值设置为 true 后,不能重置为 false。模板虚拟机不能使用此参数转换为虚拟机。

    您可以使用以下命令将虚拟机转换为模板:

     xe vm-param-set uuid=<vm uuid> is-a-template=true
     <!--NeedCopy-->
    
  • 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 (读/写映射参数) 所选 vCPU 策略的配置参数。
  • 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 (只读设置参数) 虚拟控制台设备
  • platform (读/写映射参数) 平台特定配置

    禁用 VDA 以将 Windows 10 切换到平板电脑模式:

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

    启用 VDA 以将 Windows 10 切换到平板电脑模式:

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

    检查当前状态:

     xe vm-param-get uuid=<vm_uuid> param-name=platform param-key=acpi_laptop_slate
     <!--NeedCopy-->
    
  • allowed-operations (只读设置参数) 此状态下允许的操作列表
  • current-operations (只读设置参数) 当前在 VM 上进行的操作列表
  • allowed-VBD-devices (只读设置参数) 可供使用的 VBD 标识符列表,由 0-254 范围内的整数表示。此列表仅供参考,其他设备也可以使用(但可能无法正常工作)。
  • allowed-VIF-devices (只读设置参数) 可供使用的 VIF 标识符列表,由 0-6 范围内的整数表示。此列表仅供参考,其他设备也可以使用(但可能无法正常工作)。
  • HVM-boot-policy (读/写) 来宾的引导策略。可以是 BIOS 顺序或空字符串。
  • HVM-boot-params (读/写映射参数) order 键控制来宾引导顺序,表示为一个字符串,其中每个字符都是一种引导方法: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 所在的 XenServer 主机
  • affinity (读/写) VM 优先运行的 XenServer 主机。由 xe vm-start 命令用于决定 VM 的运行位置。也称为主服务器。
  • groups (读/写) 此 VM 所属的 VM 组。VM 组定义了 XenServer 尝试启动 VM 或将其迁移到的位置。
  • other-config (读/写映射参数) 指定 VM 额外配置参数的键值对列表。

    例如,键值对 other-config auto_poweron: true 请求在池中的任何主机启动后自动启动 VM。您还必须在池的 other-config 中设置此参数。这些参数现已弃用。请改用 ha-restart-priority 参数。

  • 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(只读)分配给 Linux 虚拟机的虚拟 CPU 数量。此数量可能与 VCPUS-max 不同,并且可以使用 vm-vcpu-hotplug 命令在不重新启动虚拟机的情况下进行更改。有关详细信息,请参阅 vm-vcpu-hotplug。Windows 虚拟机始终以 VCPUsmax 设置的 vCPU 数量运行,并且必须重新启动才能更改此值。当您将 VCPUs-number 设置为大于 XenServer 主机上的物理 CPU 数量的值时,性能会急剧下降。
  • VCPUs-Utilization(只读映射参数)虚拟 CPU 及其权重的列表
  • os-version(只读映射参数)虚拟机的操作系统版本
  • PV-drivers-version(只读映射参数)虚拟机的半虚拟化驱动程序版本
  • PV-drivers-detected(只读)虚拟机半虚拟化驱动程序的最新版本标志
  • memory(只读映射参数)虚拟机上代理报告的内存指标
  • disks(只读映射参数)虚拟机上代理报告的磁盘指标
  • networks(只读映射参数)虚拟机上代理报告的网络指标
  • other(只读映射参数)虚拟机上代理报告的其他指标
  • guest-metrics-lastupdated(只读)客户机代理上次写入这些字段的时间戳。时间戳格式为 yyyymmddThh:mm:ss z,其中 z 是单字母军事时区指示符,例如,Z 代表 UTC (GMT)。
  • actions-after-shutdown(读/写)虚拟机关闭后要执行的操作
  • actions-after-reboot(读/写)虚拟机重新启动后要执行的操作
  • possible-hosts 此虚拟机的潜在主机(只读)
  • dom-id(只读)域 ID(如果可用,否则为 -1)
  • recommendations(只读)此虚拟机属性的推荐值和范围的 XML 规范
  • xenstore-data (读/写映射参数) 在 VM 创建后要插入到 xenstore 树 (/local/domain/*domid*/vm-data) 中的数据
  • is-a-snapshot (只读) 如果此 VM 是快照,则值为 true
  • snapshot_of (只读) 此快照所属 VM 的 UUID
  • snapshots (只读) 此 VM 的所有快照的 UUID
  • snapshot_time (只读) 创建此 VM 快照的快照操作的时间戳
  • memory-target (只读) 为此 VM 设置的目标内存量
  • blocked-operations (读/写映射参数) 列出无法在此 VM 上执行的操作
  • last-boot-record (只读) 此模板的上次启动参数记录,采用 XML 格式
  • ha-always-run (读/写) 如果此 VM 所在的宿主机发生故障,则此 VM 始终在另一台宿主机上重新启动,则值为 true。此参数现已弃用。请改用 ha-restart-priority 参数。
  • ha-restart-priority (读/写) 重新启动或尽力而为
  • blobs (只读) 二进制数据存储
  • live (只读) 如果 VM 正在运行,则值为 true。如果 HA 怀疑 VM 未运行,则值为 false。

vm-assert-can-be-recovered

xe vm-assert-can-be-recovered uuid [database] vdi-uuid
<!--NeedCopy-->

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

vm-call-plugin

xe vm-call-plugin vm-uuid=vm_uuid plugin=plugin fn=function [args:key=value]
<!--NeedCopy-->

在给定虚拟机上调用插件中的函数,带可选参数 (args:key=value)。要传递包含特殊字符(例如换行符)的“value”字符串,可以使用替代语法 args:key:file=local_file,其中 local_file 的内容将被检索并整体分配给“key”。

vm-cd-add

xe vm-cd-add cd-name=name_of_new_cd device=integer_value_of_an_available_vbd [vm-selector=vm_selector_value...]
<!--NeedCopy-->

向选定的虚拟机添加新的虚拟 CD。从 0-3 中选择 device 参数。

执行此操作的虚拟机使用标准选择机制进行选择。有关更多信息,请参阅虚拟机选择器。可选参数可以是本节开头列出的任意数量的虚拟机参数

vm-cd-eject

xe vm-cd-eject [vm-selector=vm_selector_value...]
<!--NeedCopy-->

从虚拟 CD 驱动器中弹出 CD。此命令仅在虚拟机连接了正好一个 CD 时有效。当有两个或更多 CD 时,请使用命令 xe vbd-eject 并指定 VBD 的 UUID。

执行此操作的虚拟机使用标准选择机制进行选择。有关更多信息,请参阅虚拟机选择器。可选参数可以是本节开头列出的任意数量的虚拟机参数

vm-cd-insert

xe vm-cd-insert cd-name=name_of_cd [vm-selector=vm_selector_value...]
<!--NeedCopy-->

将 CD 插入虚拟 CD 驱动器。此命令仅在虚拟机连接了正好一个空 CD 设备时有效。当有两个或更多空 CD 设备时,请使用 xe vbd-insert 命令并指定要插入的 VBD 和 VDI 的 UUID。

执行此操作的虚拟机使用标准选择机制进行选择。有关更多信息,请参阅虚拟机选择器。可选参数可以是本节开头列出的任意数量的虚拟机参数

vm-cd-list

xe vm-cd-list [vbd-params] [vdi-params] [vm-selector=vm_selector_value...]
<!--NeedCopy-->

列出连接到指定虚拟机的 CD。

执行此操作的虚拟机使用标准选择机制进行选择。有关更多信息,请参阅虚拟机选择器。可选参数可以是本节开头列出的任意数量的虚拟机参数

您还可以选择要列出的 VBD 和 VDI 参数。

vm-cd-remove

xe vm-cd-remove cd-name=name_of_cd [vm-selector=vm_selector_value...]
<!--NeedCopy-->

从指定的虚拟机中移除虚拟 CD。

执行此操作的虚拟机是使用标准选择机制选择的。有关更多信息,请参阅虚拟机选择器。可选参数可以是本节开头列出的任意数量的虚拟机参数

vm-checkpoint

xe vm-checkpoint new-name-label=name_label [new-name-description=description]
<!--NeedCopy-->

检查点现有虚拟机,如果可用,使用存储级快速磁盘快照操作。

vm-clone

xe vm-clone new-name-label=name_for_clone [new-name-description=description_for_clone] [vm-selector=vm_selector_value...]
<!--NeedCopy-->

克隆现有虚拟机,如果可用,使用存储级快速磁盘克隆操作。使用 new-name-labelnew-name-description 参数指定生成的克隆虚拟机的名称和可选描述。

执行此操作的虚拟机是使用标准选择机制选择的。有关更多信息,请参阅虚拟机选择器。可选参数可以是本节开头列出的任意数量的虚拟机参数

vm-compute-maximum-memory

xe 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...]
<!--NeedCopy-->

计算可分配给现有虚拟机的最大静态内存量,以物理 RAM 总量作为上限。可选参数 approximate 在计算中保留了足够的额外内存,以考虑稍后向虚拟机添加额外的 vCPU。

例如:

xe vm-compute-maximum-memory vm=testvm total=`xe host-list params=memory-free --minimal`
<!--NeedCopy-->

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

执行此操作的虚拟机是使用标准选择机制选择的。有关更多信息,请参阅虚拟机选择器。可选参数可以是本节开头列出的任意数量的虚拟机参数

vm-compute-memory-overhead

xe vm-compute-memory-overhead
<!--NeedCopy-->

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

vm-copy

xe vm-copy new-name-label=name_for_copy [new-name-description=description_for_copy] [sr-uuid=uuid_of_sr] [vm-selector=vm_selector_value...]
<!--NeedCopy-->

复制现有虚拟机,但不使用存储级别的快速磁盘克隆操作(即使此选项可用)。复制的虚拟机的磁盘映像保证是完整映像,即不属于写时复制 (CoW) 链。

使用 new-name-labelnew-name-description 参数指定复制后虚拟机的名称和可选描述。

使用 sr-uuid 指定复制后虚拟机的目标 SR。如果未指定此参数,则目标 SR 与原始虚拟机所在的 SR 相同。

执行此操作的虚拟机是使用标准选择机制选择的。有关详细信息,请参阅 VM 选择器。可选参数可以是本节开头列出的任意数量的 VM 参数

vm-copy-bios-strings

xe vm-copy-bios-strings host-uuid=host_uuid
<!--NeedCopy-->

将给定主机的 BIOS 字符串复制到虚拟机。

注意:

首次启动虚拟机后,无法更改其 BIOS 字符串。请确保在首次启动虚拟机之前 BIOS 字符串正确无误。

vm-crashdump-list

xe vm-crashdump-list [vm-selector=vm selector value...]
<!--NeedCopy-->

列出与指定虚拟机关联的崩溃转储。

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

执行此操作的虚拟机是使用标准选择机制选择的。有关详细信息,请参阅 VM 选择器。可选参数可以是本节开头列出的任意数量的 VM 参数

vm-data-source-list

xe vm-data-source-list [vm-selector=vm selector value...]
<!--NeedCopy-->

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

使用标准选择机制选择要执行此操作的虚拟机。有关详细信息,请参阅 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

xe vm-data-source-record data-source=name_description_of_data-source [vm-selector=vm selector value...]
<!--NeedCopy-->

记录指定虚拟机的数据源。

此操作将数据源中的信息写入指定虚拟机的持久性性能指标数据库。出于性能原因,此数据库与常规代理数据库不同。

使用标准选择机制选择要执行此操作的虚拟机。有关更多信息,请参阅 虚拟机选择器。可选参数可以是本节开头列出的任意数量的 虚拟机参数。如果未提供选择主机的参数,则对所有虚拟机执行此操作。

vm-data-source-forget

xe vm-data-source-forget data-source=name_description_of_data-source [vm-selector=vm selector value...]
<!--NeedCopy-->

停止记录指定虚拟机的数据源并删除所有已记录的数据。

使用标准选择机制选择要执行此操作的虚拟机。有关更多信息,请参阅 虚拟机选择器。可选参数可以是本节开头列出的任意数量的 虚拟机参数。如果未提供选择主机的参数,则对所有虚拟机执行此操作。

vm-data-source-query

xe vm-data-source-query data-source=name_description_of_data-source [vm-selector=vm_selector_value...]
<!--NeedCopy-->

显示指定虚拟机的数据源。

使用标准选择机制选择要执行此操作的虚拟机。有关更多信息,请参阅 虚拟机选择器。可选参数可以是本节开头列出的任意数量的 虚拟机参数。如果未提供选择主机的参数,则对所有虚拟机执行此操作。

vm-destroy

xe vm-destroy uuid=uuid_of_vm
<!--NeedCopy-->

销毁指定的虚拟机。此操作会保留与虚拟机关联的存储。要同时删除存储,请使用 xe vm-uninstall

vm-disk-add

xe vm-disk-add disk-size=size_of_disk_to_add device=uuid_of_device [vm-selector=vm_selector_value...]
<!--NeedCopy-->

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

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

执行此操作的虚拟机是使用标准选择机制选择的。有关详细信息,请参阅虚拟机选择器。可选参数可以是本节开头列出的任意数量的虚拟机参数

vm-disk-list

xe vm-disk-list [vbd-params] [vdi-params] [vm-selector=vm_selector_value...]
<!--NeedCopy-->

列出附加到指定虚拟机的磁盘。vbd-paramsvdi-params 参数控制要输出的相应对象的字段。将参数作为逗号分隔列表提供,或者使用特殊键 all 获取完整列表。

执行此操作的虚拟机是使用标准选择机制选择的。有关详细信息,请参阅虚拟机选择器。可选参数可以是本节开头列出的任意数量的虚拟机参数

vm-disk-remove

xe vm-disk-remove device=integer_label_of_disk [vm-selector=vm_selector_value...]
<!--NeedCopy-->

从指定的虚拟机中删除磁盘并将其销毁。

执行此操作的虚拟机是使用标准选择机制选择的。有关详细信息,请参阅虚拟机选择器。可选参数可以是本节开头列出的任意数量的虚拟机参数

vm-export

xe vm-export filename=export_filename [metadata=true|false] [vm-selector=vm_selector_value...]
<!--NeedCopy-->

将指定的虚拟机(包括磁盘映像)导出到本地计算机上的文件。使用 filename 参数指定要导出虚拟机的目标文件名。按照惯例,文件名具有 .xva 扩展名。

如果 metadata 参数为 true,则不导出磁盘。只有虚拟机元数据写入输出文件。当底层存储通过其他机制传输并允许重新创建虚拟机信息时,请使用此参数。有关详细信息,请参阅vm-import

执行此操作的虚拟机是使用标准选择机制选择的。有关详细信息,请参阅虚拟机选择器。可选参数可以是本节开头列出的任意数量的虚拟机参数

vm-import

xe vm-import filename=export_filename [metadata=true|false] [preserve=true|false][sr-uuid=destination_sr_uuid]
<!--NeedCopy-->

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

如果 metadatatrue,您可以导入以前导出的元数据集,而无需其关联的磁盘块。如果找不到任何 VDI(由 SR 和 VDI.location 命名),则仅元数据导入会失败,除非指定了 --force 选项,在这种情况下,导入将继续进行。如果磁盘可以镜像或带外移动,则元数据导入/导出是在不相交池之间移动 VM 的一种快速方法。例如,作为灾难恢复计划的一部分。

注意:

多个 VM 导入按串行执行比并行执行更快。

vm-install

xe 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]
<!--NeedCopy-->

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

注意:

从具有现有磁盘的模板安装时,默认情况下,新磁盘将创建在与这些现有磁盘相同的 SR 中。如果 SR 支持,这些磁盘是快速复制。如果在命令行上指定了不同的 SR,则新磁盘将创建在那里。在这种情况下,无法进行快速复制,并且磁盘是完整复制。

从没有现有磁盘的模板安装时,任何新磁盘都将在指定的 SR 中创建,或者在未指定 SR 时在池默认 SR 中创建。

vm-is-bios-customized

xe vm-is-bios-customized
<!--NeedCopy-->

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

vm-memory-dynamic-range-set

xe vm-memory-dynamic-range-set min=min max=max
<!--NeedCopy-->

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

vm-memory-limits-set

xe vm-memory-limits-set static-min=static_min static-max=static_max dynamic-min=dynamic_min dynamic-max=dynamic_max
<!--NeedCopy-->

配置 VM 的内存限制。

vm-memory-set

xe vm-memory-set memory=memory
<!--NeedCopy-->

配置 VM 的内存分配。

vm-memory-shadow-multiplier-set

xe vm-memory-shadow-multiplier-set [vm-selector=vm_selector_value...] [multiplier=float_memory_multiplier]
<!--NeedCopy-->

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

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

在某些专门的应用程序工作负载(例如 Citrix Virtual Apps™)中,需要额外的影子内存才能实现最佳性能。

此内存被视为开销。它与用于向 VM 分配内存的正常内存计算分开。调用此命令时,可用主机内存量会根据乘数减少,并且 HVM_shadow_multiplier 字段会更新为 Xen 分配给 VM 的值。如果没有足够的 XenServer 主机可用内存,则会返回错误。

用于执行此操作的 VM 是使用标准选择机制选择的。有关更多信息,请参阅VM 选择器

vm-memory-static-range-set

xe vm-memory-static-range-set min=min max=max
<!--NeedCopy-->

配置 VM 的静态内存范围。静态内存范围定义了 VM 内存的硬性下限和上限。只有当 VM 停止时才能更改这些字段。静态范围必须包含动态范围。

vm-memory-target-set

xe vm-memory-target-set target=target
<!--NeedCopy-->

为已停止或正在运行的 VM 设置内存目标。给定值必须在 VM 的 memory_static_min 和 memory_static_max 值定义的范围内。

vm-migrate

xe vm-migrate [compress=true|false] [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:source_vif_uuid=destination_network_uuid] [vdi:vdi_uuid=destination_sr_uuid]
<!--NeedCopy-->

此命令在物理主机之间迁移指定的 VM。

compress 参数会覆盖 xe pool-param-setmigration-compression 池参数。

vm-migrate 命令中的 host 参数可以是 XenServer 主机的名称或 UUID。例如,要将 VM 迁移到池中的另一个主机(其中 VM 磁盘位于两个主机共享的存储上):

xe vm-migrate uuid=vm_uuid host-uuid=destination_host_uuid
<!--NeedCopy-->

在同一池中不共享存储的主机之间移动虚拟机(存储实时迁移):

xe vm-migrate uuid=vm_uuid host-uuid=destination_host_uuid \
    remote-master=192.0.2.35 remote-username=username remote-password=password
<!--NeedCopy-->

对于存储实时迁移,即使在同一池中进行迁移,也必须提供池协调器的主机名或 IP 地址、用户名和密码。

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

xe vm-migrate uuid=vm_uuid remote-master=192.0.2.35 remote-username=username remote-password=password host-uuid=destination_host_uuid \
    vdi:vdi_1=destination_sr1_uuid \
    vdi:vdi_2=destination_sr2_uuid \
    vdi:vdi_3=destination_sr3_uuid
<!--NeedCopy-->

此外,您可以选择迁移后将虚拟机连接到哪个网络:

xe vm-migrate uuid=vm_uuid \
    vdi1:vdi_1_uuid=destination_sr1_uuid \
    vdi2:vdi_2_uuid=destination_sr2_uuid \
    vdi3:vdi_3_uuid=destination_sr3_uuid \
    vif:source_vif_uuid=destination_network_uuid
<!--NeedCopy-->

对于跨池迁移:

xe vm-migrate uuid=vm_uuid remote-master=192.0.2.35 \
    remote-username=username remote-password=password \
    host-uuid=destination_host_uuid  \
    vif:source_vif_uuid=destination_network_uuid \
    vdi:vdi_uuid=destination_sr_uuid
<!--NeedCopy-->

有关存储实时迁移、实时迁移和实时 VDI 迁移的更多信息,请参阅迁移虚拟机

注意:

如果您正在从旧版本的 XenServer 升级,则可能需要在迁移虚拟机后关闭并启动所有虚拟机,以确保启用新的虚拟化功能。

默认情况下,虚拟机在另一个主机上暂停、迁移并恢复。live 参数选择实时迁移。实时迁移在执行迁移时保持虚拟机运行,从而最大限度地减少虚拟机停机时间。在某些情况下,例如虚拟机中内存密集型工作负载极高时,实时迁移会回退到默认模式,并在完成内存传输之前短暂停留虚拟机。

执行此操作的虚拟机是使用标准选择机制选择的。有关更多信息,请参阅虚拟机选择器。可选参数可以是本节开头列出的任意数量的虚拟机参数

vm-pause

xe vm-pause
<!--NeedCopy-->

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

vm-reboot

xe vm-reboot [vm-selector=vm_selector_value...] [force=true]
<!--NeedCopy-->

重新启动指定的虚拟机。

执行此操作的虚拟机是使用标准选择机制选择的。有关更多信息,请参阅虚拟机选择器。可选参数可以是本节开头列出的任意数量的虚拟机参数

使用 force 参数以导致非正常重启。这种关机类似于拔掉物理服务器的电源插头。

vm-recover

xe vm-recover vm-uuid [database] [vdi-uuid] [force]
<!--NeedCopy-->

从所提供的 VDI 中包含的数据库中恢复虚拟机。

vm-reset-powerstate

xe vm-reset-powerstate [vm-selector=vm_selector_value...] {force=true}
<!--NeedCopy-->

执行此操作的虚拟机是使用标准选择机制选择的。有关详细信息,请参阅 VM 选择器。可选参数可以是本节开头列出的任意数量的 VM 参数

这是一条高级命令,仅在池中的成员主机发生故障时使用。您可以使用此命令强制池协调器将虚拟机的电源状态重置为 halted。本质上,此命令强制锁定虚拟机及其磁盘,以便它可以在另一个池主机上启动。此调用要求指定强制标志,如果未在命令行中指定,则会失败。

vm-restart-device-models

xe vm-restart-device-models [vm-selector=vm_selector_value...]
<!--NeedCopy-->

在主机上重新启动此虚拟机的设备模型。在设备模型重新启动期间,您无法停止、启动或迁移虚拟机。虚拟机的最终用户可能会看到其会话出现短暂的暂停和恢复。

注意:

要在 Windows 虚拟机上支持重新启动设备模型操作,虚拟机必须安装 XenServer VM Tools for Windows。

vm-resume

xe vm-resume [vm-selector=vm_selector_value...] [force=true|false] [on=host_uuid]
<!--NeedCopy-->

恢复指定的虚拟机。

执行此操作的虚拟机是使用标准选择机制选择的。有关详细信息,请参阅 VM 选择器。可选参数可以是本节开头列出的任意数量的 VM 参数

如果虚拟机位于主机池中的共享 SR 上,请使用 on 参数指定要在哪个池成员上启动它。默认情况下,系统会确定一个合适的主机,该主机可以是池中的任何成员。

vm-retrieve-wlb-recommendations

xe vm-retrieve-wlb-recommendations
<!--NeedCopy-->

获取所选 VM 的工作负载平衡建议。

vm-shutdown

xe vm-shutdown [vm-selector=vm_selector_value...] [force=true|false]
<!--NeedCopy-->

关闭指定的 VM。

执行此操作的 VM 是使用标准选择机制选择的。有关详细信息,请参阅 VM 选择器。可选参数可以是本节开头列出的任意数量的 VM 参数

使用 force 参数执行非正常关机,类似于拔掉物理服务器的电源插头。

vm-snapshot

xe vm-snapshot new-name-label=name_label [new-name-description+name_description]
<!--NeedCopy-->

对现有 VM 创建快照,在可用时使用存储级快速磁盘快照操作。

vm-start

xe vm-start [vm-selector=vm_selector_value...] [force=true|false] [on=host_uuid] [--multiple]
<!--NeedCopy-->

启动指定的 VM。

执行此操作的 VM 是使用标准选择机制选择的。有关详细信息,请参阅 VM 选择器。可选参数可以是本节开头列出的任意数量的 VM 参数

如果 VM 位于主机池中的共享 SR 上,请使用 on 参数指定要在哪个池成员上启动 VM。默认情况下,系统会确定一个合适的主机,该主机可以是池中的任何成员。

vm-suspend

xe vm-suspend [vm-selector=vm_selector_value...]
<!--NeedCopy-->

挂起指定的 VM。

执行此操作的 VM 是使用标准选择机制选择的。有关详细信息,请参阅 VM 选择器。可选参数可以是本节开头列出的任意数量的 VM 参数

vm-uninstall

xe vm-uninstall [vm-selector=vm_selector_value...] [force=true|false]
<!--NeedCopy-->

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

执行此操作的 VM 使用标准选择机制进行选择。有关详细信息,请参阅 VM 选择器。可选参数可以是本节开头列出的任意数量的 VM 参数

vm-unpause

xe vm-unpause
<!--NeedCopy-->

取消暂停已暂停的 VM。

vm-vcpu-hotplug

xe vm-vcpu-hotplug new-vcpus=new_total_vcpu_count [vm-selector=vm_selector_value...]
<!--NeedCopy-->

动态调整正在运行的 Linux VM 可用的 vCPU 数量。vCPU 数量受参数 VCPUs-max 限制。Windows VM 始终以 VCPUs-max 设置的 vCPU 数量运行,并且必须重新启动才能更改此值。

使用 new-vcpus 参数定义运行此命令后您希望拥有的新 vCPU 数量。请勿使用此参数传递您要添加的 vCPU 数量。例如,如果您的 VM 中有两个现有 vCPU,并且想要再添加两个 vCPU,请指定 new-vcpus=4

执行此操作的 Linux VM 或 Windows VM 使用标准选择机制进行选择。有关详细信息,请参阅 VM 选择器。可选参数可以是本节开头列出的任意数量的 VM 参数

注意:

在未安装 XenServer 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

xe vm-vif-list [vm-selector=vm_selector_value...]
<!--NeedCopy-->

列出指定 VM 的 VIF。

执行此操作的 VM 使用标准选择机制进行选择。有关详细信息,请参阅 VM 选择器。选择器在筛选时对 VM 记录进行操作,而 不是 对 VIF 值进行操作。可选参数可以是本节开头列出的任意数量的 VM 参数

计划快照

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

vmss 对象可以使用标准对象列表命令 (xe vmss-list) 列出,并且可以使用标准参数命令操作其参数。有关更多信息,请参阅 低级参数命令

vmss-create

xe vmss-create enabled=true/false name-label=name type=type frequency=frequency retained-snapshots=value name-description=description schedule:schedule
<!--NeedCopy-->

在池中创建快照计划。

例如:

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

快照计划具有以下参数:

参数名称 描述 类型
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

xe vmss-destroy uuid=uuid
<!--NeedCopy-->

销毁池中的快照计划。

USB 直通

USB 直通支持以下 USB 版本:1.1、2.0 和 3.0。

USB 直通启用/禁用

xe pusb-param-set uuid=pusb_uuid passthrough-enabled=true/false
<!--NeedCopy-->

启用/禁用 USB 直通。

pusb-scan

xe pusb-scan host-uuid=host_uuid
<!--NeedCopy-->

扫描 PUSB 并更新。

vusb-create

xe vusb-create usb-group-uuid=usb_group_uuid vm-uuid=vm_uuid
<!--NeedCopy-->

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

vusb-unplug

xe vusb-unplug uuid=vusb_uuid
<!--NeedCopy-->

从 VM 拔出 USB。

vusb-destroy

xe vusb-destroy uuid=vusb_uuid
<!--NeedCopy-->

从 VM 中移除虚拟 USB 列表。

VM 组命令

用于控制 VM 组及其属性的命令。

VM 组参数

  • uuid(只读)VM 的唯一标识符/对象引用
  • name-label(读/写)VM 的名称
  • name-description (读/写) VM 的描述字符串
  • placement (只读) 应用于组中 VM 的放置规则类型。可用值为 anti-affinitynormal

列出虚拟机组

xe vm-group-list
<!--NeedCopy-->

列出此池中的所有 VM 组。

创建虚拟机组

xe vm-group-create placement=anti-affinity|normal name-label=<name-label> [name-description=<name-description>]
<!--NeedCopy-->

创建 VM 组。

销毁虚拟机组

xe vm-group-destroy uuid=<vm-group-uuid>
<!--NeedCopy-->

删除此 VM 组。如果删除包含 VM 的 VM 组,VM 将不再与组关联,但不会受到其他影响。