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 命令将尝试从指定文件中读取密码,并使用该密码进行连接。(文件末尾的任何尾随 CR 和 LF 都已被去除。) 此方法比直接在命令行中指定密码更安全。

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

注意:

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

命令类型

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

低级命令包括:

  • class-list

  • class-param-get

  • class-param-set

  • class-param-list

  • class-param-add

  • class-param-remove

  • class-param-clear

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

  • bond

  • console

  • host

  • host-crashdump

  • host-cpu

  • network

  • patch

  • pbd

  • pif

  • pool

  • sm

  • sr

  • task

  • template

  • vbd

  • vdi

  • vif

  • vlan

  • vm

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

参数类型

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

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

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

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

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

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

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

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

xe vm-param-set uuid=VM uuid other-config:foo=baa
<!--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

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

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

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

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

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

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

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

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

    完全清除 set 或 map。

低级列表命令

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-->

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

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

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

    a85d6717-7264-d00e-069b-3b1d19d56ad9,aaa3eec5-9499-bcf3-4c03-af10baea96b7, \
    42c044de-df69-4b30-89d9-2c199564581d
<!--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)的命令。有关详细信息,请参阅 vApp

设备参数

设备命令具有下列参数:

参数名称 说明 类型
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 将池的审核日志写入 file name 必需
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 是组合成高级绑定接口的两个或更多个物理接口的集合。

绑定参数

绑定具有下列参数:

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

cd-list

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

列出 XenServer 主机或池上的 CD 和 ISO(CD 映像文件),按可选参数 params 过滤。

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

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

群集命令

使用群集化池的命令。

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

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

群集参数

群集具有以下参数:

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

cluster-host-destroy

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

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

cluster-host-disable

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

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

cluster-host-enable

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

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

cluster-host-force-destroy

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

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

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-->

创建池级别的群集。

cluster-pool-destroy

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

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

cluster-pool-force-destroy

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

强制销毁池级别的群集。

cluster-pool-resync

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

在池之间重新同步群集。

控制台命令

用于控制台的命令。

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

控制台参数

控制台具有下列参数:

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

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-->

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

灾难恢复命令

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

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-->

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

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 中包含的数据库恢复 VM。

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 中查询存在的 VM:

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

恢复 VM:

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

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

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

事件命令

用于事件的命令。

事件类

下表列出了事件类:

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

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 以外的任何值”。

示例:等待特定 VM 运行。

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

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

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

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

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

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

GPU 命令

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

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

物理 GPU 参数

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

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

pgpu-disable-dom0-access

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

禁用对 dom0 的 pGPU 访问。

pgpu-enable-dom0-access

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

启用对 dom0 的 pGPU 访问。

GPU 组参数

GPU 组具有下列参数:

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

GPU 组操作

用于 GPU 组的命令

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

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

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

虚拟 GPU 类型参数

注意:

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

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

参数名称 说明 类型
uuid 虚拟 GPU 类型的唯一标识符/对象引用 只读
vendor-name 虚拟 GPU 供应商的名称 只读
model-name 与虚拟 GPU 类型相关联的模型名称 只读
freeze-frame 虚拟 GPU 类型的帧缓冲区大小(以字节为单位) 只读
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。此命令将 VM 连接到指定的 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 禁用 VM 的 VNC 控制台,因为它可以将 disablevnc=1 传递到显示模拟器。默认情况下,启用 VNC。

主机命令

与 XenServer 主机交互的命令。

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

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

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

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

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=xenserver_edition="free" "per-socket" "xendesktop"]
<!--NeedCopy-->

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

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

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 主机,防止在这些主机上启动任何新 VM。此操作可以为关闭或重新启动 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-->

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

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 主机,以允许在这些主机上启动新 VM。

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

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-->

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

如果撤离的主机是池协调器,则必须选择另一个主机作为池协调器。要在高可用性功能禁用时更改池协调器,请使用 pool-designate-new-master 命令。有关详细信息,请参阅 pool-designate-new-master

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

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

host-forget

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

XAPI 代理将忽略指定的 XenServer 主机,不与其进行显式连接。

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

警告:

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

如果要“忘记”的 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-->

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

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-->

还原 XenServer 主机控制软件的备份(名称为 file-name)。此处使用的“还原”不是通常意义上的完整还原,它仅仅指压缩的备份文件已经解压缩并且解压缩到辅助分区。执行 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-mode)。然后使用 power-on-confi 参数及其关联的键-值对指定配置选项。

