附录 D. 使用搜索、书签和标签

D.1. 搜索

D.1.1. 在 Red Hat Enterprise Virtualization 中进行搜索

管理门户可以管理上千的资源,如虚拟机、主机、用户等等。要进行一个搜索,在搜索条中输入搜索条件。搜索条件可以被保存为“书签”以便日后使用。搜索条件不区分大小写。

D.1.2. 搜索语法和实例

对 Red Hat Enterprise Virtualization 资源进行搜索的查询语句的语法是:
result type: {criteria} [sortby sort_spec]
语法实例

以下的实例介绍了如何使用搜索查询的功能,以及 Red Hat Enterprise Virtualization 可以如何帮助创建搜索查询。

表 D.1. 搜索查询实例

实例结果
Hosts: Vms.status = up显示所有状态为 up 的运行的虚拟机。
Vms: domain = qa.company.com显示指定域中的所有虚拟机列表。
Vms: users.name = Mary显示所有属于用户名为 Mary 的用户的虚拟机。
Events: severity > normal sortby time显示所有 severity 的值高于 Normal 的事件,并以时间顺序排序。

D.1.3. 带自动完成功能的搜索

管理门户为搜索提供了自动完成的功能。在您输入搜索条件的一部分时,搜索条的下面会显示一个下拉菜单,其中包括了您可以选择作为搜索条件下一部分的内容。您可以选择使用这个下拉菜单所提供的内容,也可以继续手工输入您的搜索条件。
下表通过实例展示了管理门户的自动完成功能如何帮助您创建一个搜索条件:
Hosts: Vms.status = down

表 D.2. 使用自动完成功能的搜索条件实例

输入显示的内容列表操作
h Hosts(只有一个选项)
选择 Hosts 或;
输入 Hosts
Hosts:
主机的所有属性
输入 v
Hosts: v v 开头的主机属性选择 Vms 或输入 Vms
Hosts: Vms 所有虚拟机属性输入 s
Hosts: Vms.s s 开头的所有虚拟机属性选择 status 或输入 status
Hosts: Vms.status
=
=!
选择或输入 =
Hosts: Vms.status = 所有状态值选择或输入 down

D.1.4. 搜索的结果类型选项

使用结果类型可以对以下类型的资源进行搜索:
  • Vms:一个虚拟机列表
  • Host:一个主机列表
  • Pools:一个池列表
  • Template:一个模板列表
  • Event:一个事件列表
  • Users:一个用户列表
  • Cluster:一个集群列表
  • Datacenter:一个数据中心列表
  • Storage:一个存储域列表
因为每个资源类型都有一组特定的属性,以及和它相关的其它资源,所以每个搜索类型都有一组特定的组合。因此,自动完成功能可以根据这些组合来帮助您方便地创建有效的搜索条件。

D.1.5. 搜索条件

您可以在搜索查询命令中的冒号后面指定搜索条件。{criteria} 的使用语法是:
<prop><operator><value>
<obj-type><prop><operator><value>
实例

下表列出了语法中每一部分的含义:

表 D.3. 搜索实例

部分描述示例注意
prop要搜索的资源的属性。也可以是一个资源类型(obj-type)或 tag(自定义标签)的属性。把搜索的范围限制在所指定的属性中。例如,搜索带有 status 属性的资源。Status不适用
obj-type所搜索资源的资源类型。系统项,如数据中心和虚拟机。Users不适用
operator比较操作符。
=
!= (不等于)
>
<
>=
<=
不适用可用的值由 obj-type 的值决定。
Value用来比较的值。
字符串
整数
级别
日期(使用在地区设置中所指定的格式)
Jones
256
normal
  • 在字符串中可以使用通配符。
  • "" (在两个引号间没有空格)可以被用来代表一个空的字符串。
  • 如果字符串或日期中包括空格,这个字符串或日期需要使用双引号

D.1.6. 搜索:多个条件和通配符

<value> 部分可以使用通配符。如要查找所有以 m 开头的用户,输入 m*
您也可以通过使用布尔运算符 ANDOR 指定多个搜索条件,如:
Vms: users.name = m* AND status = Up
这个搜索查询会返回,用户名 "m" 开头的用户正在运行的所有虚拟机。
Vms: users.name = m* AND tag = "paris-loc"
这个搜索查询会返回,用户名以 "m" 开头的用户运行的、带有 "paris-loc" 标签的虚拟机。
当使用两个搜索条件而之间没有使用 ANDOR 时,这意味着 AND 被隐含使用。AND 的优先级高于 OROR 的优先级高于隐含使用的 AND