要使用机密功能存储密码,请指定键 "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 主机重新启动时恢复。其他成员和池协调器继续运行。

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

  • 您让其中一个成员成为池协调器
  • 原来的池协调器已重新启动并重新联机。

    池协调器重新联机后,成员将重新连接并与池协调器同步。

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

network-create

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 的命令。

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

SR-IOV 参数

SR-IOV 具有以下参数:

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

network-sriov-create

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 网络向 VM 分配 VF。

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)。

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

PBD 参数

PBD 具有下列参数:

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

pbd-create

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 类型上受支持的 device-config 键/值对的完整列表,请参阅存储

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(代表物理网络接口的对象)的命令。

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

PIF 参数

PIF 具有下列参数:

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

注意:

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

pif-forget

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 并将静态参数保持为未定义状态。

注意:

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

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 主机的聚合。一个池使用一个或多个共享存储库,以便在池中的一个主机上运行的 VM 可以准实时地迁移到该池中的另一台主机。此迁移在 VM 仍在运行时发生,无需关闭后再重新打开它。

默认情况下,每台 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 为池指定额外配置参数的键/值对列表 读取/写入 map 参数
other-config:default_ha_timeout 高可用性超时,以秒为单位。 读取/写入
supported-sr-types 此池可以使用的 SR 类型 只读
ha-enabled 如果池启用了高可用性功能,则为 true,否则为 false 只读
ha-configuration 保留以供将来使用。 只读
ha-statefiles 列出高可用性功能使用的 VDI 的 UUID 以确定存储运行状况 只读
ha-host-failures-to-tolerate 允许的主机故障数,超过此数量即发送系统警报 读取/写入
ha-plan-exists-for 根据高可用性功能算法的计算,可实际处理的主机故障数 只读
ha-allow-overcommit 如果允许过度使用池,则为 True,否则为 False 读取/写入
ha-overcommitted 如果池被过度使用,则为 True 只读
blobs 二进制数据存储 只读
live-patching-disabled 设置为 False 可启用实时修补。设置为 True 可禁用实时修补。 读取/写入
igmp-snooping-enabled 设置为 True 可启用 IGMP 监听。设置为 False 可禁用 IGMP 监听。 读取/写入
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=edition [uuid=uuid] [license-server-address=address] [license-server-port=port]
<!--NeedCopy-->

在池中应用某个版本。

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-->

永久删除 Workload Balancing 的配置。

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-->

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

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 上启用该日志,除非启用了高可用性功能。

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-->

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

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-->

为具有目标 Workload Balancing 服务器的当前池初始化工作负载平衡功能。

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 并将其映射到用于确定重新绑定到自身的 IP 地址的 XenServer 主机。运行此命令时一定不能处于紧急模式。

警告:

在除主机外的计算机上使用此 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 选项,借助此选项,您可以确定是否可在无需实际执行操作的情况下还原池数据库。默认情况下,dry-run 设置为 false。

pool-retrieve-wlb-configuration

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

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

pool-retrieve-wlb-diagnostics

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

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

pool-retrieve-wlb-recommendations

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

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

pool-retrieve-wlb-report

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

从 Workload Balancing 服务器检索报告。

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-->

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

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 驱动程序的文件名。 只读

快照命令

用于使用快照的命令。

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-->

通过复制现有 VM,但不使用存储级别的快速磁盘克隆操作(即使该操作可用),来创建新模板。保证 VM 副本的磁盘映像为“完整映像”,即该磁盘映像不是 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-->

列出所选 VM 上的磁盘。

snapshot-export-to-template

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

将快照导出到 file name

snapshot-reset-powerstate

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

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

snapshot-revert

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

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

snapshot-uninstall

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

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

SR 命令

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

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

SR 参数

SR 包含下列参数:

参数名称 说明 类型
uuid SR 的唯一标识符/对象引用 只读
name-label SR 的名称 读取/写入
name-description SR 的描述字符串 读取/写入
host 存储库主机名称 只读
allowed-operations 在此状态下的 SR 上允许执行的操作的列表 只读 set 参数
current-operations 当前此 SR 上正在进行的操作的列表 只读 set 参数
VDIs 此 SR 中虚拟磁盘的唯一标识符/对象引用 只读 set 参数
PBDs 连接到此 SR 的 PBD 的唯一标识符/对象引用 只读 set 参数
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 如果这是包含 Tools ISO VDI 的 SR,则为 True。否则为 False。 只读
other-config 为 SR 指定额外配置参数的键/值对列表 读取/写入 map 参数
sm-config SM 依赖数据 只读 map 参数
blobs 二进制数据存储 只读
local-cache-enabled 如果将此 SR 指定为其主机的本地缓存,则为 True。否则为 False。 只读
tags 用户为分类目的而指定的标记 读取/写入 set 参数
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,将其引入到数据库中,然后创建一个将该 SR 连接到 XenServer 主机的 PBD。如果 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 在源介质中保持原样(数据未丢失)。

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 重新配置为共享这种情况可能很有用,或者有助于在出现各种故障情形后恢复 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 等指定 device-config 参数。与 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 如果任务已成功完成,此字段将包含结果值(为空或对象引用);否则,此参数的值处于未定义状态 只读
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 的 VM。模板是一种“黄金映像”,包含用于实例化特定 VM 的所有配置设置。XenServer 随附一套基础模板,它们是通用的“原始”VM,能够引导操作系统供应商提供的安装 CD(例如:RHEL、CentOS、SLES、Windows)。可以创建 VM,按照您的特定需要以标准形式对其进行配置,将其副本另存为模板以供将来在 VM 部署中使用。

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

注意:

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

VM 模板参数

模板包含下列参数:

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

    可以使用以下方法将 VM 转换为模板:

     xe vm-param-set uuid=<vm uuid> is-a-template=true
     <!--NeedCopy-->
    
  • is-control-domain(只读)如果是控制域(“域 0”或“驱动程序域”),则为 true
  • power-state(只读)当前电源状态。模板的值始终停止
  • memory-dynamic-max(只读)最大动态内存(以字节为单位)。 当前未使用,但如果更改则必须遵守以下限制:memory_static_max >= memory_dynamic_max >= memory_dynamic_min >= memory_static_min
  • memory-dynamic-min(读取/写入)最小动态内存(以字节为单位)。 当前未使用,但如果更改,则必须遵守与针对 memory-dynamic-max 的限制相同的限制。
  • memory-static-max(读取/写入)静态设置(绝对)最大内存(以字节为单位)。此字段是用于确定分配给 VM 的内存量的主要值。
  • memory-static-min(读取/写入)静态设置(绝对)最小内存(以字节为单位)。 此字段代表绝对最小内存,并且 memory-static-min 必须小于 memory-static-max。 此值未用于正常操作,但是必须遵守前面提到的限制。
  • suspend-VDI-uuid(只读)存储挂起映像的 VDI(对于模板没有意义)
  • VCPUs-params(读取/写入 map 参数)所选 vCPU 策略的配置参数。

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

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

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

    此外,还可以使用 cap 和 weight 参数调整 vCPU 优先级(xen 计划)。例如:

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

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

    cap 参数可以根据需要确定基于此模板的 VM 可能占用的最大 CPU 量,即使 XenServer 主机具有空闲 CPU 周期也是如此。此上限以一个物理 CPU 的百分比表示:100 是 1 个物理 CPU,50 是半个物理 CPU,400 是 4 个物理 CPU,以此类推。默认值为 0,表示无上限。

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

    要禁用来宾的并行端口模拟,请执行以下操作:

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

template-export

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 Toolstack 或主机是否需要重新启动 只读
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(代表虚拟磁盘的内容)。VBD 具有将 VDI 绑定到 VM 的属性(是否可引导、其读取/写入指标等)。VDI 包含与虚拟磁盘的物理属性有关的信息(SR 类型、磁盘是否可共享、介质是可读写介质还是只读介质等)。

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

VBD 参数

VBD 包含下列参数:

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

vbd-create

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-->

在 VM 上创建 VBD。

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

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

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

vbd-destroy

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 处于运行状态时将 VBD 从 VM 分离。

VDI 命令

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

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

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

VDI 参数

VDI 包含下列参数:

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

vdi-clone

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。

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

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(虚拟网络接口)的命令。

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

VIF 参数

VIF 包含下列参数:

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

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

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

    如果将 default-locking-mode 设为 disabled,则 XenServer 会应用过滤规则,使 VIF 无法发送或接收流量。如果将 default-locking-mode 设为 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-->

在 VM 上创建 VIF。

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

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

vif-destroy

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-->

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

vif-unplug

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

当 VM 处于运行状态时尝试将 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-->

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

vlan-destroy

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

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

VM 命令

控制 VM 及其属性的命令。

VM 选择器

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

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

VM 参数

VM 具有下列参数:

注意:

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

  • appliance(读取/写入)VM 所属的设备/vApp
  • uuid(只读)VM 的唯一标识符/对象引用
  • name-label(读取/写入)VM 的名称
  • name-description(读取/写入)VM 的描述字符串
  • order(读取/写入)用于 vApp 启动/关闭以及在进行高可用性故障转移之后启动。顺序值为 0(零)的 VM 将首先启动,然后是顺序值为 1 的 VM,以此类推。
  • version(只读)此 VM 已经恢复的次数。如果要使用较早的版本覆盖新 VM,则调用 vm-recover
  • user-version(读取/写入)用于输入版本信息的 VM 和模板创建者的字符串
  • is-a-template(读取/写入)除非此 VM 为模板,否则为 False。模板 VM 无法启动,它们仅用于克隆其他 VM。将此值重置为 true 后,将无法再重置为 false。无法使用此参数将模板 VM 转换为 VM。

    可以使用以下方法将 VM 转换为模板:

     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(读取/写入 map 参数)所选 vCPU 策略的配置参数。

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

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

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

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

    在竞争的 XenServer 主机上,权重为 512 的 VM 获得的 CPU 将是权重为 256 的域的两倍。合法的权重范围为 1 到 65535,默认值为 256。即使 XenServer 主机具有空闲 CPU 周期,该 cap 参数也可以根据需要确定 VM 能够占用的最大 CPU 量。此上限以一个物理 CPU 的百分比表示:100 是 1 个物理 CPU,50 是半个物理 CPU,400 是 4 个物理 CPU,以此类推。默认值为 0,表示无上限。

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

    要禁止 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(只读 set 参数)在此状态下允许执行的操作的列表
  • current-operations(只读 set 参数)当前正在对 VM 执行的操作的列表
  • allowed-VBD-devices(只读 set 参数)可供使用的 VBD 标识符的列表,用 0 到 15 之间的整数表示。此列表仅供参考,并且可能使用其他设备(但可能无法使用)。
  • allowed-VIF-devices(只读 set 参数)可供使用的 VIF 标识符的列表,用 0 到 15 之间的整数表示。此列表仅供参考,并且可能使用其他设备(但可能无法使用)。
  • HVM-boot-policy(读取/写入)来宾的引导策略。BIOS 顺序或空字符串。
  • HVM-boot-params(读取/写入 map 参数)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
  • other-config(读取/写入 map 参数)为 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 VM 分配给 VM 的虚拟 CPU 数量。此数量可能与 VCPUS-max 不同且使用 vm-vcpu-hotplug 命令就可以对此数量进行更改,而不必重新启动 VM。有关详细信息,请参阅 vm-vcpu-hotplug。Windows VM 始终在 vCPU 数量设置为 VCPUsmax 的情况下运行并且必须重新启动才可以更改此值。如果为 VCPUs-number 设置的值大于 XenServer 主机上的物理 CPU 数量,性能将急剧下降。
  • VCPUs-Utilization(只读 map 参数)虚拟 CPU 及其权重的列表
  • os-version(只读 map 参数)VM 的操作系统版本
  • PV-drivers-version(只读 map 参数)VM 的半虚拟化驱动程序的版本
  • PV-drivers-detected(只读)VM 的半虚拟化驱动程序最新版本的标志
  • memory(只读 map 参数)由 VM 上的代理报告的内存指标
  • disks(只读 map 参数)有 VM 上的代理报告的磁盘指标
  • networks(只读 map 参数)由 VM 上的代理报告的网络指标
  • other(只读 map 参数)由 VM 上的代理报告的其他指标
  • guest-metrics-lastupdated(只读)来宾代理对这些字段执行最后一次写入操作时的时间戳。此时间戳以 yyyymmddThh:mm:ss z 的形式表示,其中 z 是单字母军用时区指示器,例如,Z 代表 UTC (GMT)
  • actions-after-shutdown(读取/写入)将在 VM 关闭后执行的操作
  • actions-after-reboot(读取/写入)将在 VM 重新启动后执行的操作
  • possible-hosts 可能驻留此只读 VM 的主机
  • dom-id(只读)域 ID(如果可用,否则为 -1)
  • recommendations(只读)此 VM 的建议值和属性范围的 XML 规范
  • xenstore-data(读取/写入 map 参数)在创建 VM 后将插入到 xenstore 树 (/local/domain/*domid*/vm-data) 的数据
  • is-a-snapshot(只读)如果此 VM 为快照,则为 True
  • snapshot_of(只读)以此 VM 为快照的 VM 的 UUID
  • snapshots(只读)此 VM 的所有快照的 UUID
  • snapshot_time(只读)创建此 VM 快照的快照操作的时间戳
  • memory-target(只读)为此 VM 设置的目标内存量
  • blocked-operations(读取/写入 map 参数)列出无法对此 VM 执行的操作
  • last-boot-record(只读)此模板的上次引导参数的记录,使用 XML 格式
  • ha-always-run(读取/写入)如果此 VM 在其所在的主机发生故障后始终在其他主机上重新启动,则为 True。此参数现已弃用。请改为使用 ha-restart-priority 参数。
  • ha-restart-priority(读取/写入)重新启动或最大努力
  • blobs(只读)二进制数据存储
  • live(只读)如果 VM 正在运行,则为 True。如果高可用性功能怀疑 VM 没有运行,则为 false。

vm-assert-can-be-recovered

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) 调用指定 VM 上的插件中的功能。要传递其中包含特殊字符(例如,换行)的“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 添加到选定的 VM。从 VM 的 allowed-VBD-devices 参数的值中选择 device 参数。

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

vm-cd-eject

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

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

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

vm-cd-insert

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

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

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

vm-cd-list

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

列出连接到指定 VM 的 CD。

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

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

vm-cd-remove

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

从指定 VM 中移除虚拟 CD。

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

vm-checkpoint

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

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

vm-clone

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

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

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

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 的总量用作上限来计算可以分配给现有 VM 的最大静态内存量。可选参数 approximate 在计算过程中保留足够的额外内存,以便以后将额外的 vCPU 添加到 VM。

例如:

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

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

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

vm-compute-memory-overhead

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

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

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-->

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

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

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

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

vm-copy-bios-strings

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

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

注意:

先启动 VM 后,便无法更改其 BIOS 设置。在首次启动 VM 之前,请确保 BIOS 设置正确无误。

vm-crashdump-list

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

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

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

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

vm-data-source-list

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

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

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

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

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

vm-data-source-record

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

记录 VM 的指定数据源。

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

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

vm-data-source-forget

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

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

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

vm-data-source-query

xe vm-data-source-query data-source=name_description_of_data-source [vm-selector=vm_selector_value...]
<!--NeedCopy-->

显示 VM 的指定数据源。

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

vm-destroy

xe vm-destroy uuid=uuid_of_vm
<!--NeedCopy-->

销毁指定的 VM。这会使与 VM 关联的存储保留不变。要同时删除存储,请使用 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-->

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

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

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

vm-disk-list

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

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

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

vm-disk-remove

xe vm-disk-remove device=integer_label_of_disk [vm-selector=vm_selector_value...]
<!--NeedCopy-->

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

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

vm-export

xe vm-export filename=export_filename [metadata=true|false] [vm-selector=vm_selector_value...]
<!--NeedCopy-->

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

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

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

vm-import

xe vm-import filename=export_filename [metadata=true|false] [preserve=true|false][sr-uuid=destination_sr_uuid]
<!--NeedCopy-->

从之前导出的文件导入 VM。如果将 preserve 设置为 true,则将保留原始 VM 的 MAC 地址。sr-uuid 确定要将 VM 导入的目标 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,则将在池的默认 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 and 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-->

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

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-->

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

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 迁移的详细信息,请参阅迁移 VM

注意:

如果要从较旧版本的 XenServer 或 Citrix Hypervisor 升级,则可能需要在迁移 VM 后关闭并启动所有 VM,以确保选取新的虚拟化功能。

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

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

vm-pause

xe vm-pause
<!--NeedCopy-->

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

vm-reboot

xe vm-reboot [vm-selector=vm_selector_value...] [force=true]
<!--NeedCopy-->

重新启动指定的 VM。

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

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

vm-recover

xe vm-recover vm-uuid [database] [vdi-uuid] [force]
<!--NeedCopy-->

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

vm-reset-powerstate

xe vm-reset-powerstate [vm-selector=vm_selector_value...] {force=true}
<!--NeedCopy-->

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

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

vm-restart-device-models

xe vm-restart-device-models [vm-selector=vm_selector_value...]
<!--NeedCopy-->

在主机上重新启动此 VM 的设备型号。在设备型号重新启动时,您无法停止、启动或迁移 VM。VM 的最终用户可能会在其会话中看到短暂的暂停并恢复。

注意:

要在 Windows VM 上支持重新启动设备模型操作,该 VM 必须安装适用于 Windows 的 XenServer VM Tools。

vm-resume

xe vm-resume [vm-selector=vm_selector_value...] [force=true|false] [on=host_uuid]
<!--NeedCopy-->

恢复指定的 VM。

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

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

vm-retrieve-wlb-recommendations

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

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

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 始终在 vCPU 数量设置为 VCPUs-max 的情况下运行并且必须重新启动才可以更改此值。

使用 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 计划快照及其属性的命令。

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

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 列表。