D.1.7. 搜索:决定搜索结果的顺序

您可以使用 sortby 来指定搜索结果的顺序。您还可以指定是 asc (升序)还是 desc(降序)排列。
例如:
events: severity > normal sortby time desc
这个搜索查询会返回级别高于 Normal 的所有事件,并以时间降序排列。

D.1.8. 对数据中心的搜索

下面介绍了对数据中心进行搜索时可以使用的选项。

表 D.4. 对数据中心的搜索

资源或资源类型的属性类型描述
Clusters.clusters-prop由属性类型决定和数据中心相关的集群的属性。
name字符串数据中心的名称。
description字符串数据中心的描述。
type字符串数据中心的类型。
status列表数据中心的状态。
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
实例

Datacenter: type = nfs and status != up

这个实例返回一个满足以下条件的数据中心列表:
  • 有一个 NFS 存储,状态不是 up

D.1.9. 搜索集群

下面介绍了对集群进行搜索时可以使用的选项。

表 D.5. 搜索集群

资源或资源类型的属性类型描述
Datacenter.datacenter-prop由属性类型决定与集群相关的数据中心的属性。
Datacenter字符串集群所属的数据中心。
name字符串用来在网络中标识集群的名称。
description字符串集群的描述。
initialized字符串True 或 False 来标记集群的状态。
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Clusters: initialized = true or name = Default

这个实例返回一个满足以下条件的集群列表:
  • 被初始化了;或
  • 它们的名称是 Default

D.1.10. 搜索主机

下面介绍了对主机进行搜索时可以使用的选项。

表 D.6. 搜索主机

资源或资源类型的属性类型Description (Reference)
Vms.Vms-prop由属性类型决定与主机相关的虚拟机的属性
Templates.templates-prop由属性类型决定与主机相关的模板的属性。
Events.events-prop由属性类型决定与主机相关的事件的属性。
Users.users-prop由属性类型决定与主机相关的用户的属性。
name字符串主机的名称。
status列表主机的状态。
cluster字符串主机所属的集群。
address字符串用来在网络中标识主机的名称。
cpu_usage整数CPU 被使用的百分数。
mem_usage整数内存被使用的百分数。
network_usage整数网络被使用的百分数。
load整数在一个指定的时间段中,每个处理器中的、等待在 run-queue 中被执行的工作数量。
version整数操作系统的版本号。
cpus整数主机上的 CPU 数量。
memory整数可用内存的数量。
cpu_speed整数CPU 的处理速度。
cpu_model字符串CPU 的类型。
active_vms整数当前正在运行的虚拟机数量。
migrating_vms整数当前正在被迁移的虚拟机数量。
committed_mem整数被分配的内存的百分数。
tag字符串主机的标签(tag)
type字符串主机类型。
datacenter字符串主机所属的数据中心。
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Hosts: cluster = Default and Vms.os = rhel6

这个实例返回一个主机的列表,这些主机:
  • 是 Default 集群的一部分,主机上的虚拟机运行 Red Hat Enterprise Linux 6 操作系统。

D.1.11. 搜索网络

下面介绍了对网络进行搜索时可以使用的选项。

表 D.7. 搜索网络

资源或资源类型的属性类型描述
Cluster_network.clusternetwork-prop由属性类型决定与网络相关的集群的属性。
Host_Network.hostnetwork-prop由属性类型决定与网络相关的主机的属性。
name字符串被用来识别网络的网络名。
description字符串网络的关键字或描述(创建网络时的可选属性)
vlanid整数网络的 VLAN ID。
stp字符串网络是否启用或禁用 STP。
mtu整数逻辑网络的最大传输单位。
vmnetwork字符串网络是否只用于虚拟机的通信。
datacenter字符串网络所在的数据中心
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Network: mtu > 1500 and vmnetwork = true

这个实例返回一个符合以下条件的网络列表:
  • 最大传输单元大于 1500 字节
  • 只为虚拟机使用。

D.1.12. 搜索存储

下面介绍了对存储进行搜索时可以使用的选项。

表 D.8. 搜索存储

资源或资源类型的属性类型描述
Hosts.hosts-prop由属性类型决定与存储相关的主机的属性。
Clusters.clusters-prop由属性类型决定与存储相关的集群的属性。
name字符串用来在网络中标识存储的名称。
status字符串存储域的状态。
datacenter字符串存储所在的数据中心。
type字符串存储的类型。
size整数存储的大小。
used整数已经被使用的存储的大小。
committed整数被分配的存储的大小。
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Storage: size > 200 or used < 50

这个实例返回满足以下条件的存储列表:
  • 总存储空间大于 200 GB;或
  • 被使用的存储空间小于 50 GB。

D.1.13. 搜索磁盘

下面介绍了对磁盘进行搜索时可以使用的选项。

表 D.9. 搜索磁盘

资源或资源类型的属性类型描述
Datacenters.datacenters-prop由属性类型决定与磁盘相关的数据中心的属性。
Storages.storages-prop由属性类型决定与磁盘相关的存储的属性。
alias字符串被用来在网络中识别存储的名称。
description字符串网络的关键字或描述(创建磁盘时的可选属性)
provisioned_size整数虚拟磁盘的大小。
size整数磁盘的大小。
actual_size整数为磁盘分配的实际空间的大小。
creation_date整数磁盘被创建的时间。
bootable字符串磁盘是否可以被引导。有效的值是 01yesno
shareable字符串磁盘是否可以被共享。有效的值是 01yesno
format字符串磁盘的格式。有效的值是 unusedunassignedcowraw
status字符串磁盘的状态。有效的值是 unassignedoklockedinvalidillegal
disk_type字符串磁盘的类型。有效的值是 imagelun
number_of_vms整数磁盘被附加到的虚拟机的数量。
vm_names字符串磁盘被附加到的虚拟机的名称。
quota字符串磁盘使用的配额的名称。
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Disks: format = cow and provisioned_size > 8

返回满足以下条件的虚拟磁盘列表:
  • 格式是 QCOW(也被称为 thin provisioning)
  • 被分配的磁盘空间大小大于 8 GB。

D.1.14. 搜索卷

下面介绍了对卷进行搜索时可以使用的选项。

表 D.10. 搜索卷

资源或资源类型的属性类型描述
Volume.cluster-prop由属性类型决定与卷相关的集群的属性。
Cluster字符串与卷相关的集群的名称。
name字符串被用来识别卷的卷名。
type字符串可以是 distribute、replicate、distributed_replicate、stripe 或 distributed_stripe。
transport_type整数可以是 TCP 或 RDMA
replica_count整数replica 的数量。
stripe_count整数stripe 的数量。
status字符串卷的状态。有效值是 Up 或 Down。
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Volume: transport_type = rdma and stripe_count >= 2

这个实例返回满足以下条件的卷列表:
  • 传输类型是 RDMA;并且
  • 有 2 个或多个 stripe。

D.1.15. 搜索虚拟机

下表介绍了对虚拟机进行搜索时可以使用的选项。

表 D.11. 搜索虚拟机

资源或资源类型的属性类型描述
Hosts.hosts-prop由属性类型决定与虚拟机相关的主机的属性。
Templates.templates-prop由属性类型决定与虚拟机相关的模板的属性。
Events.events-prop由属性类型决定与虚拟机相关的事件的属性。
Users.users-prop由属性类型决定与虚拟机相关的用户的属性。
Storage.storage-prop由属性类型决定与虚拟机相关的存储设备属性。
Vnic.mac-prop由属性类型决定与虚拟机相关的 MAC 地址属性。
name字符串虚拟机名称。
status列表虚拟机的状态。
ip整数虚拟机的 IP 地址。
uptime整数虚拟机已经运行的时间(以分钟为单位)
domain字符串虚拟机的域(通常是 Active Directory 域)。
os字符串在虚拟机被创建时所选的操作系统。
creationdate日期虚拟机被创建的时间。
address字符串用来在网络中标识虚拟机的名称。
cpu_usage整数使用的 CPU 资源的百分比。
mem_usage整数内存被使用的百分比。
network_usage整数网络被使用的百分比。
memory整数定义的最大内存。
apps字符串当前在虚拟机上安装的应用程序。
cluster列表虚拟机所在的集群。
pool列表虚拟机所在的虚拟机池。
loggedinuser字符串当前登录到虚拟机上的用户的用户名。
tag列表与虚拟机相关的标签(tag)。
datacenter字符串虚拟机所在的数据中心。
type列表虚拟机类型(服务器或桌面)。
quota字符串与虚拟机相关的配额的配额名。
description字符串虚拟机的关键字或描述(创建虚拟机时的可选属性)
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Vms: template.name = Win* and user.name = ""

它会返回满足以下条件的虚拟机:
  • 虚拟机所基于的模板的模板名以 Win 开头,并且虚拟机被分配给任何用户。
示例

Vms: cluster = Default and os = windows7

它会返回满足以下条件的虚拟机:
  • 虚拟机所在的集群的名称为 Default,并且虚拟机使用 Windows 7 操作系统。

D.1.16. 搜索池

下面介绍了对池进行搜索时可以使用的选项。

表 D.12. 搜索池

资源或资源类型的属性类型描述
name字符串池的名称。
description字符串池的描述。
type类表池的类型。
sortby类表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Pools: type = automatic

这个实例返回满足以下条件的池列表:
  • 类型是 automatic

D.1.17. 搜索模板

下面介绍了对模板进行搜索时可以使用的选项。

表 D.13. 搜索模板

资源或资源类型的属性类型描述
Vms.Vms-prop字符串与模板相关的虚拟机的属性。
Hosts.hosts-prop字符串与模板相关的主机的属性。
Events.events-prop字符串与模板相关的事件的属性。
Users.users-prop字符串与模板相关的用户的属性。
name字符串模板的名称。
domain字符串模板所在的域。
os字符串操作系统的类型。
creationdate整数
模板被创建的时间。
时间的格式是 mm/dd/yy
childcount整数通过模板创建的虚拟机的数量。
mem整数定义的内存。
description字符串模板的描述。
status字符串模板的状态。
cluster字符串与模板相关的集群。
datacenter字符串与模板相关的数据中心。
quota字符串与模板相关的配额。
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Template: Events.severity >= normal and Vms.uptime > 0

这个实例返回满足以下条件的模板列表:
  • 基于这个模板所创建的虚拟机上有 severity 级别是 normal 或更高的事件发生,并且虚拟机还在运行。

D.1.18. 搜索用户

下面介绍了对用户进行搜索时可以使用的选项。

表 D.14. 搜索用户

资源或资源类型的属性类型描述
Vms.Vms-prop由属性类型决定与用户相关的虚拟机的属性。
Hosts.hosts-prop由属性类型决定与用户相关的主机的属性。
Templates.templates-prop由属性类型决定与用户相关的模板的属性。
Events.events-prop由属性类型决定与用户相关的事件的属性。
name字符串用户的名称。
lastname字符串用户的姓(last name)
usrname字符串用户的用户名。
department字符串用户所在的部门。
group字符串用户所在的组。
title字符串用户的职位。
status字符串用户的状态。
role字符串用户的角色。
tag字符串与用户相关联的标签(tag)
pool字符串用户所在的池。
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Users: Events.severity > normal and Vms.status = up or Vms.status = pause

这个实例返回满足以下条件的用户列表:
  • 用户的虚拟机上有 severity 级别为 normal 或更高级别的事件,并且虚拟机仍然在运行;或
  • 用户的虚拟机的状态为 paused。

D.1.19. 搜索事件

下面介绍了对事件进行搜索时可以使用的选项。

表 D.15. 搜索事件

资源或资源类型的属性类型描述
Vms.Vms-prop由属性类型决定与事件相关的虚拟机的属性。
Hosts.hosts-prop由属性类型决定与事件相关的主机的属性。
Templates.templates-prop由属性类型决定与事件相关的模板的属性。
Users.users-prop由属性类型决定与事件相关的用户的属性。
Clusters.clusters-prop由属性类型决定与事件相关的集群的属性。
Volumes.Volumes-prop由属性类型决定与事件相关的卷的属性。
type列表事件的类型。
severity列表事件的 severity 级别:Warning/Error/Normal。
message字符串事件类型的描述。
time列表数据发生的时间。
usrname字符串与事件相关的用户名。
event_host字符串与事件相关的主机。
event_vm字符串与时间相关的虚拟机。
event_template字符串与事件相关的模板。
event_storage字符串与事件相关的存储。
event_datacenter字符串与事件相关的数据中心。
event_volume字符串与事件相关的卷。
correlation_id整数事件的识别码(ID)
sortby列表使用资源的一个属性对搜索结果进行排序。
page整数所显示的每一页的结果数量。
示例

Events: Vms.name = testdesktop and Hosts.name = gonzo.example.com

这个实例返回满足以下条件的事件列表:
  • 在主机 gonzo.example.com 上运行的、名为 testdesktop 的虚拟机上的事件。