管理指南
Red Hat Enterprise Virtualization 中的管理任务
Red Hat Enterprise Virtualization Documentation Team
rhev-docs@redhat.com
摘要
第 1 章 管理和维护 Red Hat Enterprise Virtualization 环境
- 管理物理资源和虚拟资源(如主机和虚拟机)。如添加主机、升级主机、导入域、转换其它虚拟环境中创建的虚拟机、管理虚拟机池等。
- 监控系统资源,发现可能会出现的问题(如在一个主机上有太多的负载;没有足够的内存或磁盘空间),并解决这些问题(如把一些虚拟机迁移到其他主机上;关闭一些虚拟机来释放系统资源)。
- 对虚拟机进行一些操作来满足特定的需求,如升级操作系统、分配更多的内存。
- 使用标签来管理对象的自定义属性。
- 管理被保存为公共书签(public bookmark)的搜索。
- 管理用户账户和用户权限。
- 对出现问题的用户或虚拟机进行故障排除。
- 生成报表。
1.1. 全局配置
图 1.1. 访问配置窗口
1.1.1. 角色
1.1.1.1. 创建一个新角色
过程 1.1. 创建一个新角色
- 在页头条中点配置按钮打开配置窗口。这个窗口会显示所有默认的用户和管理角色,以及自定义的角色。
- 点新建。新建角色对话框被显示。
图 1.2. 新建角色对话框
- 为新角色输入名称和描述。
- 在帐号类型中选择管理员或用户。
- 使用展开所有或隐藏所有按钮来显示或隐藏选择复选框以允许操作列表中的对象权限。
- 在每个对象上,选择或取消选择相应的操作来设置用户的权限。
- 点确定。新角色将出现在角色列表中。
1.1.1.2. 编辑或复制一个角色
您可以编辑新创建的角色,但不能修改默认的角色。如需修改默认的角色,则需要先克隆它后才可进行修改。
过程 1.2. 编辑或复制一个角色
- 在页头条中点配置按钮打开配置窗口。这个窗口会显示所有默认的用户和管理角色,以及自定义的角色。
- 选择需要修改的角色。点编辑打开编辑角色窗口,或点复制打开复制角色窗口。
- 如果需要,编辑角色的名称和描述。
- 使用展开所有或隐藏所有按钮来显示或隐藏所列出对象的权限。您也可以显示或隐藏每个对象的权限。
- 在每个对象上,选择或取消选择相应的操作权限。
- 点确定。
您编辑了一个角色的属性或克隆了一个角色。
1.1.1.3. 用户角色和授权实例
例 1.1. 集群权利
Accounts
的集群
中。Sarah 被分配了这个集群的 ClusterAdmin
角色,这样她就可以管理这个集群中的所有虚拟机。这些管理任务包括编辑、添加和删除虚拟资源以及进行快照。但是,Sarah 没有管理此集群以外资源的权利。另外,因为 ClusterAdmin
是一个管理员角色,所以 Sarah 可以使用管理门户管理这个集群中的资源,但没有使用用户门户访问这些资源的权利。
例 1.2. VM PowerUser 权限
johndesktop
的虚拟机,并为 John 分配了 johndesktop
虚拟机的 UserVmManager
角色。UserVmManager
这个角色会允许 John 通过用户门户访问这台虚拟机,并可以修改它或为它添加资源(如添加新的虚拟磁盘)。因为 UserVmManager
是一个用户角色,John 将没有权限使用管理门户。
例 1.3. 数据中心 Power User 角色权限
PowerUserRole
权限。
DataCenterAdmin
权限是不同的。作为一个数据中心的 PowerUser,Penelope 可以登录到用户门户,在她所在的数据中心中的虚拟机上进行与虚拟机相关的操作。但是,她不能进行数据中心级的操作(如为数据中心附加主机或存储)。
例 1.4. 网络管理员权限
NetworkAdmin
权利,她就可以在这个数据中心中添加或删除网络,并为这个数据中心中的所有虚拟机添加或删除网络。
VnicProfileUser
和 UserVmManager
权限。因为 Pat 具有了这些权限,他就可以使用用户门户中的扩展标签页来执行一些简单的管理任务,如为虚拟机添加网络接口。但是,他没有权限去改变虚拟机所在主机上的网络,也没有权限去改变虚拟机所在的数据中心上的网络。
例 1.5. 定制角色权限
图 1.3. UserManager 定制角色
系统
下。这意味着这些权限对系统中的所有对象都有效。另外,这个角色的帐号类型被设置为管理员,在 Rachel 被分配了这个角色后,她将可以使用管理门户,而不能使用用户门户。
1.1.2. 系统权限
图 1.4. 权限和角色
图 1.5. Red Hat Enterprise Virtualization 对象的分级结构
1.1.2.1. 用户属性
1.1.2.2. 用户角色和管理员角色
- 管理员角色:可以通过访问管理门户来管理物理资源和虚拟资源。
- 用户角色:可以通过访问用户门户来管理和访问虚拟机和模板。
管理员
角色,您可以通过管理门户管理这个集群中的所有虚拟机。但是,您不能通过用户门户来访问集群中的任何虚拟机,因为这需要用户
角色。
1.1.2.3. 用户角色介绍
表 1.1. Red Hat Enterprise Virtualization 基本用户角色
角色 | 权利 | 注记 |
---|---|---|
UserRole | 可以访问虚拟机和虚拟机池。 | 可以登录到用户门户,使用被分配的虚拟机和虚拟机池,查看虚拟机的状态和详细信息。 |
PowerUserRole | 可以创建和管理虚拟机和模板。 | 使用配置窗口为用户在整个环境或特定数据中心或集群中分配这个角色。例如,如果一个 PowerUserRole 角色在数据中心级上被分配,具有这个角色的用户就可以在这个数据中心上创建虚拟机和模板。 |
UserVmManager | 一个虚拟机的系统管理员。 | 可以管理虚拟机、创建并使用快照。当一个用户通过用户门户创建了一个虚拟机,这个用户将自动具有那台虚拟机的 UserVmManager 角色。 |
表 1.2. Red Hat Enterprise Virtualization 高级用户角色
角色 | 权利 | 注记 |
---|---|---|
UserTemplateBasedVm | 只有与使用模板相关的权限。 | 可以使用模板创建虚拟机。 |
DiskOperator | 虚拟磁盘用户。 | 可以使用、创建和编辑虚拟磁盘,并可以继承附加了这个虚拟磁盘的虚拟机的使用权限。 |
VmCreator | 可以通过用户门户创建虚拟机。 | 这个角色不针对于一个特定的虚拟机,使用配置窗口来在整个环境的范围上为用户分配这个角色。另外,您也可以为特定的数据中心或集群分配这个角色。如果您在一个集群范围内分配了这个角色,您还必须在这个数据中心范围或特定的存储域上分配 DiskCreator 角色。 |
TemplateCreator | 可以在被分配的资源中创建、编辑、管理和删除虚拟机模板。 | 这个角色应用于整个环境,而不是一个特定的模板,使用配置窗口来为用户分配这个角色。另外,还可以把这个角色应用到特定的数据中心、集群或存储域中。 |
DiskCreator | 可以在被分配的集群或数据中心中创建、编辑、管理和删除虚拟机磁盘。 | 这个角色应用于整个环境,而不是一个特定的磁盘,使用配置窗口来为用户分配这个角色。另外,还可以把这个角色应用到特定的数据中心、集群或存储域中。 |
TemplateOwner | 可以编辑和删除模板,为模板分配和管理用户权限。 | 创建模板的用户会被自动分配这个角色。没有模板的 TemplateOwner 角色的用户将无法查看或使用这个模板。 |
VnicProfileUser | 虚拟机和模板的逻辑网和网络接口用户 | 可以为特定的逻辑网络添加或删除网络接口。 |
1.1.2.4. 管理员角色介绍
表 1.3. Red Hat Enterprise Virtualization 基本用户角色
角色 | 权利 | 备注 |
---|---|---|
SuperUser | Red Hat Enterprise Virtualization 环境的系统管理员。 | 具有访问所有对象的权限并可以管理所有数据中心中的全部对象。 |
ClusterAdmin | 集群管理员。 | 具有一个特定集群下的所有资源的管理权限。 |
DataCenterAdmin | 数据中心管理员。 | 具有一个特定数据中心中除了存储以外的所有资源的管理权限。 |
重要
表 1.4. Red Hat Enterprise Virtualization 高级系统管理员角色
角色 | 权利 | 备注 |
---|---|---|
TemplateAdmin | 虚拟机模板的管理员。 | 可以创建、删除和配置模板中的存储域和网络,并可以在不同域间移动模板。 |
StorageAdmin | 存储管理员。 | 可以创建、删除、配置和管理一个被分配的存储域。 |
HostAdmin | 主机管理员。 | 可以附加、删除、配置和管理一个特定的主机。 |
NetworkAdmin | 网络管理员。 | 可以配置和管理一个特定数据中心或集群中的网络。一个数据中心或集群的网络管理员同时也继承了这个数据中心或集群中的虚拟机上的网络权限。 |
VmPoolAdmin | 虚拟机池的系统管理员。 | 可以创建、删除和配置一个虚拟机池;添加和删除池用户;在池中的虚拟机上进行基本的操作。 |
GlusterAdmin | Gluster 存储管理员。 | 可以创建、删除、配置和管理 Gluster 存储域。 |
1.1.3. 调度策略
1.1.3.1. 创建调度策略
过程 1.3. 创建调度策略
- 点管理门户的页头条中的配置按钮来打开配置窗口。
- 点调度策略查看调度策略标签页。
- 点新建打开新建调度策略窗口。
图 1.6. 新建调度策略窗口
- 为调度策略输入名称和描述。
- 配置过滤器模块:
- 在过滤器模块项中,把需要在调度策略中使用的过滤器模块从已禁用过滤器项中拖到已启用过滤器项中。
- 过滤模块可以被设置为第一个(具有最高的优先级)或最后一个(具有最低的优先级)。如需设置优先级,在一个过滤器模块上点鼠标右键,在位置项中选第一个或最后一个。
- 配置权重(weight)模块:
- 在 Weights 模块项中,把需要在调度策略中使用的权重模块从已禁用 Weights 项中拖到已启用 Weights 项中。
- 使用启用的权重模块左面的 + 和 - 按钮来增加或减少相应模块的权重值。
- 指定一个负载均衡策略:
- 从负载平衡器项中的下拉菜单中选择需要在调度策略中应用的负载均衡策略。
- 从属性项中的下拉菜单中选择需要在调度策略中应用的负载均衡属性,在属性右面的输入框中为相应的属性设定一个值。
- 使用 + 和 - 按钮来添加或删除额外的属性。
- 点确定。
1.1.3.2. 新建调度策略和编辑调度策略窗口中的设置介绍
表 1.5. 新建调度策略和编辑调度策略的设置
项
|
描述
|
---|---|
名称
|
调度策略的名称。Red Hat Enterprise Virtualization Manager 使用这个名称来代表这个调度策略。
|
描述
|
调度策略的描述。这个项不是必需的,但我们推荐使用它。
|
过滤器模块
|
用来控制虚拟机可以在一个集群中的哪些主机上运行。启用相关的过滤器可以把不满足条件的主机过滤掉,以下介绍了每个过滤器的详情:
|
Weights 模块
|
决定在集群中的哪些主机上运行虚拟机时需要考虑因素的权重。
|
负载平衡器
|
您可以从下拉菜单中选择一个应用的负载均衡模块。负载均衡模块决定了虚拟机从高利用率的主机迁移到低利用率主机迁移所使用的逻辑。
|
属性
|
这个下拉菜单允许您为负载均衡模块添加或删除属性,它只在为调度策略选择了负载均衡模块后才有效。在默认的情况下,“No properties”项会被选择,而下拉菜单中可选择的值则由您所选择的负载均衡模块来决定。使用 + 和 - 按钮来为相应的负载均衡模块添加或删除属性。
|
1.1.4. 实例类型
表 1.6. 预定义的实例类型
实例类型
|
内存
|
vCPU
|
---|---|---|
Tiny
|
512 MB
|
1
|
Small
|
2 GB
|
1
|
Medium
|
4 GB
|
2
|
Large
|
8 GB
|
2
|
XLarge
|
16 GB
|
4
|
图 1.7. 系列类型标签页
1.1.4.1. 创建实例类型
系统管理员可以创建新的实例类型,然后用户将可以在创建或编辑虚拟机时选择它。
过程 1.4. 创建实例类型
- 点页头条中的配置按钮打开配置窗口。
- 点实例类型标签页。
- 点新建打开新建实例类型窗口。
图 1.8. 新实例类型窗口
- 在常规标签页中,输入名称和描述的值。您可以使用其它项的默认值,也可以根据您的情况修改它们。
- 根据您的需要,在系统、控制台、主机高可用性、资源分配、引导选项和随机数生成器标签页中进行相应的配置。在这些标签页中出现的设置与新建虚拟机窗口中的相应设置完全相同。
- 点确定创建实例类型并关闭窗口。
新创建的实例类型出现在配置窗口的实例类型标签页中。您可以在创建或编辑虚拟机时从实例类型下拉菜单中选择新建的实例类型。
1.1.4.2. 编辑实例类型
系统管理员可以在配置窗口中编辑存在的实例类型。
过程 1.5. 编辑实例类型属性
- 选择需要编辑的实例类型。
- 点编辑按钮打开编辑实例类型窗口。
- 根据需要,编辑常规、系统、控制台、主机、高可用性、资源分配、引导选项、随机数产生器标签页中的设置。
- 点确定保存所做的改变。
实例类型的配置被改变。基于这个实例类型的新建虚拟机和已经存在的虚拟机都将使用新的配置。
1.1.4.3. 删除实例类型
从 Red Hat Enterprise Virtualization 环境中删除一个实例类型。
过程 1.6. 删除一个实例类型
- 选择需要删除的实例类型。
- 点删除按钮打开删除实例类型窗口。
- 如果存在基于要被删除的实例类型的虚拟机,一个包括了相关联的虚拟机列表的窗口会出现。如果需要删除实例类型,点 Approve Operation,否则,点 Cancel。
- 点确定。
实例类型被从实例类型列表中删除,在创建新虚拟机时将无法使用这个实例类型。所有以前和被删除的实例类型相关联的虚拟机将改为和 Custom(没有实例类型)相关联。
部分 I. 管理资源
第 2 章 服务质量
2.1. 存储服务质量
2.1.1. 创建一个存储服务质量
过程 2.1. 创建一个存储服务质量
- 点数据中心资源页并选择一个数据中心。
- 在详情框中点 QoS 标签页。
- 点存储。
- 点新建。
- 在 QoS 名称项中输入这个服务质量的名称。
- 在描述项中输入这个服务质量的描述信息。
- 设置服务质量的吞吐量:
- 选择吞吐量选择框。
- 在 Total 项中输入允许的最大总吞吐量。
- 在 Read 项中输入读操作所允许的最大吞吐量。
- 在 Write 项中输入写操作所允许的最大吞吐量。
- 指定输入和输出服务质量:
- 选择 IOps 选择框。
- 在 Total 项中输入每分钟所允许的最多输入和输出操作的数量。
- 在 Read 项中输入每分钟所允许的最多输入操作的数量。
- 在 Write 项中输入每分钟所允许的最多输出操作的数量。
- 点确定。
2.1.2. 删除一个存储服务质量
过程 2.2. 删除一个存储服务质量
- 点数据中心资源页并选择一个数据中心。
- 在详情框中点 QoS 标签页。
- 点存储。
- 选择需要删除的存储服务质量。
- 点删除。
- 出现提示时点确定。
[unlimited]
。
2.2. 网络服务质量
重要
2.2.1. 创建一个网络服务质量
过程 2.3. 创建一个网络服务质量
- 点数据中心标签页并选择一个数据中心。
- 在详情框中点 QoS 标签页。
- 点网络。
- 点新建。
- 在 名称项中输入这个服务质量的名称。
- 输入转入的和转出的网络流量的限制值。
- 点确定。
2.2.2. 新建网络 QoS 和编辑网络 QoS 窗口中的设置
表 2.1. 网络 QoS 设置
项
|
描述
|
---|---|
数据中心
|
这个网络 QoS 协议被添加到的数据中心。这个项的值会根据所选的数据中心自动被设置。
|
名称
|
在 Manager 中代表这个网络 QoS 协议的名称。
|
转入的
|
这个设置对流入网络的流量进行控制。选择/取消转入的选项来启用/禁用这个设置。
|
转出的
|
这个设置对流出网络的流量进行控制。选择/取消转出的选项来启用/禁用这个设置。
|
2.2.3. 删除一个网络服务质量
过程 2.4. 删除一个网络服务质量
- 点数据中心标签页并选择一个数据中心。
- 在详情框中,点 QoS。
- 点网络。
- 选择需要删除的网络服务质量。
- 点删除。
- 出现提示时点确定。
2.3. CPU 服务质量
2.3.1. 创建一条 CPU 服务质量
过程 2.5. 创建一条 CPU 服务质量
- 点数据中心资源页并选择一个数据中心。
- 在详情框中点 QoS。
- 点 CPU。
- 点新建。
- 在 QoS 名称项中为这个服务质量输入一个名称。
- 在描述项中输入这个服务质量的描述信息。
- 在 Limit 项中输入服务质量所允许的最大处理能力(以百分比的形式,但不要包括
%
符号)。 - 点确认。
2.3.2. 删除一个 CPU 服务质量
过程 2.6. 删除一个 CPU 服务质量
- 点数据中心资源页并选择一个数据中心。
- 在详情框中点 QoS。
- 点 CPU。
- 选择需要删除的 CPU 服务质量。
- 点删除。
- 提示时点确定。
[unlimited]
。
第 3 章 数据中心
3.1. 数据中心介绍
图 3.1. 数据中心
图 3.2. 数据中心中的项
3.2. 存储池管理器(SPM)
3.3. SPM 优先级
3.4. 使用事件标签页查找数据中心中有问题的项
3.5. 数据中心任务
3.5.1. 创建一个新的数据中心
注意
过程 3.1. 创建一个新的数据中心
- 选择数据中心资源标签页来在结果列表中列出所有的数据中心。
- 点新建打开新建数据中心窗口。
- 输入数据中心的名称和描述。
- 从下拉菜单中选择数据中心的类型、兼容版本和配额模式。
- 点确认创建数据中心,并打开新建数据中心 - 引导操作窗口。
- 引导操作窗口列出了数据中心所要配置的项。您可以现在配置这些项目,或点以后再操作来在以后配置它们。您可以在任何时候通过选择数据中心后点引导操作键来对所选数据中心进行配置。
3.5.2. “新建数据中心”和“编辑数据中心”窗口中的设置介绍
表 3.1. 数据中心属性
项
|
描述/操作
|
---|---|
名称
|
数据中心的名字。它最长支持 40 个字符,可以包括大小写字母、数字、分号和下划线。数据中心的名字必须是唯一的。
|
描述
| 数据中心的描述。这个项可以是空,但我们推荐您在这个项中输入相关的信息。 |
类型
|
存储类型。请选择以下类型之一:
存储域的类型对数据中心的类型有很大的影响,它在创建后将很难进行修改。尽管多种不同类型的存储域(iSCSI、NFS、FC、POSIX 和 Gluster)可以被添加到同一个数据中心中,“本地的”和“共享的”类型不能同时存在于一个数据中心中。
|
兼容版本
|
Red Hat Enterprise Virtualization 的版本。请选择以下值中的一个:
|
配额模式
| 配额是 Red Hat Enterprise Virtualization 所提供的一个对资源使用进行限制的工具。请选择以下值中的一个:
|
3.5.3. 重新初始化一个数据中心
过程 3.2. 重新初始化一个数据中心
- 点数据中心资源标签页,并选择需要重新初始化的数据中心。
- 确定和这个数据中心相关的存储域都处在维护模式。
- 在数据中心上点鼠标右键,从下拉菜单中选重新初始化数据中心打开数据中心重新初始化窗口。
- 数据中心重新初始化窗口会列出所有的存储域(这些存储域应该都处在维护模式)。选择您要加入到这个数据中心的存储域。
- 选择批准操作项。
- 点确定关闭窗口并开始重新初始化这个数据中心。
3.5.4. 删除一个数据中心
过程 3.3. 删除一个数据中心
- 确定和数据中心相关联的存储域处于维护模式。
- 点数据中心资源标签页并选择要删除的数据中心。
- 点删除打开删除数据中心确认窗口。
- 点确定。
3.5.5. 强制删除一个数据中心
无响应
状态,或和它相关联的存储域出现问题,数据中心就成为无响应
状态。您将无法正常删除数据中心。
过程 3.4. 强制删除一个数据中心
- 点数据中心资源标签页,选择要删除的数据中心。
- 点强制删除打开强制删除数据中心确认窗口。
- 选中批准操作选择项。
- 点确定
3.5.6. 改变数据中心的兼容版本
注意
过程 3.5. 改变数据中心的兼容版本
- 在管理门户中,点数据中心标签页。
- 从显示的列表中选要修改的数据中心。
- 点编辑。
- 把兼容版本改为您需要的值。
- 点确定打开修改数据中心兼容性版本确认窗口。
- 点确定。
警告
3.6. 数据中心和存储域
3.6.1. 为数据中心附加一个存在的数据域
过程 3.6. 为数据中心附加一个存在的数据域
- 点数据中心资源页并选择所需的数据中心。
- 详情框中的存储标签页中列出了已经附加到这个数据中心的存储域。
- 点附加数据打开附加存储窗口。
- 选择需要附加到这个数据中心的数据域。您可以选择多个数据域来把它们附加到数据中心。
- 点确定。
3.6.2. 为数据中心附加一个存在的 ISO 域
过程 3.7. 为数据中心附加一个存在的 ISO 域
- 点数据中心资源标签页,选择相应的数据中心。
- 在详情框中选存储标签页列出这个数据中心已被附加的存储域。
- 点附加 ISO 打开附加 ISO 库窗口。
- 选择相应的 ISO 域。
- 点确定。
3.6.3. 为数据中心附加一个已经存在的导出域
过程 3.8. 为数据中心附加一个已经存在的导出域
- 点数据中心资源标签页,选择所需的数据中心。
- 详情框中的存储标签页列出了已经被附加到这个数据中心的存储域。
- 点附加导出打开附加导出域窗口。
- 选择相应的导出域。
- 点确定。
3.6.4. 从数据中心中分离一个存储域
注意
过程 3.9. 从数据中心中分离一个存储域
- 点数据中心资源标签页,选择所需的数据中心。
- 在详情框中选存储标签页列出附加到这个数据中心的存储域。
- 选择要被分离的存储域。如果存储域处于
激活
状态,点维护打开维护存储域确认窗口。 - 点确定把存储域变为维护模式。
- 点分离打开分离存储确认窗口。
- 点确定。
3.6.5. 把存储域从维护状态激活
过程 3.10. 把存储域从维护状态激活
- 点数据中心资源标签页,选择所需的数据中心。
- 在详情框中选存储标签页列出附加到这个数据中心中的存储域。
- 选相应的存储域并点激活。
3.7. 数据中心和权限
3.7.1. 管理数据中心的系统权限
- 创建和删除数据中心的集群。
- 创建和删除数据中心的主机、虚拟机和池。
- 编辑数据中心中的虚拟机上的用户权限。
注意
3.7.2. 数据中心管理员角色介绍
下表描述了管理员角色,以及他们所具有的与数据中心管理相关的权限。
表 3.2. Red Hat Enterprise Virtualization 系统管理员角色
角色 | 权限 | 备注 |
---|---|---|
DataCenterAdmin | 数据中心管理员 | 可以使用、创建、删除和管理特定数据中心中除存储以外的所有物理和虚拟资源(包括集群、主机、模板和虚拟机)。 |
NetworkAdmin | 网络管理员 | 可以配置和管理特定数据中心的网络。数据中心网络管理员同时也继承了这个数据中心中的虚拟机的网络管理员权限。 |
3.7.3. 为资源分配一个管理员或用户
过程 3.11. 为资源分配一个用户角色
- 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
- 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
- 点添加。
- 在搜索栏中输入用户名后点执行。在搜索结果中选择相应的用户。
- 从要分配的角色:下拉列表中选择需要的角色。
- 点确定。
3.7.4. 从一个资源中删除一个管理员或用户角色
过程 3.12. 从一个资源中删除一个角色
- 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
- 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
- 选择您要从该资源中删除的用户。
- 点删除打开删除权限窗口来确认权限删除操作。
- 点确定。
第 4 章 集群
4.1. 集群介绍
图 4.1. 群集
4.2. 集群的任务
4.2.1. 创建一个新集群
过程 4.1. 创建一个新集群
- 选集群资源标签页。
- 点新建。
- 在下拉菜单中选择这个集群需要属于的数据中心。
- 为集群输入名称和描述。
- 从管理网络下拉列表中选择分配管理网络角色的网络。
- 从下来列表中选择 CPU 架构和 CPU 类型。它需要和要加入的主机中的最老 CPU 类型所处的 CPU 产品类相匹配,否则主机可能无法正常工作。
注意
对于 Intel 和 AMD CPU 类型,CPU 型号会以从老到新的逻辑顺序列出。如果集群中包括不同的 CPU 型号,则需要选择最老的。如需更多与 CPU 型号相关的信息,请参阅 https://access.redhat.com/solutions/634853。 - 从下拉列表中为集群选择兼容版本。
- 如果这个集群需要作为虚拟环境使用,选择启用 Virt 服务;如果这个集群需要提供 Gluster 节点,选择启用 Gluster 服务。您不能把 Red Hat Enterprise Virtualization Hypervisor 主机加入到一个支持 Gluster 服务的集群中。
- 或者也可以选择启用设置 VM 维护原因选项。它会在虚拟机被 Manager 关闭时显示一个原因输入项,管理员可以在这里输入维护的原因。
- 或者也可以选择启用设置主机维护原因选项。它会在主机被 Manager 关闭时显示一个原因输入项,管理员可以在这里输入维护的原因。
- 选择 /dev/random 源(Linux 提供的设备)或 /dev/hwrng 源(外部硬件设备)选项来为集群中的所有主机指定一个必须使用的随机数生成器设置。
- 使用优化标签页来为集群设置内存页共享的阈值,并可以为集群中的主机启动“CPU 线程处理”和“内存 ballooning”功能。
- 在 Resilience 策略标签页中选择虚拟机迁移规则。
- 另外,还可以在调度策略标签页中设置“调度策略”、“调动程序优化”、“启用信任的服务”、“启用 HA Reservation”并添加一个自定义序列号策略。
- 在控制台标签页中,您可以覆盖全局的 SPICE 代理设置,并指定这个集群中的主机所使用的 SPICE 代理地址。
- 在 Fencing 策略标签页中为集群启用或禁用 fencing 功能,并选择 fencing 选项。
- 点确定来创建集群,并打开新建集群 - 引导操作窗口。
- 引导操作窗口列出了这个集群需要配置的项。您可以现在就配置这些项,或选择以后再配置。您可以在任何时候通过选择集群并点引导操作键来对集群进行配置。
4.2.2. 新建集群和编辑集群窗口中的设置和控制介绍
4.2.2.1. 集群常规设置介绍
图 4.2. 新建集群窗口
表 4.1. 常规集群设置
项
|
描述/操作
|
---|---|
数据中心
|
包括集群的数据中心。在添加集群前,数据中心需要已被创建。
|
名称
|
集群的名称。它最长支持 40 个字符,可以包括大小写字母、数字、分号和下划线。集群的名字必须是唯一的。
|
描述 / 备注
| 集群的描述信息,以及额外的备注信息。我们推荐使用这个项,但它不是必需的。 |
管理网络
|
被分配为管理网络角色的逻辑网络。它的默认值是 ovirtmgmt。在已存在的网络中,只能通过详情框中的逻辑网络标签页中的管理网络按钮来更改管理网络。
|
CPU 架构 | 集群的 CPU 架构。有效的 CPU 类型由所选择的 CPU 结构决定。
|
CPU 类型
| 集群的 CPU 类型。可以是以下值之一:
|
兼容版本
| Red Hat Enterprise Virtualization 的版本值。可以是以下值中的一个:
|
启用 Virt 服务
| 如果选择了这一项,集群中的主机将被用来运行虚拟机。 |
启用 Gluster 服务
| 如果选择了这一项,这个集群中的主机将被用来作为 Red Hat Gluster Storage Server 节点,而不能运行虚拟机。另外,您也无法添加 Red Hat Enterprise Virtualization Hypervisor 主机到这个集群。 |
导入现有的 gluster 配置
|
这个选项只有在启用 Gluster 服务被选中时才有效。它允许您为 Red Hat Enterprise Virtualization Manger 导入一个已经存在的 Gluster 集群以及附加在它上面的主机。
被导入的集群中的主机需要以下设置:
|
启用设置虚拟机维护的理由 | 如果选择了这个选项,当集群中的虚拟机被 Manager 关闭时会出现一个“理由”项。您可以在这个项中输入进行维护的理由,当虚拟机被重启后,您所输入的理由信息将出现在系统的日志中。 |
启用设置虚拟机维护的理由 | 如果选择了这个选项,当集群中的主机被 Manager 关闭时会出现一个“理由”项。您可以在这个项中输入进行维护的理由,当主机被重启后,您所输入的理由信息将出现在系统的日志中。 |
所需的随机数生成器的源: |
如果下面的一个选择框被选择时,集群中的所有主机都必须包括这个设备。这可以把系统随机变化的程度值(entropy)从随机数生成器设备传递到虚拟机。
|
4.2.2.2. 优化设置介绍
表 4.2. 优化设置
项
|
描述/操作
|
---|---|
内存优化
|
|
CPU 线程
|
选择将线程作为内核选项将允许主机上所运行的处理器核的数量大于主机本身的处理器核的数量。
主机的线程可以被看做为处理器内核被虚拟机使用。例如,一个有 24 核,每个核有 2 个线程(共有 48 个线程)的主机上所运行的虚拟机可以有 48 个内核,并且在计算主机 CPU 负载时会和有 48 个内核的系统相比较。
|
内存 Balloon
|
选择启用内存 Balloon 优化选项后,在这个集群中的主机上所运行的虚拟机上将会启动“内存过度分配(memory overcommitment)” 功能。当这个功能被启动后,Memory Overcommit Manager (MoM) 在条件允许的情况下进行内存“气球操作”(Ballooning)。它的上限是每个虚拟机所保证具有的内存数量。
要使用内存气球(memory balloon),虚拟机需要有气球(balloon)设备以及相应的驱动器。在版本 3.2 及以上版本的集群中,每个虚拟机都包括了一个气球设备,除非这个设备已经被删除。当集群中的主机的状态变为
Up 时,就会收到一个气球协议更新。如果需要,可以在不需要改变状态的情况下在主机上手工更新气球策勒。如需了解相关信息,请参阅 第 4.2.5 节 “在一个集群的主机上更新 MoM 策略”。
需要注意的是,在一些情况下,气球操作可能会和 KSM 有冲突。当冲突发生时,MoM 将会试图通过调整气球的大小来减少冲突。另外,在一些情况下,气球可能会降低一个虚拟机的性能。因此,我们建议系统管理员谨慎使用内存气球优化技术。
|
KSM 控制
|
选择启用 KSM 将允许 MoM 在需要的情况下运行 Kernel Same-page Merging(KSM)。
|
4.2.2.3. Resilience 策略设置介绍
表 4.3. 主机失败状态的解释
状态
|
描述
|
---|---|
无法正常工作(Non Operational)
|
无法正常工作的主机可以和 Manager 进行通讯,但是有不正确的配置(如缺少了一个逻辑网络)。当主机变为无法正常工作的状态,它上面的虚拟机迁移操作将由集群的 resilience 策略决定。
|
无响应(Non Responsive)
|
无响应主机将无法和 Manager 进行通讯。如果一个主机成为无响应状态,在它上面的、带有高可用性功能的虚拟机会在集群中的其它主机上被重启。
|
表 4.4. Resilience 策略设置
项
|
描述/操作
|
---|---|
移植虚拟机
|
根据所定义的优先级迁移所有的虚拟机。
|
只移植高可用性虚拟机
|
只迁移高可用性虚拟机,从而避免增加不必要的主机负载。
|
不要移植虚拟机
| 不迁移虚拟机 |
4.2.2.4. 调度策略设置介绍
图 4.3. 调度策略设置:vm_evenly_distributed
表 4.5. 调度策略标签页属性
项
|
描述/操作
|
---|---|
选择策略
|
从下拉列表中选择一个策略。
|
属性
|
根据所选的策略,以下属性会被显示,并可以按需进行编辑:
|
调度程序优化
|
优化主机权重和顺序的调度。
|
启用信任的服务
|
启用和 OpenAttestation 服务器集成的功能。在使用这个功能前,用户需要先使用
engine-config 工具配置 OpenAttestation 服务器。
|
启用 HA Reservation
|
Manager 对集群中可以提供给高可用虚拟机的资源进行监控。Manager 需要保证,当那些高可用虚拟机所在的主机出现问题时,集群可以提供足够的资源来把那些高可用虚拟机迁移到其它主机上。
|
提供自定义序列号策略
|
您可以使用这个项为集群中的虚拟机指定一个序列号策略。使用以下选项之一:
|
自动聚合迁移
|
这个选项被用来指定在迁移集群中的虚拟机时是否进行自动聚合。带有大量负载的大型虚拟机会很快“弄脏”内存,这个速率会比实时迁移所能达到的传输速率更快,因此,迁移无法被聚合。QEMU 中的自动聚合功能允许您对虚拟机迁移进行强制聚合。QEMU 会自动检测到没有进行聚合,并在虚拟机上触发一个降低 vCPU 速度的操作的。在默认情况下,自动聚合被全局禁用。
|
启用迁移压缩
|
指定在迁移虚拟机的过程中是否进行压缩。这个功能会使用 Xor Binary Zero Run-Length-Encoding,它会缩短集群中那些运行需要大量写入内存的负载的虚拟机的下线时间,以及那些运行具有稀松内存更新特征的应用程序的虚拟机的下线时间。在默认情况下,迁移压缩被全局禁用。
|
mom.Controllers.Balloon - INFO Ballooning guest:half1 from 1096400 to 1991580
)会被记录在 /var/log/vdsm/mom.log
文件中。/var/log/vdsm/mom.log
是内存过度分配管理器(Memory Overcommit Manager)的日志文件。
4.2.2.5. 集群控制台设置介绍
表 4.6. 控制台设置
项
|
描述/操作
|
---|---|
为集群定义 SPICE 代理
|
选择这个项可以覆盖全局设置中对 SPICE proxy 的设置。当有用户需要从远程对虚拟机进行访问时,这个设置将非常有用。
|
覆盖 SPICE 代理地址
|
SPICE 客户端连接到虚拟机所使用的代理服务器。代理的地址格式是:
protocol://[host]:[port] |
4.2.2.6. fencing 策略设置介绍
表 4.7. fencing 策略设置介绍
项 | 描述/操作 |
---|---|
启用 fencing | 在集群中启用 fencing 功能。fencing 功能在默认的情况下被启用,但可以根据需要被禁用。例如,当预计要出现网络问题时,管理员可以临时禁用 fencing 功能。当问题解决后再重启启用它。请注意,当 fencing 被禁用后,在无响应的主机上运行的高可用虚拟机将无法在其它主机上重启。 |
如果主机在存储上有实时的租約,忽略 fencing 操作 | 如果选择了这个选项,集群中的所有没有响应的、仍然连接到存储的主机都不会进行 fence 操作。 |
在有连接问题的集群中忽略 fencing 操作 | 如果选择了这个选项,当集群中有连接问题的主机的百分比超过或等于 阈值 中所定义的值时,fencing 功能会被临时禁用。阈值的值可以从下拉列表中选择,有效值包括 25、50、75 和 100。 |
4.2.3. 编辑一个资源
编辑一个资源的属性。
过程 4.2. 编辑一个资源
- 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
- 点编辑打开编辑窗口。
- 编辑需要修改的属性并点确认。
新的属性值被保存。如果有不正确的属性值存在,编辑窗口将不会被关闭。
4.2.4. 集群中的主机负载和电源管理策略
过程 4.3. 为主机设置负载和电源管理策略
- 使用资源标签页、树形模式或搜索功能来找到并选择集群。
- 点编辑打开编辑集群窗口。
图 4.4. 编辑调度策略
- 选择以下策略中的一个:
- 无
- vm_evenly_distributed
- 在 HighVmCount 项中指定每个主机上可以运行的最多虚拟机的数量。
- 在 MigrationThreshold 项中指定可以接受的、具有最高利用率的主机上所运行的虚拟机数量和具有最低利用率的主机上所运行的虚拟机数量间的最大差距。
- 在 SpmVmGrace 项中定义在 SPM 主机上保留的可用虚拟机数。
- evenly_distributed
- 在 CpuOverCommitDurationMinutes 项中设置,当调度策略起作用前,一个主机可以在 CPU 负载超过利用率中所设置的值的情况下运行的最长时间(以分钟为单位)。
- 在 HighUtilization 项中输入虚拟机需要进行虚拟机迁移的 CPU 使用率的百分值。
- power_saving
- 在 CpuOverCommitDurationMinutes 项中设置,当调度策略起作用前,一个主机可以在 CPU 负载超过利用率中所设置的值的情况下运行的最长时间(以分钟为单位)。
- 在 LowUtilization 项中输入主机被认为处于没有被充分利用状态的 CPU 使用率的百分值。
- 在 HighUtilization 项中输入虚拟机需要进行虚拟机迁移的 CPU 使用率的百分值。
- 选择以下之一作为集群的 Scheduler Optimization 设置:
- 为使用进行优化:在调度中包括权重模块来做出最好的选择。
- 为速度进行优化:当有多于 10 个请求没有被处理时,忽略主机权重。
- 如果您使用 OpenAttestation 服务器来验证您的主机并使用
engine-config
命令对服务器进行了设置,选启用信任的服务选项。 - 也可以选择启用 HA 预留选项来使 Manager 为高可用性虚拟机监控集群的容量。
- 也可以选择提供自定义序列号策略选项来为集群中的虚拟机指定一个序列号,然后选择以下选项之一:
- Host ID:使用主机的 UUID 作为虚拟机的序列号。
- Vm ID:使用虚拟机的 UUID 作为它的序列号。
- Custom serial number:输入一个自定义序列号。
- 点确定。
4.2.5. 在一个集群的主机上更新 MoM 策略
过程 4.4. 在一个主机上同步 MoM 策略
- 点集群标签页,选择主机所属的集群。
- 在详情框中点主机标签页,选需要更新 MoM 策略的主机。
- 点同步 MoM 策略。
4.2.6. CPU 配置集
4.2.6.1. 创建一个 CPU 配置集
过程 4.5. 创建一个 CPU 配置集
- 点集群资源标签页并选择一个集群。
- 在详情框中点 CPU Profiles 子标签页。
- 点 New.
- 在 Name 项中输入 CPU 配置集的名称。
- 在 Description 项中输入 CPU 配置集的描述信息。
- 从 QoS 列表中选择应用到 CPU 配置集的服务质量。
- 点确定。
4.2.6.2. 删除 CPU 配置集
过程 4.6. 删除 CPU 配置集
- 点集群资源标签页并选择一个集群。
- 在详情框中点 CPU Profiles 子标签页。
- 选择需要删除的 CPU 配置集。
- 点删除。
- 点确定。
default
CPU 配置集。
4.2.7. 导入一个存在的 Red Hat Gluster Storage 集群
gluster peer status
命令会通过 SSH 在主机上运行,并显示集群上的主机列表。您需要手工验证每个主机的指纹信息并为它们提供密码。当集群中的某个主机已经被关闭,或因一些原因无法访问,您将无法导入这个集群。因为新导入的主机没有安装 VDSM,bootstrap 脚本会在主机被导入后为它们安装 VDSM 软件包,并重新启动这些主机。
重要
过程 4.7. 为 Red Hat Enterprise Virtualization Manager 导入一个存在的 Red Hat Gluster Storage 集群
- 选择集群资源页来在结果列表中列出所有的集群。
- 点新建打开新建集群窗口。
- 在下拉菜单中选择这个集群需要属于的数据中心。
- 输入集群的名称和描述值。
- 选启用 Gluster 服务和导入现有的 gluster 配置。导入现有的 gluster 配置选项只在您已经选择了启用 Gluster 服务选项后才会被显示。
- 在地址项中输入这个集群中的任何服务器的主机名或 IP 地址。检查主机的指印信息来保证您连接到了正确的主机。如果一个主机无法被访问或有网络错误,获取指印失败信息将会在指印项中被显示。
- 输入服务器的 Root 密码并点确认。
- 添加主机窗口会被打开,并列出这个集群所包括的主机。
- 为每个主机输入名称和 Root 密码。
- 如果您想为所有主机设定同一个密码,选择使用公共密码选项。点应用为所有主机设置密码。确认指纹信息,然后点确定提交您的改变。
4.2.8. 添加主机窗口中的设置介绍
表 4.8. 添加 Gluster 主机设置
项 | 描述 |
---|---|
使用公共密码 | 选择这个项可以为这个集群中的所有主机设定相同的密码。在密码项中输入您需要设置的密码,点应用来为所有主机设置密码。 |
名称 | 输入主机的名称 |
主机名/IP | 这个项的值会根据您在新建集群窗口中所提供的全称域名或 IP 地址自动生成。 |
Root 密码 | 在这个项中输入密码来为每个主机设定一个不同的密码。这个项中的值会覆盖集群中所设置的通用密码。 |
指纹 | 指纹信息可以确保您连接到了一个正确的主机。这个项的值会根据您在新建集群窗口中所提供的主机信息自动生成。 |
4.2.9. 删除一个集群
在删除一个集群前需要把所有主机移出这个集群。
注意
过程 4.8. 删除一个集群
- 使用资源标签页、树形模式或搜索功能来找到并选择集群。
- 确认这个集群中已经没有主机了。
- 点删除打开删除集群确认窗口。
- 点确定。
集群被删除。
4.2.10. 改变集群的兼容版本
注意
过程 4.9. 改变集群的兼容版本
- 在管理门户中,选集群标签页。
- 从显示的列表中选要修改的集群。
- 点 编辑。
- 把兼容版本改为您所需要的值。
- 点确定打开修改集群兼容性版本确认窗口。
- 点确定。
警告
4.3. 集群和权限
4.3.1. 为一个集群管理系统权限
- 创建和删除相关的集群。
- 创建和删除集群的主机、虚拟机和池。
- 编辑集群中的虚拟机上的用户权限。
注意
4.3.2. 集群管理员角色介绍
下表介绍了管理员角色,以及他们所具有的集群管理权限。
表 4.9. Red Hat Enterprise Virtualization 系统管理员角色
角色 | 权限 | 注记 |
---|---|---|
ClusterAdmin | 集群管理员 |
可以使用、创建、删除集群中的物理和虚拟资源(包括集群、主机、模板和虚拟机)。还可以配置集群中的网络,如指定显示网络、把网络标记为"必需的"或"非必需的"。
但是,ClusterAdmin 没有为一个集群添加和删除网络的权限。这个操作需要有 NetworkAdmin 的权限。
|
NetworkAdmin | 网络管理员 | 可以配置和管理集群中的网络。一个集群网络管理员同时也继承了这个集群中的虚拟机上的网络管理员权限。 |
4.3.3. 为资源分配一个管理员或用户
过程 4.10. 为资源分配一个用户角色
- 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
- 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
- 点添加。
- 在搜索栏中输入用户名后点执行。在搜索结果中选择相应的用户。
- 从要分配的角色:下拉列表中选择需要的角色。
- 点确定。
4.3.4. 从一个资源中删除一个管理员或用户角色
过程 4.11. 从一个资源中删除一个角色
- 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
- 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
- 选择您要从该资源中删除的用户。
- 点删除打开删除权限窗口来确认权限删除操作。
- 点确定。
第 5 章 逻辑网络
5.1. 逻辑网络任务
5.1.1. 使用网络标签页
- 为集群和主机关联或取消关联网络
- 从虚拟机和模板上删除网络接口
- 为用户添加和删除访问和管理网络的权限
警告
重要
- 目录服务
- DNS
- 存储
5.1.2. 在数据中心或集群中创建一个新的逻辑网络
过程 5.1. 在数据中心或集群中创建一个新的逻辑网络
- 点数据中心或集群资源标签页,在结果列表中选择一个数据中心或集群。
- 在详情框中选逻辑网络标签页列出所有已经存在的逻辑网络。
- 如果为数据中心创建逻辑网络,在详情框中点新建打开新建逻辑网络窗口。
- 如果为集群创建逻辑网络,在详情框中点添加网络打开新建逻辑网络窗口。
- 为这个逻辑网络输入名称、描述和注释。
- 另外,还可以选择在外部供应商中创建选项。从下拉列表中选外部供应商,为物理网络提供一个 IP 地址。如果选择了在外部供应商中创建,网络标签、VM 网络 和 MTU 选项将被禁用。
- 在网络标签项中为这个逻辑网络输入一个新的标签或为它选择一个已经存在的标签。
- 或选择启用 VLAN 标签选项。
- 或禁用 VM 网络。
- 把 MTU 的值设置为默认 (1500) 或自定义。
- 在集群标签页中,选择这个逻辑网络所要被分配到的集群。您还可以指定这个逻辑网络是否是一个“必需的”网络。
- 如果选择了在外部供应商上创建选项,子网标签页将出现。在子网标签页中,选择创建子网并输入子网的名称、CIDR和网关地址,并为逻辑网络将要提供的子网选项一个 IP 版本。您也可以根据需要添加 DNS 服务器。
- 在 vNIC 配置集标签页中为这个逻辑网据添加 vNIC 配置档案。
- 点确定。
注意
5.1.3. 编辑一个逻辑网络
过程 5.2. 编辑一个逻辑网络
重要
- 点数据中心资源标签页,在结果列表中选择逻辑网络的数据中心。
- 点详情框中的逻辑网络标签页列出这个数据中心里的所有逻辑网络。
- 选择一个逻辑网络,点编辑打开编辑逻辑网络窗口。
- 编辑相应的设置。
- 点确定保存您所做的修改。
注意
5.1.4. 删除一个逻辑网络
ovirtmgmt
管理网络。
过程 5.3. 删除逻辑网络
- 点数据中心资源标签页,在结果列表中选择逻辑网络的数据中心。
- 点详情框中的逻辑网络标签页列出这个数据中心里的所有逻辑网络。
- 选择需要删除的逻辑网络并点删除打开删除逻辑网络窗口。
- 另外,如果逻辑网络是由外部供应商提供的,您还可以选择也从提供者里删除外部网络选项来把所选择的逻辑网络从 Manager 和外部供应商中同时删除。
- 点确定。
5.1.5. 查看和编辑一个逻辑网络的网关设置
过程 5.4. 查看和编辑一个逻辑网络的网关设置
- 点主机标签页,选择所需的主机。
- 在详情框中点网络接口标签页列出和这个主机相关联的网络接口。
- 点设置主机网络打开设置主机网络窗口。
- 把鼠标移到被管理的逻辑网络上,点铅笔图标打开编辑管理网络窗口。
5.1.6. 新建逻辑网络和和编辑逻辑网络窗口里的设置和控制
5.1.6.1. 逻辑网络创建设置介绍
表 5.1. 新建逻辑网络和编辑逻辑网络设置
项
|
描述
|
---|---|
名称
|
逻辑网络的名字。它最长支持 15 个字符,可以包括大小写字母、数字、分号和下划线。逻辑网络的名字必须是唯一的。
|
描述
|
逻辑网络的描述。它最长不能超过 40 个字符。
|
注释
|
关于这个逻辑网络的注释。
|
在外部供应商上创建
|
如果您把一个 OpenStack 网络实例(instance)添加到 Manager 中作为一个外部供应商,您可以在它上面创建逻辑网络。
外部供应商 - 选择要创建逻辑网络的外部供应商。
|
启用 VLAN 标签
|
VLAN 标签(VLAN tagging)是一个网络安全功能,它为逻辑网络中的数据赋予了一个特征。使用 VLAN 标签的网络数据不能被没有相同特征的接口所读取。在逻辑网络中使用 VLAN 也可以使一个网络接口和多个有不同 VLAN 标签的逻辑网络相关联。当 VLAN 标签功能被启用时,在输入框中输入一个数值。
|
虚拟机网络
|
如果只有虚拟机使用这个网络,请选择这个选项。如果网络不会被虚拟机使用(如被用来作为存储所使用的网络),请不要选择这个选项。
|
MTU
|
选择默认把逻辑网络的最大传输单元(MTU)设为包括在括号 () 中的值,或使用自定义来为逻辑网络设置一个自定义的最大传输单元。您可以使用这个项来把您的新建逻辑网络的最大传输单元与这个逻辑网络的硬件接口所支持的最大传输单元进行匹配。当选择自定义选项时,为它输入一个数值。
|
网络标签
|
您可以为网络添加一个新标签,或从已经存在的标签中选一个。如果您选择了一个已经存在的标签,这个逻辑网络会被自动分配到所有具有这个标签的主机网络接口上。
|
5.1.6.2. 逻辑网络集群设置
表 5.2. 新建逻辑网络设置
项
|
描述
|
---|---|
附加/分离网络到/从集群
|
在一个数据中心中为集群附加或分离逻辑网络,并指定这个逻辑网络对于每个集群是否是“必需的”网络。
名称 - 使用这些设置的集群名。它的值不能被编辑。
附加全部 - 把逻辑网络附加到数据中心中的所有集群中,或从所有集群中删除。您也可以通过选择特定集群的附加选项把这个逻辑网络附加到集群中;或取消选择特定集群的附加选项来把这个逻辑网络从集群中删除。
所有必需的 - 指定这个逻辑网络是否对所有集群都是“必需的”网络。另外,您也可以把这个逻辑网设置为只对特定集群是“必需的”网络(选择/取消选择特定集群的必需的项)。
|
5.1.6.3. 逻辑网络 vNIC 配置集设置
表 5.3. 新建逻辑网络设置
项
|
描述
|
---|---|
vNIC 配置集
|
为逻辑网络指定一个或多个 vNIC 配置集。您可以通过点 vNIC 配置集旁的加号或减号键来为逻辑网络添加/删除 vNIC 配置集。其中第一个项被用来输入 vNIC 配置集的名字。
公共 - 设定这个配置集是否可以被所有用户使用。
QoS - 为 vNIC 配置文件指定一个 QoS 配置集。
|
5.1.7. 使用“管理网络”窗口为逻辑网络指定一个特定的网络类型
过程 5.5. 为逻辑网络指定网络类型
- 点集群资源标签页,从结果列表中选一个集群。
- 点详情框中的逻辑网络标签页列出这个集群中的所有逻辑网络。
- 点管理网络打开管理网络窗口。
图 5.1. 管理网络
- 选择适当的项。
- 点确定保存所做的改变并关闭窗口。
注意
5.1.8. 管理网络窗口中的设置介绍
表 5.4. 管理网络设置
项
|
描述/操作
|
---|---|
分配
|
把逻辑网络分配给集群中的所有主机。
|
必需的
|
标记为"必需的"网络需要一直保持正常运行,因为和它们相关联的主机需要这些网络才能正常工作。如果被标记为"必需的"网络因为一些原因无法正常工作,和它们相关联的主机也将无法正常工作。
|
虚拟机网络
| 如果一个逻辑网络被标识为"虚拟机网络",它被用来处理与虚拟机使用相关的网络流量。 |
显示网络
| 如果一个逻辑网络被标识为"显示网络",它被用来处理与 SPICE 和虚拟网络控制器相关的网络流量。 |
移植网络
| 如果一个逻辑网络被标识为"移植网络",它被用来处理与虚拟机和存储迁移相关的网络流量。 |
5.2. 虚拟网络接口卡
5.2.1. vNIC 配置集(VNIC Profile)介绍
5.2.2. 创建或编辑一个 vNIC 配置集
注意
过程 5.6. 创建或编辑一个 vNIC 配置集
- 点网络资源标签页,在结果中选择一个逻辑网络。
- 选详情框中的 vNIC 配置集标签页。如果您使用树形模式,您可以在结果列表中选择 vNIC 配置集。
- 点新建或编辑打开虚拟机接口配置集窗口。
图 5.2. 虚拟机接口配置集窗口
- 为配置集输入名称和描述。
- 从 QoS 列表中选择相关的服务质量策略。
- 设置端口镜像和允许所有用户使用这个配置集选项。
- 使用自定义属性下拉菜单(默认显示 Please select a key...)来选择一个自定义属性。并使用 + 和 - 按钮来添加或删除自定义属性。
- 点确定。
5.2.3. 虚拟机接口配置集窗口中的配置
表 5.5. 虚拟机接口配置集窗口
项
|
描述
|
---|---|
网络
|
可以使用这个 vNIC 配置集的网络列表。
|
名称
|
vNIC 配置集名。它可以包括大小写字母、数字、分号和下划线。文件名必须是唯一的,长度是 1 到 50 个字符。
|
描述 |
vNIC 配置集的描述。这个项可以是空,但我们推荐您为这个项输入相应的信息。
|
QoS |
这个 vNIC 配置集可用的网络服务质量(QoS)值。QoS 控制 vNIC 的网络流量。
|
端口镜像 |
启用/禁用端口镜像功能。端口镜像会把特定逻辑网络上的第 3 层网络流量复制到一个虚拟机的虚拟网络接口上。在默认情况下,这个选项不会被默认选择。如需了解更多相关信息,请参阅 技术参考指南 中的 Port Mirroring。
|
设备自定义属性 |
包括可以被这个 vNIC 配置文件使用的自定义属性下拉菜单。通过 + 和 - 键来添加或删除属性。
|
允许所有用户使用这个配置集 |
允许/禁止所有用户使用这个配置集。它在默认情况下被选择。
|
5.2.4. 删除 vNIC 配置集
过程 5.7. 删除 vNIC 配置集
- 点网络资源标签页,在结果中选择一个逻辑网络。
- 选详情框中的 vNIC 配置集标签页列出当前的 VNIC 配置集。如果您使用树形模式,您可以在结果列表中选择 vNIC 配置集。
- 选一个或多个配置文件,点删除打开删除虚拟机接口配置集窗口。
- 点确定删除配置集并关闭窗口。
5.2.5. 为 vNIC 配置档案分配安全组
注意
注意
# neutron security-group-list
过程 5.8. 为 vNIC 配置档案分配安全组
- 点网络标签页并在结果中选择一个逻辑网络。
- 在详情框中点 vNIC 配置集标签页。
- 点新建,或选一个存在的 vNIC 配置集后点编辑。虚拟机接口配置集窗口将会出现。
- 在自定义属性下拉菜单中选安全组。自定义属性下拉菜单为空则会应用默认安装设置:允许所有外向的网络流量,以及内部间的网络流量;禁止默认安全组以外的内向网络流量。请注意,如果在以后删除了安全组属性,已经被应用的安装组不会受到影响 。
- 在输入项中输入附加到 vNIC 配置集的安全组的 ID。
- 点确定。
5.2.6. vNIC 配置集的用户权限
过程 5.9. vNIC 配置集的用户权限
- 点网络标签页并在结果中选择一个逻辑网络。
- 点 vNIC 配置集资源页显示 vNIC 配置集。
- 在详情框中选权限标签页显示这个配置集当前的用户权限。
- 使用添加键打开为用户添加权限窗口;或使用删除键打开删除权限窗口。
5.3. 外部供应商网络
5.3.1. 从外部供应商(External Provider)上导入网络
过程 5.10. 从外部供应商上导入网络
- 点网络标签页。
- 点导入打开导入网络窗口。
图 5.3. 导入网络窗口
- 在网络供应商下拉列表中选一个外部供应商。供应商网络将会自动列出这个外部供应商所能提供的所有网络。
- 在供应商网络列表中选择要导入的网络,点下箭头标把这些网络移到要导入的网络列表中。
- 如果需要修改导入网络的名称,在名称栏中点网络名称,并进行修改。
- 在数据中心下拉列表中选择这个网络要被导入的数据中心。
- 另外,取消选择要导入的网络列表中的某个网络的允许所有选项来防止这个网络对所有的用户都有效。
- 点导入键。
重要
5.3.2. 使用外部供应商网络的限制
- 外部供应商所提供的逻辑网络只能作为虚拟机网络,而不能作为显示网络。
- 一个逻辑网络可以被导入多次,但只能被导入到不同的数据中心。
- 您不能在 Manager 上编辑外部供应商所提供的逻辑网络,您必须直接在提供这个逻辑网络的 OpenStack 网络实例上对它进行编辑。
- 和外部供应商所提供的逻辑网络相连的虚拟网络接口不支持端口镜像(Port mirroring)功能。
- 当有虚拟机正在使用外部供应商的逻辑网络时,这个供应商不能被从 Manager 中删除。
- 外部供应商所提供的网络不是“必需的”网络。因此,当对使用这些逻辑网络的集群进行调度时,并不会在选择主机的时候考虑这些网络的情况。用户需要自己保证这些网络在集群的主机上的可用性。
重要
重要
5.3.3. 配置子网和外部供应商的逻辑网
5.3.3.1. 在外部供应商提供的逻辑网络上配置子网
5.3.3.2. 为外部供应商的逻辑网络添加子网
过程 5.11. 为外部供应商的逻辑网络添加子网
- 点网络标签页。
- 选择需要添加子网的逻辑网络。
- 在详情框中点子网标签页。
- 点新建打开新建外部子网窗口。
图 5.4. 新建外部子网窗口
- 为新子网输入名称和 CIDR。
- 从 IP 版本菜单中选择 IPv4 或 IPv6。
- 点确定。
5.3.3.3. 从外部供应商所提供的逻辑网络上删除子网
过程 5.12. 从外部供应商所提供的逻辑网络上删除子网
- 点网络页。
- 选择需要删除子网的逻辑网络。
- 点详情框中的子网页。
- 选择要删除的子网。
- 点删除键后点确定。
5.4. 逻辑网络和权限
5.4.1. 管理一个网络的系统权限
- 创建、编辑和删除网络。
- 编辑网络配置,包括配置端口镜像。
- 为包括集群和虚拟机在内的资源关联或取消关联网络。
5.4.2. 网络管理员和网络用户角色权限介绍
下表介绍了网络管理员和网络用户的权限。
表 5.6. Red Hat Enterprise Virtualization 网络管理员和用户角色
角色 | 权利 | 注记 |
---|---|---|
NetworkAdmin | 数据中心、集群、主机、虚拟机或模板的网络管理员。当用户创建了一个网络时,这个用户会被自动赋予所创建网络的 NetworkAdmin 权限。 | 可以配置和管理一个特定数据中心、集群、主机、虚拟机或模板的网络。一个数据中心或集群的网络管理员会自动继承这个数据中心或集群中的虚拟机的网络权限。如果需要在一个虚拟机网络上配置网络镜像,请在网络上使用 NetworkAdmin 角色,而在虚拟机上使用 UserVmManager 角色。 |
VnicProfileUser | 虚拟机和模板的逻辑网络和网络接口用户 | 可以为特定的逻辑网络添加或删除网络接口。 |
5.4.3. 为资源分配一个管理员或用户
过程 5.13. 为资源分配一个用户角色
- 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
- 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
- 点添加。
- 在搜索栏中输入用户名后点执行。在搜索结果中选择相应的用户。
- 从要分配的角色:下拉列表中选择需要的角色。
- 点确定。
5.4.4. 从一个资源中删除一个管理员或用户角色
过程 5.14. 从一个资源中删除一个角色
- 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
- 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
- 选择您要从该资源中删除的用户。
- 点删除打开删除权限窗口来确认权限删除操作。
- 点确定。
5.5. 主机和网络
5.5.1. 刷新主机的能力
过程 5.15. 刷新主机能力
- 使用资源标签页、树形模式或搜索功能来找到一个主机并选择它。
- 点刷新能力键。
5.5.2. 编辑主机网络接口并为主机分配逻辑网络
重要
过程 5.16. 编辑主机网络接口并为主机分配逻辑网络
- 点主机标签页,选择所需的主机。
- 在详情框中点网络接口标签页。
- 点设置主机网络打开设置主机网络窗口。
- 要为一个物理主机网络接口添加一个逻辑网络,选择相应的逻辑网络,并把它们拖到物理主机网络接口旁的分配逻辑网络区中。或者,在逻辑网络上点鼠标右键,从下拉菜单中选一个网络接口。
- 配置逻辑网络:
- 把鼠标移到被管理的逻辑网络上,点铅笔图标打开编辑管理网络窗口。
- 选择引导协议:
- None,
- DHCP,或
- Static。如果您选择 Static,输入 IP、子网掩码和网关的值。
- 如果您需要配置一个网桥,在自定义属性下拉菜单中选 bridge_opts。输入一个关键字/值组合(格式是 [key]=[value],使用空格可以分隔多个组合)。下面是一组有效的关键字/值组合(您可以根据您的具体需要修改其中的值):
forward_delay=1500 gc_timer=3765 group_addr=1:80:c2:0:0:0 group_fwd_mask=0x0 hash_elasticity=4 hash_max=512 hello_time=200 hello_timer=70 max_age=2000 multicast_last_member_count=2 multicast_last_member_interval=100 multicast_membership_interval=26000 multicast_querier=0 multicast_querier_interval=25500 multicast_query_interval=13000 multicast_query_response_interval=1000 multicast_query_use_ifaddr=0 multicast_router=1 multicast_snooping=1 multicast_startup_query_count=2 multicast_startup_query_interval=3125
- 如果您的逻辑网络配置还没有和主机上的配置进行同步,请选择同步网络。在一个逻辑网络被同步前,它将不能被编辑或移到另外的接口上。
注意
满足以下条件之一的网络被认为没有被同步- VM 网络和物理主机网络不同。
- VLAN 标识符和物理主机网络不同。
- 逻辑网络设置了自定义 MTU,并和物理主机网络不同。
- 选择检查主机和 ovirt-engine 间的连接性来进行网络连接的检查;这个操作只有在主机处于维护模式时才有效。
- 选择保存网络配置来保持您所做的配置修改。
- 点确定。
注意
5.5.3. 为一个网络接口添加多个 VLAN
重要
过程 5.17. 为逻辑网络上的一个网络接口添加多个 VLAN
- 点主机资源标签页,在结果列表中选择启动了 VLAN 标签功能的逻辑网络所在集群中的一个主机。
- 在详情框中点网络接口标签页列出和这个数据中心相关联的物理网络接口。
- 点设置主机网络打开设置主机网络窗口。
- 把您的启用了 VLAN 标签功能的逻辑网拖到物理网络接口旁的分配的逻辑网络区。因为启动了 VLAN 标签功能,物理网络接口可以有多个逻辑网络和它相连。
- 要编辑逻辑网络,把您的鼠标拖到一个逻辑网络上,点铅笔图标打开编辑网络窗口。如果您的逻辑网络配置还没有和主机上的配置进行同步,请选择同步网络。选择引导协议:点确定。
- None,
- DHCP,
- Static,输入 IP 和子网掩码值。
- 点检验主机和 ovirt-engine 间的连接性执行网络检查。这个功能只在主机处于维护模式的情况下才有效。
- 选择保存网络设置
- 点 确定。
5.5.4. 为主机网络接口添加网络标签
过程 5.18. 为主机网络接口添加网络标签
- 点主机资源标签页,在结果列表中选择启动了 VLAN 标签功能的逻辑网络所在集群中的一个主机。
- 在详情框中点网络接口标签页列出和这个数据中心相关联的物理网络接口。
- 点设置主机网络打开设置主机网络窗口。
- 点标签,在 [新标签] 上点鼠标右键。为标签选择一个物理网络接口。
- 在标签项中为新标签输入一个名称。
- 点击确定。
5.5.5. Bonds
5.5.5.1. Red Hat Enterprise Virtualization 环境中的 bond(绑定)
- 要 bond 的设备是否已经带有了逻辑网络?
- 这些设备是否带有相兼容的逻辑网络?一个设备无法同时支持 VLAN 和非 VLAN 逻辑网络。
表 5.7. Bond 情况以及它们的结果
Bond 情况 | 结果 |
---|---|
NIC + NIC
|
创建新 Bond 窗口会被显示,您可以配置一个新的 bond 设备。
如果网络接口带有不兼容的逻辑网络,bond 操作将会失败。
|
NIC + Bond
|
NIC 被添加到 bond 设备中。如果 NIC 和 bond 所带的逻辑网络相互兼容,它们都会被添加到新创建的 bond 设备中。
如果 bond 设备带有不兼容的逻辑网络,bond 操作将会失败。
|
Bond + Bond
|
如果 bond 设备没有被附加到逻辑网络中,或被附加到兼容的逻辑网络中,一个新的 bond 设置会被创建。它会包括 bond 设备中的所有网络接口,以及它们所带有的所有逻辑网络。创建新 Bond 窗口会被显示,您可以对新 bond 进行配置。
如果 bond 设备带有不兼容的逻辑网络,bond 操作将会失败。
|
5.5.5.2. 绑定
重要
绑定模式
模式 0(round-robin policy)
- 传输的数据包会顺序使用网卡。它会首先使用绑定中的第一个有效的网卡,最后使用最后一个网卡。模式 0 提供了网络容错和网络负载均衡的功能,但它不能和网桥一起使用,因此与虚拟机逻辑网络不兼容。
模式 1(active-backup policy)
- 绑定中的一个网络接口被设置为活跃接口来处理网络数据,其它网络接口都为备份接口。如果活跃接口出现了问题,备份接口中的一个网络接口会成为活跃接口来继续处理网络数据。使用模式 1 的绑定设备的 MAC 地址只在一个端口上可见,这可以避免因为切换活跃接口所造成的 MAC 地址改变所带来的混淆。模式 1 提供了网络容错的功能。
模式 2(XOR policy)
- 模式 2(XOR policy)会对源和目标 MAC 地址进行 XOR 操作,所获得的结果再对“次要网卡”的数量进行取模。系统会根据最后所获得的结果来选择用来传输数据包的接口。它保证了对于每个目标 MAC 地址,相同的接口都会被选择。模式 2 提供了容错和负载均衡的功能。
模式 3(broadcast policy)
- 使用绑定中的所有网卡来传输数据包。它提供了网络容错的功能。
模式 4(IEEE 802.3ad policy)
- 模式 4(IEEE 802.3ad policy)会创建一个整合的组,这个组会共享网速和网络双工(duplex)设置。模式 4 会根据 IEEE 802.3ad 标准使用活动组中的所有网络接口。
模式 5(adaptive transmit load balancing policy)
- 模式 5 保证所有出站的网络流量会根据每个接口的负载进行分配,而所有入站的网络流量都被当前的接口所接收。如果用来接收网络流量的接口出现故障,另外一个网络接口会被指定来接收网络流量。因为模式 5 不能和网桥一起使用,所以它与虚拟机网络不兼容。
模式 6(adaptive load balancing policy)
- Mode 5 的功能再加上不需要特殊的网络交换要求的 IPv4 网络数据接收负载均衡功能。它在处理接收负载时使用 ARP。因为模式 6 不能与网桥一起使用,所以它与虚拟机逻辑网络不兼容。
5.5.5.3. 使用管理门户创建一个 Bond 设备
过程 5.19. 使用管理门户创建一个 Bond 设备
- 点主机资源标签页,在结果列表中选择主机。
- 在详情框中点网络接口标签页列出和这个主机相关联的物理网络接口。
- 点设置主机网络打开设置主机网络窗口。
- 选择并拖动一个设备到另一个设备上面后放开,创建新的 Bond 窗口会被打开。或者,在设备上点鼠标右键,从下拉菜单中选择另一个设备。如果设备不兼容(例如,一个是 VLAN 而另一个不是),bond 操作会失败,并显示可能的解决兼容问题的方法。
- 从下拉菜单中选择 Bond 名称和 Bonding 模式。bond 模式 1、2、4 和 5 可以被选择。其它的模式可以通过自定义选项进行设置。
- 点确定创建 bond 并关闭创建新的 Bond 窗口。
- 为新创建的 bond 设备分配一个逻辑网络。
- 另外,还可以选择验证主机和 ovirt-engine 间的连接性和保存网络配置。
- 点确认保存所做的设置并关闭设置主机网络窗口。
5.5.5.4. 主机接口中的自定义 bond 选项的使用实例
例 5.1. xmit_hash_policy
mode=4 xmit_hash_policy=layer2+3
例 5.2. ARP 监测
arp_interval
:
mode=1 arp_interval=1 arp_ip_target=192.168.0.2
例 5.3. 主接口
mode=1 primary=eth0
5.5.6. 修改主机的 FQDN
过程 5.20. 更新 Hypervisor 主机的 FQDN
- 把 Hypervisor 设置为维护模式从而使虚拟机被在线迁移到另外的 hypervisor。如需了解更多相关信息,请参阅 第 6.5.6 节 “把主机设为维护模式(Maintenance Mode)”。或者,手工关闭并迁移所有虚拟机,相关信息可以从 Manually Migrating Virtual Machines 获得。
- 点删除后点确定把主机从管理门户中删除。
- 基于 RHEL 的主机:
- Red Hat Enterprise Linux 6:编辑
/etc/sysconfig/network
文件,更新主机的主机名并保存。# vi /etc/sysconfig/network HOSTNAME=NEW_FQDN
- Red Hat Enterprise Linux 7:使用 hostnamectl 更新主机名。如需了解更新相关信息,请参阅 Red Hat Enterprise Linux 7 Networking Guide 中的相关章节( Configure Host Names)。
# hostnamectl set-hostname NEW_FQDN
- Red Hat Enterprise Virtualization Hypervisors(RHEV-H):在文本用户界面中,选择 Network 界面,点右方向键,在 Hostname 项中输入新主机名。选择 <Save> 并按 Enter。
- 重启主机。
- 在 Manager 中重新注册主机。相关信息包括在安装指南的相关章节中(Manually Adding a Hypervisor from the Administration Portal)。
5.5.7. 修改 Red Hat Enterprise Virtualization Hypervisor(RHEV-H)的 IP 地址
过程 5.21.
- 把 Hypervisor 设置为维护模式从而使虚拟机被在线迁移到另外的 hypervisor。如需了解更多相关信息,请参阅 第 6.5.6 节 “把主机设为维护模式(Maintenance Mode)”。或者,手工关闭并迁移所有虚拟机,相关信息可以从 Manually Migrating Virtual Machines 获得。
- 点删除后点确定把主机从管理门户中删除。
- 以
admin
用户身份登录到 Hypervisor。 - 点 F2,选择 OK,按 Enter 进入 rescue 环境。
- 通过编辑
/etc/sysconfig/network-scripts/ifcfg-ovirtmgmt
文件来修改 IP 地址。例如:# vi /etc/sysconfig/network-scripts/ifcfg-ovirtmgmt ... BOOTPROTO=none IPADDR=10.x.x.x PREFIX=24 ...
- 重启网络服务,检查 IP 地址已被更新。
- Red Hat Enterprise Linux 6:
# service network restart
# ifconfig ovirtmgmt
- Red Hat Enterprise Linux 7:
# systemctl restart network.service
# ip addr show ovirtmgmt
- 输入
exit
退出 rescue 环境,返回到文本用户界面。 - 在 Manager 中重新注册主机。相关信息包括在安装指南的相关章节中(Manually Adding a Hypervisor from the Administration Portal)。
第 6 章 主机
6.1. Red Hat Enterprise Virtualization 主机介绍
- 只能属于系统中的一个集群。
- 必须使用支持 AMD-V 或 Intel VT 硬件虚拟化扩展模块的 CPU。
- 使用的 CPU 必须支持在创建集群时选择的虚拟 CPU 类型所具有的所有功能。
- 最少需要 2GB 内存。
- 需要分配一个有系统权限的系统管理员。
6.2. Red Hat Enterprise Virtualization Hypervisor 主机
重要
6.3. Foreman 主机供应商提供的主机
重要
6.4. Red Hat Enterprise Linux 主机
Red Hat Enterprise Linux Server
权利和 Red Hat Enterprise Virtualization
权利。
6.5. 主机任务
6.5.1. 添加 Foreman 主机供应商所提供的主机
添加 Foreman 主机供应商所提供的主机的过程和添加 Red Hat Enterprise Linux 主机的过程几乎完全一样,只是主机在 Manager 上的识别方法有所不同。以下介绍了添加 Foreman 主机供应商所提供的主机方法。
过程 6.1. 添加 Foreman 主机供应商所提供的主机
- 点主机资源标签页显示主机列表。
- 点新建打开新建主机窗口。
- 使用数据中心和主机集群下拉菜单为这个新主机选择数据中心和主机集群。
- 选使用 Foreman 主机供应商显示添加 Foreman 主机供应商所提供的主机的选项。 选择提供主机的供应商。
- 选择发现的主机或提供的主机。
- 发现的主机(默认选项):从下拉列表中选主机、主机组和计算资源。
- 提供的主机:从供应商主机下拉列表中选择一个主机。
所添加的主机详情会从外部供应商中自动获得,您可以根据需要对它们进行编辑。 - 为新主机输入名称、 地址和 SSH 端口(只适用于提供的主机)信息。
- 选择使用这个主机的身份验证机制。
- 输入 root 用户的密码。
- 把 SSH PublicKey 项中的密钥复制到主机的
/root/.ssh/authorized_hosts
文件中来使用公共密钥进行验证(只适用于提供的主机)。
- 您已经完成了添加 Red Hat Enterprise Linux 主机的必要步骤。点高级参数键可以进行其它的高级设置。
- 您可以禁用自动防火墙配置功能。
- 您可以禁用 JSON 协议。
- 您可以添加一个主机 SSH 指纹来增加系统的安全性。您可以手工添加它,也可以使用自动获取功能来自动添加它。
- 您可以通过相应的页配置电源管理和 SPM、控制台和网络供应商。因为这些操作并不是添加一个 Red Hat Enterprise Linux 主机的必要步骤,我们将不在这里进行详细介绍。
- 点确定添加主机并关闭窗口。
新的主机在主机列表中被显示,状态是 Installing
,您可以在详情框中查看安装的进程。当安装完成后,状态会被更新为 Reboot
。当状态变为 Up
时,这个新主机就被完全激活了。
6.5.2. 新建主机和编辑主机窗口中的设置和控制介绍
6.5.2.1. 主机常规设置介绍
表 6.1. 常规设置
项
|
描述
|
---|---|
数据中心
|
主机所在的数据中心。Red Hat Enterprise Virtualization Hypervisor 主机不能被添加到启用了 Gluster 的集群中。
|
主机集群
|
主机所在的集群。
|
使用 Foreman 主机外部供应商
|
显示/隐藏添加 Foreman 主机供应商所提供的主机选项。它包括以下选项:
发现的主机
提供的主机
|
名称
|
集群的名称。它最多支持 40 个字符,可以包括大小写字母、数字、分号和下划线。集群的名称必须是唯一的。
|
注释
|
输入与主机相关的备注
|
地址
|
IP 地址或主机的主机名。
|
密码
|
主机上的 root 用户密码。这个密码只能在添加主机时设置,以后将不能被更改。
|
SSH 公共密钥
|
用户可以使用 Manager 的 ssh 密钥而不是密码来进行主机验证。用户只需把这个项中的内容复制到主机的
/root/.known_hosts 文件中。
|
自动配置的主机防火墙
|
当添加一个新主机时,Manager 将在默认的情况下在主机的防火墙中打开所需的端口。这是一个高级参数。
|
使用 JSON 协议
|
一个高级参数,在默认的情况下被启用。
|
SSH 指印
|
您可以获取主机的 SSH 指纹信息进行比较,从而确定它和您所需要的主机的指纹信息相同。这是一个高级参数。
|
6.5.2.2. 主机电源管理设置介绍
表 6.2. 电源管理设置
项
|
描述
|
---|---|
启用电源管理
|
在主机上启用电源管理。选择这个选项将会使电源管理标签页中的其它项可用。
|
Kdump 集成
|
在进行内核 crash dump 时防止主机隔离(fencing)的发生,从而可以避免 crash dump 被中断。从 Red Hat Enterprise Linux 6.6 和 7.1 开始,在默认情况下都可以使用 kdump。如果主机上包括了 kdump,但它没有被正确配置(kdump 服务无法被启动),使用 Kdump 集成选项会导致主机安装(或重新安装)失败。如果出现这个问题,请参阅 第 6.6.4 节 “fence_kdump 高级配置”。
|
禁用电源管理的策略控制
|
电源管理被主机所在集群的调度策略所控制。在电源管理被启用时,如果主机的利用率低于所设置的低利用率值,这个主机就会被 Manager 关闭。当集群中没有足够的可用主机或负载均衡设置需要新的主机时,这个被关闭的主机会被重新启动。如果您不希望您的主机自动进行这些操作,选中这个选项。
|
顺序的代理
|
列出主机的隔离代理。隔离代理可以是顺序的、并行的或两者相结合。
在默认情况下,隔离代理被顺序使用。使用向上或向下按钮来调整隔离代理被使用的顺序。
为了使两个隔离代理并行使用,在一个隔离代理旁的 Concurrent with 下拉菜单中选择需要和它一起并行使用的另一个隔离代理。另外,隔离代理也可以被加入到一组并行的隔离代理中来一起使用(在要添加的隔离代理旁的 Concurrent with 下拉列表中选择隔离代理组。
|
添加隔离代理
|
点加号(+)按钮添加新的隔离代理,编辑隔离代理窗口会被打开。后面的表格介绍了这个窗口中的设置信息。
|
Power Management Proxy Preference
|
在默认情况下,Manager 会在主机所在的同一个集群中搜索隔离代理,如果没有找到,则会在同一个 dc(数据中心)中进行搜索。使用向上和向下按钮来调整这些资源使用的顺序。这个项包括在高级参数中。
|
表 6.3. 编辑隔离代理设置
项
|
描述
|
---|---|
地址
|
主机电源管理设备的访问地址。它可以是一个主机名或是一个 IP 地址。
|
用户名
|
用来访问电源管理设备的用户帐号名。您可以在设备上创建一个用户,也可以使用默认的用户。
|
密码
|
用来访问电源管理设备的用户密码。
|
类型
|
主机电源管理设备的类型。
选择以下类型之一:
|
SSH 端口
|
电源管理设备与主机进行交流所使用的端口号。
|
Slot
|
用来识别电源管理设备刀片的 Slot 号。
|
Service Profile
|
用来识别电源管理设备刀片的服务档案名。当设备类型是
cisco_ucs 时,会显示这个项,而不是显示 Slot 项。
|
选项
|
电源管理设备的特定选项。它们的格式是 'key=value'。请参阅您的主机电源管理设备的相关文档来获得这些参数的详细信息。
对于 Red Hat Enterprise Linux 7 主机,如果使用 cisco_ucs 作为电源管理设备,则需要把
ssl_insecure=1 附加到选项项中。
|
安全性
|
使用这个选项可以使电源管理设备和主机进行安全的通信。根据电源管理代理,电源管理设备和主机间的安全通信可能使用 ssh、ssl 或其它身份验证协议。
|
6.5.2.3. SPM 优先级设置介绍
表 6.4. SPM 设置
项
|
描述
|
---|---|
SPM 优先级
|
定义一个主机获得 Storage Pool Manager(SPM) 角色的可能性。这个选项的值包括低、正常和高。低优先级意味着这个主机被分配为 SPM 角色的机会比较低,而高优先级意味着这个主机被分配为 SPM 角色的机会比较高。
|
6.5.2.4. 主机控制台设置介绍
表 6.5. 控制台设置
项
|
描述
|
---|---|
覆盖显示地址
|
选中这个项会覆盖主机的显示地址。当主机使用内部 IP 地址,并处于一个 NAT 防火墙后面时,这个选项将会非常有用。当一个用户从内部网络之外的网络连接到一个虚拟机的时候,这个虚拟机会返回一个公共的 IP 或 FQDN(通过外部的网络解析获得公共 IP),而不是虚拟机所在的主机的内部地址。
|
显示地址
|
这里设定的地址会被所有在这个主机上运行的虚拟机所使用。
|
6.5.3. 配置主机电源管理设置
重要
维护模式
,否则这个主机上所运行的虚拟机都会非正常停止工作,从而造成生产环境出现问题。如果您的主机没有处于维护模式
,一个警告信息会被显示。
过程 6.2. 配置电源管理配置
- 在主机标签页中,从结果列表中选择主机。
- 点编辑打开编辑主机窗口。
- 点电源管理标签页显示电源管理设置。
- 选中启用电源管理选项来使其它选项可用。
- 选择 Kdump 集成选择可以防止在发生内核 crash dump 时,主机进行隔离(fencing)操作。
重要
如在已存在的主机上启用 Kdump 集成选项,则需要重新安装这些主机来配置 kdump。详情请参阅 第 6.5.9 节 “重新安装虚拟主机”。 - 或者,如果不希望主机所在集群的调度策勒控制主机的电源管理,则选择禁用电源管理的策略控制。
- 点加号(+)按钮来添加新的电源管理设备。编辑隔离代理窗口会被打开。
- 在相关的项中输入电源管理设备的地址、用户名和密码。
- 从下拉列表中选择电源管理设备的类型。
- 输入电源管理设备用来和主机进行交流所使用的 SSH 端口号。
- 输入用来识别电源管理设备刀片的 Slot 号。
- 为电源管理设备输入选项。使用逗号分隔多个选项,选项的格式是 'key=value'。
- 选择安全性选择框来使电源管理设备通过安全的方法和主机进行交流。
- 点测试来测试电源管理设备。如果测试成功,Test Succeeded, Host Status is: on 将会被显示。
- 点确定关闭编辑隔离代理窗口。
- 在电源管理标签页中,还可以展开高级参数项,使用向上或向下按钮来指定 Manager 搜索主机的集群和dc(datacenter)作为隔离代理的顺序。
- 点确定。
6.5.4. 配置主机存储池管理器(Storage Pool Manager)设置
过程 6.3. 配置 SPM 设置
- 点主机资源标签页,在结果列表中选择一个主机。
- 点编辑打开编辑主机窗口。
- 点 SPM 标签页显示 SPM 优先级的设置。
- 为主机选择所需要的 SPM 优先级。
- 点确认保存设置并关闭窗口。
6.5.5. 编辑一个资源
编辑一个资源的属性。
过程 6.4. 编辑一个资源
- 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
- 点编辑打开编辑窗口。
- 编辑需要修改的属性并点确认。
新的属性值被保存。如果有不正确的属性值存在,编辑窗口将不会被关闭。
6.5.6. 把主机设为维护模式(Maintenance Mode)
过程 6.5. 把主机设置为维护模式
- 点主机标签页,选择所需的主机。
- 点维护打开维护主机确认窗口。
- 另外,还可以在维护主机确认窗口中输入把主机设置为维护模式的原因。您可以输入进行维护的理由,它会被记录在日志中,并在主机被重新激活后显示这个信息。
注意
主机维护的原因项只有在它在集群设置中被启用时才会出现。相关信息,请参阅 第 4.2.2.1 节 “集群常规设置介绍”。 - 点确定把存储域变为维护模式。
Preparing for Maintenance
,并在所有操作进行完后变为 Maintenance
。当主机位于维护模式时,VDSM 不会停止。
注意
6.5.7. 激活处于维护模式的主机
过程 6.6. 激活处于维护模式的主机
- 点主机标签页,选择要升级的主机。
- 点激活。
Unassigned
,在所有操作完成后变为 Up
。虚拟机现在可以在这个主机上运行。当主机被激活后,那些以前因为主机处于维护模式而被迁移到其它主机上的虚拟机不会被自动迁移回这个主机,您可以手工把它们迁移回来。如果主机在被设置为维护模式前是存储池管理器(SPM),在主机被激活后,不会自动成为 SPM 角色。
6.5.8. 删除一个主机
过程 6.7. 删除一个主机
- 在管理门户中,点主机资源标签页,在结果列表中选择主机。
- 把主机设为维护模式
- 点删除打开删除主机确认窗口。
- 如果主机是 Red Hat Gluster Storage 集群中的一部分,并有磁盘卷数据块时;或主机没有响应时,使用强制删除选项来强制删除主机。
- 点确定。
6.5.9. 重新安装虚拟主机
重要
过程 6.8. 重新安装 Red Hat Enterprise Virtualization Hypervisor 和 Red Hat Enterprise Linux 主机
- 使用主机资源标签页、树形模式或搜索功能来找到并选择主机。
- 点维护按钮。如果在集群一级启用了迁移功能,所有在它上面运行的虚拟机会被迁移到其它主机上。如果这个主机是 SPM,SPM 的功能也会被迁移到其它主机上。当主机进入维护模式时,它的状态将会改变。
- 点重新安装打开安装主机窗口。
- 点确定重新安装主机。
重要
6.5.10. 使用标签(Tag)来自定义主机
用户可以使用标签(Tag)来存储主机的信息,并根据标签来对主机进行搜索。
过程 6.9. 使用标签来自定义主机
- 使用主机资源标签页、树形模式或搜索功能来找到并选择主机。
- 点分配标签打开分配标签窗口。
图 6.1. 分配标签窗口
- 分配标签窗口列出了所有可用的标签。选择需要的标签。
- 点确定来为主机分配一个标签并关闭窗口。
您为主机添加了可以被用来进行搜索的标签。
6.6. 主机弹性
6.6.1. 主机高可用性
6.6.2. 在 Red Hat Enterprise Virtualization 环境中使用代理进行电源管理
- 需要隔离功能的主机所在的同一个集群中的任何主机。
- 需要隔离功能的主机所在的同一个数据中心中的任何主机。
6.6.3. 在主机上设置隔离(fencing)参数
过程 6.10. 在一个主机上设置隔离参数
- 使用主机资源标签页、树形模式或搜索功能来找到并选择主机。
- 点编辑打开编辑主机窗口。
- 点电源管理标签页。
图 6.2. 电源管理设置
- 选中启用电源管理选项来使其它选项可用。
- 选择 Kdump 集成选择可以防止在发生内核 crash dump 时,主机进行隔离(fencing)操作。
重要
如果您在已经存在的主机上启用 Kdump 集成选项,您需要在重新安装这些主机来配置 kdump。详情请参阅 第 6.5.9 节 “重新安装虚拟主机”。 - 或者,如果不希望主机所在集群的调度策勒控制主机的电源管理,则选择禁用电源管理的策略控制。
- 点加号(+)按钮来添加新的电源管理设备。编辑隔离代理窗口会被打开。
图 6.3. 编辑隔离代理
- 在相关的项中输入电源管理设备的地址、用户名和密码。
- 从下拉列表中选择电源管理设备的类型。
注意
在 Red Hat Enterprise Virtualization 3.5 和以上版本中,您可以使用自定义的电源管理设备。如果更多关于如何设置自定义电源管理设备的信息,请参阅 https://access.redhat.com/articles/1238743。 - 输入电源管理设备用来和主机进行交流所使用的 SSH 端口号。
- 输入用来识别电源管理设备刀片的 Slot 号。
- 为电源管理设备输入选项。使用逗号分隔多个选项,选项的格式是 'key=value'。
- 选择安全性选择框来使电源管理设备通过安全的方法和主机进行交流。
- 点测试来测试电源管理设备。如果测试成功,Test Succeeded, Host Status is: on 将会被显示。
警告
电源管理的参数(userid、password、options 等) 只在设置 Red Hat Enterprise Virtualization Manager 时被测试,或在设置后通过手动进行测试。如果您忽略了关于不正确参数的提示信息,或电源管理硬件设备的参数有变化而您没有在 Red Hat Enterprise Virtualization Manager 中进行相应的修改,当系统需要隔离操作时,隔离操作很可能会失败。 - 点确定关闭编辑隔离代理窗口。
- 在电源管理标签页中,还可以展开高级参数项,使用向上或向下按钮来指定 Manager 搜索主机的集群和dc(datacenter)作为隔离代理的顺序。
- 点确定。
6.6.4. fence_kdump 高级配置
在 Red Hat Enterprise Linux 6.6 和 7.1 的主机和 Hypervisor 上默认提供了 kdump 服务。在其它老的主机上,Kdump 集成选项不能被启用 ,这些主机需要被升级后才可以使用这个功能。
- 启用:kdump 被正确配置,并正在运行。
- 禁用:kdump 服务没有运行(kdump 集成功能不能正常工作)。
- 未知:只会在老的、不会报告 kdump 状态的主机上发生。
在新建主机或编辑主机窗口中,选择电源管理标签页,启用 Kdump 集成选项来配置标准的 fence_kdump 设置。如果环境的网络设置比较简单,Manager 的 FQDN 可以被所有主机解析到,默认的 fence_kdump 设置应该就可以正常工作。
engine-config
命令):
engine-config -s FenceKdumpDestinationAddress=A.B.C.D
- Manager 有两个网卡,其中的一个是可以被公共网络连接的,而另外一个是 fence_kdump 信息发送的首选目的地。
- 您需要在一个不同的 IP 地址或端口上执行 fence_kdump listener。
- 为了防止数据包的丢失,您需要设置一个自定义的 fence_kdump 通知信息间隔时间。
6.6.4.1. fence_kdump listener 配置
过程 6.11. 手工配置 fence_kdump Listener
- 在
/etc/ovirt-engine/ovirt-fence-kdump-listener.conf.d/
中创建一个文件(例如,my-fence-kdump.conf
)。 - 使用 OPTION=value 的格式输入您的自定义配置,并保存文件。
重要
被编辑的值同时也需要在engine-config
中进行修改(请参阅 fence_kdump listener 配置选项表,第 6.6.4.2 节 “在 Manager 上配置 fence_kdump”)。 - 重新启动 fence_kdump listener:
# service ovirt-fence-kdump-listener restart
表 6.6. fence_kdump listener 配置选项
变量 | 描述 | 默认值 | 注意 |
---|---|---|---|
LISTENER_ADDRESS | 指定接收 fence_kdump 信息的 IP 地址。 | 0.0.0.0 | 如果这个参数的值被改变,它必须和 engine-config 中的 LISTENER_PORT 值相匹配。 |
LISTENER_PORT | 指定接收 fence_kdump 信息的端口。 | 7410 | 如果这个参数的值被改变,它必须和 engine-config 中的 FenceKdumpDestinationPort 值相匹配。 |
HEARTBEAT_INTERVAL | 指定 listener 的"心跳" 更新的间隔时间(以秒为单位)。 | 30 | 如果这个参数的值被改变,它必须不大于 engine-config 中的 FenceKdumpListenerTimeout 值的一半。 |
SESSION_SYNC_INTERVAL | 在内存和数据库间同步 listener 的主机 kdump 会话的间隔时间(以秒为单位)。 | 5 | 如果这个参数的值被改变,它必须不大于 engine-config 中的 KdumpStartedTimeout 值的一半。 |
REOPEN_DB_CONNECTION_INTERVAL | 重新尝试打开以前无效的数据库连接的间隔时间。 | 30 | - |
KDUMP_FINISHED_TIMEOUT | 当主机的 kdump 已被标记为 FINISHED 后,最后一次接收从 kdumping 主机发送的信息的最大超时时间(以秒为单位)。 | 60 | 如果这个参数的值被改变,它必须不小于 engine-config 中的 FenceKdumpMessageInterval 的值的两倍。 |
6.6.4.2. 在 Manager 上配置 fence_kdump
# engine-config -g OPTION
过程 6.12. 使用 engine-config 手工配置 Kdump
- 使用
engine-config
命令编辑 kdump 的配置:# engine-config -s OPTION=value
重要
被编辑的值同时需要在 fence_kdump listener 的配置文件中修改(请参阅Kdump 配置选项
第 6.6.4.1 节 “fence_kdump listener 配置”)。 - 重新启动
ovirt-engine
服务:# service ovirt-engine restart
- 如果需要,重新安装所有启用了Kdump 集成选项的主机(请参阅以下的表格) 。
engine-config
进行配置:
表 6.7. Kdump 配置选项
变量 | 描述 | 默认值 | 备注 |
---|---|---|---|
FenceKdumpDestinationAddress | 指定 fence_kdump 信息要被发送到的系统的主机名或 IP 地址。如果为空,Manager 的 FQDN 会被使用。 | 空(Manager 的 FQDN 被使用) | 如果这个参数的值被改变,它必须和 fence_kdump listener 配置文件中的 LISTENER_ADDRESS 值相匹配,所有启用了 Kdump 集成的主机都需要被重新安装。 |
FenceKdumpDestinationPort | 指定 fence_kdump 信息要被发送到的端口。 | 7410 | 如果这个参数的值被改变,它必须和 fence_kdump listener 配置文件中的 LISTENER_PORT 值相匹配,所有启用了 Kdump 集成的主机都需要被重新安装。 |
FenceKdumpMessageInterval | 指定 fence_kdump 发送信息的间隔时间(以秒为单位)。 | 5 | 如果这个参数的值被改变,它必须不大于 fence_kdump listener 配置文件中的 KDUMP_FINISHED_TIMEOUT 值的一半,所有启用了 Kdump 集成的主机都需要被重新安装。 |
FenceKdumpListenerTimeout | 指定认为 fence_kdump listener 处于运行状态的最大“心跳”超时时间(以秒为单位)。 | 90 | 如果这个参数的值被改变,它必须不小于 fence_kdump listener 配置文件中的 HEARTBEAT_INTERVAL 值的两倍。 |
KdumpStartedTimeout | 指定接收从 kdump 主机发出的第一个信息(认为主机 kdump 已开始)的最大等待超时时间(以秒为单位)。 | 30 | 如果这个参数的值被改变,它必须不小于 fence_kdump listener 配置文件中的 SESSION_SYNC_INTERVAL 值和 FenceKdumpMessageInterval 值的两倍。 |
6.6.5. Soft-Fencing 主机
- 在网络出现第一次失败时,主机的状态变为 "connecting"。
- Manager 然后会尝试 3 次向 VDSM 询问它的状态,或根据主机的负载等待一段时间。这个等待的时间是通过以下公式计算的:TimeoutToResetVdsInSeconds(默认值是 60 秒)+ [DelayResetPerVmInSeconds(默认值是 0.5 秒)]*(在主机上运行的虚拟机的数量)+ [DelayResetForSpmInSeconds(默认值是 20 秒)] * 1(如果主机是 SPM)或 0(如果主机不是 SPM)。为了留给 VDSM 最大的响应时间,Manager 会选择以上两个操作所需的最长时间。
- 如果在所需要的间隔时间后主机还没有响应,
vdsm restart
命令会通过 SSH 执行。 - 如果
vdsm restart
命令无法在主机和 Manager 间重新创建连接,主机的状态将变为Non Responsive
,如果电源管理被配置,外部的隔离代理(external fencing agent)将会进行相应的隔离操作。
注意
6.6.6. 使用电源管理功能
当电源管理功能在一个主机上被配置后,您可以通过管理门户界面进行相关的操作。虽然不同的电源管理设备可以进行不同的操作,但是它们都支持基本的操作,如启动、关闭和重新启动一个主机。
过程 6.13. 使用电源管理功能
- 使用主机资源标签页、树形模式或搜索功能来找到并选择主机。
- 点电源管理下拉菜单。
- 选择以下的选项之一:
- 重启:这个选项会关闭所有的主机并等待主机的状态变为
Down
。当代理已经确认主机的状态已经变为 down,高可以性虚拟机已经在集群中的其它主机上被重新启动后,它会重新启动这个主机。当主机启动后,它的状态变为Up
。 - 启动:这个选项会启动主机并把它加入到一个集群中。当主机启动后,它的状态变为
Up
。 - 停止:这个选项会关闭主机。在使用这个选项前,您需要确保在这个主机上运行的虚拟机已经被迁移到集群中的其它主机上。否则,所有的虚拟机都会出现问题,只有那些设置为高可用性的虚拟机会在其它主机上被重新启动。当主机被关闭后,它的状态变为
Non-Operational
。
重要
如果在一个主机上定义了两个隔离代理(fencing agent),它们可以被“同时”使用,也可以被“相继”使用。如果是"同时"使用的代理,在两个代理都收到停止命令时才可以停止主机,而当一个代理收到启动命令时,主机就会被启动。如果是"相继"使用的代理,对于启动和停止一个主机的操作,“主要的”代理会被首先使用,如果“主要的”代理操作失败,“次要的”代理会被使用。 - 选择以上的选项之一后会出现一个确认窗口,点确定进行确认。
所选择的操作被执行。
6.6.7. 手动隔离或分离一个没有响应的主机
当一个主机在没有预见的情况下变为了没有响应的状态(例如,出现了硬件故障),整个系统的性能可以会受到极大的影响。如果您没有电源管理设备,或电源管理设备没有被正确配置,您可能需要手动重新启动主机。
警告
过程 6.14. 手动隔离或分离一个没有响应的主机
- 在主机标签页中选择主机。这个主机的状态需要是
non-responsive
。 - 手动重启这个主机。这可能意味着您需要进入机房,手工重新启动这个主机。
- 在管理门户中的主机上点鼠标右键,选择确认主机己经重启键。
- 一个提示您确认主机已经被停止或重启的信息会被显示。选择批准操作选项并点确定。
您手动重启了您的主机,高可用性的虚拟机被迁移到其它主机上。您在管理门户中确认了手动隔离的操作,主机可以被重新使用。
6.7. 主机和权限
6.7.1. 管理一个主机的系统权限
- 编辑主机的配置。
- 设置逻辑网络。
- 删除主机。
6.7.2. 主机管理员角色介绍
下表描述了与主机管理相关的管理员角色,以及他们所具有的权利。
表 6.8. Red Hat Enterprise Virtualization 系统管理员角色
角色 | 权利 | 注记 |
---|---|---|
HostAdmin | Host Administrator | 可以配置、管理和删除一个特定的主机。也可以在特定主机上进行网络相关的操作。 |
6.7.3. 为资源分配一个管理员或用户
过程 6.15. 为资源分配一个用户角色
- 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
- 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
- 点添加。
- 在搜索栏中输入用户名后点执行。在搜索结果中选择相应的用户。
- 从要分配的角色:下拉列表中选择需要的角色。
- 点确定。
6.7.4. 从一个资源中删除一个管理员或用户角色
过程 6.16. 从一个资源中删除一个角色
- 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
- 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
- 选择您要从该资源中删除的用户。
- 点删除打开删除权限窗口来确认权限删除操作。
- 点确定。
第 7 章 存储
- Network File System (NFS)
- GlusterFS 导出
- 其它 POSIX 兼容的文件系统
- Internet Small Computer System Interface (iSCSI)
- 主机上直接连接的本地存储
- Fibre Channel Protocol (FCP)
- Parallel NFS (pNFS)
- 数据域(Data Domain):数据域包括了数据中心中的所有虚拟机的虚拟硬盘和 OVF 文件。另外,虚拟机的快照也被保存在数据域中。数据域不能被不同的数据中心共享。不同类型(iSCSI、NFS、FC、POSIX 和 Gluster)的数据域可以被添加到同一个数据中心中,并在这个数据中心中共享。您必须首先为数据中心添加一个数据域,然后才能为它添加其它类型的域。
- ISO 域:ISO 域包括了用来为虚拟机安装、启动操作系统和应用程序的 ISO 文件(或逻辑 CD)。使用 ISO 域将使这个数据中心不再需要物理的安装介质。一个 ISO 域可以被不同的数据中心共享。ISO 域只能是基于 NFS 的。一个数据中心只能添加一个 ISO 域。
- 导出域: 导出域(Export Domain)是一个临时的存储库,它被用来在数据中心和 Red Hat Enterprise Virtualization 环境间复制和迁移数据镜像。导出域可以被用来备份虚拟机。一个导出域可以在不同的数据中心间迁移,但它只能同时在一个数据中心中有效。导出域必须是基于 NFS 的,一个数据中心只能附加一个导出域。
重要
7.1. 存储域介绍
7.2. 准备和添加 NFS 存储
7.2.1. 准备 NFS 存储域
- 安装 nfs-utils。这个软件包提供了 NFS 工具:
# yum install nfs-utils
- 配置启动脚本使共享在系统每次启动时都有效:
# chkconfig --add rpcbind # chkconfig --add nfs # chkconfig rpcbind on # chkconfig nfs on
- 启动 rpcbind 服务和 nfs 服务:
# service rpcbind start # service nfs start
- 创建数据目录和导出目录:
# mkdir -p /exports/data # mkdir -p /exports/export
- 把新创建的目录添加到
/etc/exports
文件中。把以下内容添加到/etc/exports
:/exports/data *(rw) /exports/export *(rw)
- 导出存储域:
# exportfs -r
- 重新加载 NFS 服务:
# service nfs reload
- 创建
kvm
组:# groupadd kvm -g 36
- 在
kvm
组中创建用户vdsm
:# useradd vdsm -u 36 -g 36
- 把您的导出目录的 ownership 值设为 36:36(vdsm:kvm)。这将允许 Manager 使用由这些导出目录组成的存储域存储数据。
# chown -R 36:36 /exports/data # chown -R 36:36 /exports/export
- 设置目录的访问权限:
# chmod 0755 /exports/data # chmod 0755 /exports/export
7.2.2. 附加 NFS 存储
- 在 Red Hat Enterprise Virtualization Manager 管理门户中,点存储资源标签页。
- 点新建域。
图 7.1. 新建域窗口
- 输入存储域的名称。
- 使用数据中心、域功能、存储类型、格式和使用主机列表的默认值。
- 为存储域输入导出路径。导出路径的格式应该是 192.168.0.10:/data 或 domain.example.com:/data。
- 另外,您还可以配置高级参数。
- 点高级参数。
- 在警告级低存储空间项中输入一个百分比值。当存储域中的空闲空间低于这个值时,用户登录时就会显示一个警告信息。
- 在严重的空间操作限制阈值项中输入一个值(以 GB 为单位)。当存储域中的空闲空间低于这个值时,用户登录时会显示一个错误信息,任何需要使用存储空间的操作(包括临时使用存储空间的操作)都会被限制。
- 如果需要在删除虚拟磁盘后清除它上面的敏感数据,选择删除后清除选项。在域创建后,这个选项还可以被修改,但这不会改变已存在的、带有这个选项的存储的行为。
- 点确定。新的 NFS 数据域在存储标签页中被显示(在准备磁盘的时候,它的状态是
Locked
)。在磁盘准备完成后,它会被自动附加到数据中心上。
7.2.3. 增加 NFS 存储
过程 7.1. 增加一个存在的 NFS 存储域
- 点存储资源标签页并选择一个 NFS 数据存储域。
- 在详情框中,点数据中心标签页。点维护按钮把存储域设为维护模式。这会卸载存在的共享,从而可以重新调整存储域的大小。
- 在 NFS 服务器上重新调整存储的大小。对于 Red Hat Enterprise Linux 6 系统,请参阅 Red Hat Enterprise Linux 6 Storage Administration Guide。对于 Red Hat Enterprise Linux 7 系统,请参阅 Red Hat Enterprise Linux 7 Storage Administration Guide。
- 在详情框中,点数据中心标签页,点激活按钮来挂载存储域。
7.3. 准备和添加本地存储
7.3.1. 准备本地存储
重要
/data/images
路径被用作为本地存储。这个目录以及它的正确权限已经在安装 Hypervisor 时被设置。您只需要在为Red Hat Enterprise Linux 虚拟主机准备本地存储时执行以下步骤。
过程 7.2. 准备本地存储
- 在主机上创建要作为本地存储的目录。
# mkdir -p /data/images
- 确保
vdsm
用户(UID 36)和kvm
组(GID 36)有到这个目录的读和写权限。# chown 36:36 /data /data/images
# chmod 0755 /data /data/images
7.3.2. 添加本地存储
过程 7.3. 添加本地存储
- 点主机资源标签页,在结果列表中选择主机。
- 点维护打开维护主机确认窗口。
- 点确定把存储域变为维护模式。
- 点配置本地存储打开配置本地存储窗口。
图 7.2. 配置本地存储窗口
- 分别点数据中心、集群和存储旁的编辑来配置它们。
- 输入您的本地存储的路径。
- 如果需要,使用优化标签页为新的本地存储集群配置内存优化策略。
- 点确定保存您所做的配置并关闭窗口。
7.4. 准备和添加 POSIX 兼容的文件系统存储
重要
7.4.1. 附加 POSIX 兼容的文件系统存储
过程 7.4. 附加 POSIX 兼容的文件系统存储
- 点存储资源标签页来列出现有的存储域。
- 点新建域打开新建域窗口。
图 7.3. POSIX 存储
- 输入存储域的名称。
- 选择存储域所在的数据中心。所选择的数据中心的类型必须是 POSIX (POSIX compliant FS),或者选择
(none)
。 - 从域功能/存储类型下拉菜单里选择
Data / POSIX compliant FS
。如果适用,请从下拉菜单里选择格式。 - 从使用主机下列菜单里选择主机(只有所选数据中心里的主机才会被列出)。您所选择的主机将被用来连接存储域。
- 输入 POSIX 文件系统的路径(和您使用
mount
命令时输入的路径相同)。 - 输入 VFS 类型(和您使用
mount
命令时使用的-t
参数相同)。使用man mount
可以获得有效 VFS 类型的列表。 - 输入其他的挂载选项(和您使用
mount
命令时使用的-o
参数相同)。挂载选项应该以用逗号隔开的列表形式提供。关于可用的挂载选项,请参考man mount
。 - 另外,您还可以配置高级参数。
- 点高级参数。
- 在警告级低存储空间项中输入一个百分比值。当存储域中的空闲空间低于这个值时,用户登录时就会显示一个警告信息。
- 在严重的空间操作限制阈值项中输入一个值(以 GB 为单位)。当存储域中的空闲空间低于这个值时,用户登录时会显示一个错误信息,任何需要使用存储空间的操作(包括临时使用存储空间的操作)都会被限制。
- 如果需要在删除虚拟磁盘后清除它上面的敏感数据,选择删除后清除选项。在域创建后,这个选项还可以被修改,但这不会改变已存在的、带有这个选项的存储的行为。
- 点确定附加新存储域并关闭窗口。
7.5. 准备和添加块存储
7.5.1. 准备 iSCSI 存储
为了在 Red Hat Enterprise Virtualization 环境中作为一个存储域,用户必须执行以下步骤从 Red Hat Enterprise Linux 6 服务器上导出 iSCSI 存储设备。
过程 7.5. 准备 iSCSI 存储
- 在您的存储服务器上,以 root 用户身份使用
yum
命令安装 scsi-target-utils 软件包。# yum install -y scsi-target-utils
- 把您需要导出的设备或文件添加到
/etc/tgt/targets.conf
文件中。以下是一个targets.conf
文件的实例:<target iqn.YEAR-MONTH.com.EXAMPLE:SERVER.targetX> backing-store /PATH/TO/DEVICE1 # Becomes LUN 1 backing-store /PATH/TO/DEVICE2 # Becomes LUN 2 backing-store /PATH/TO/DEVICE3 # Becomes LUN 3 </target>
目标(target)一般使用创建的年和月、服务器所在的反向全限定域名,服务器名和一个目标号来定义。 - 启动 tgtd 服务。
# service tgtd start
- 把 tgtd 服务设置为在系统启动时自动启动。
# chkconfig tgtd on
- 打开 iptables 防火墙来允许客户访问您的 iSCSI 端口。默认情况下,iSCSI 使用端口 3260。下面的例子在 INPUT 表的 6 的位置上加了一条防火墙规则。
# iptables -I INPUT 6 -p tcp --dport 3260 -j ACCEPT
- 保存您所加的 iptables 规则。
# service iptables save
您创建了一个基本的 iSCSI 导出,并可以使用它作为一个 iSCSI 数据域。
7.5.2. 添加 iSCSI 存储
注意
过程 7.6. 添加 iSCSI 存储
- 点存储资源标签页列出现有的存储域。
- 点新建域打开新建域窗口。
- 为新存储域输入名称。
图 7.4. 新 iSCSI 域
- 使用数据中心下拉菜单选择一个 iSCSI 数据中心。如果您的系统中没有合适的 iSCSI 数据中心,选择
(none)
。 - 使用下拉菜单选择域功能和存储类型。那些和所选数据中心的类型不兼容的存储域类型将无法使用。
- 在使用主机项中选择一个活跃的主机。如果这不是数据中心的第一个数据域,您必须选择数据中心的 SPM 主机。
重要
所有与存储域之间的通信都是通过所选主机而不是直接通过 Red Hat Enterprise Virtualization Manager 进行的。配置该存储前,系统中必须至少有一个活动主机,并附加到所选数据中心;所有主机也必须可以访问存储设备。 - Red Hat Enterprise Virtualization Manager 可以建立 iSCSI 目标到 LUNs 的映射,也可以建立 LUNs 到 iSCSI 目标的映射。当 iSCSI 被选为存储类型时,新建域窗口会自动显示带有没有使用的 LUNs 的已知目标。如果您需要添加为存储的目标没有被显示,您可以使用目标查找功能(Target Discovery)来找到它,或执行下一步。
iSCSI 目标查找(Target Discovery)
- 点 Discover Targets 启用目标查找功能。当目标被找到并登录后,新建域窗口会自动显示那些还没有被环境所使用的 LUNs 目标。
注意
被外部使用的 LUNs 也会被显示。您可以使用 Discover Targets 选项来为多个目标添加 LUNs,或设置多个到相同 LUNs 的路径。 - 在地址项中输入 iSCSI 主机的全局域名或 IP 地址。
- 在端口项中输入浏览目标时连接到该主机的端口。默认值是
3260
。 - 如果使用了 Challenge Handshake Authentication Protocol(CHAP)来增加存储的安去性,请选择 User Authentication 选项。输入 CHAP user name 和 CHAP password。
- 点 Discover 按钮。
- 在查找结果中选择要使用的目标后点 Login。或者点 Login All 来登录到所有查找到的目标。
- 点击所需目标旁边的 +按钮。此时会展开该条目,并显示所有附加到该目标但尚未使用的 LUNs。
- 选择要被用来生成存储域的 LUN。
- 另外,您还可以配置高级参数。
- 点高级参数。
- 在警告级低存储空间项中输入一个百分比值。当存储域中的空闲空间低于这个值时,用户登录时就会显示一个警告信息。
- 在严重的空间操作限制阈值项中输入一个值(以 GB 为单位)。当存储域中的空闲空间低于这个值时,用户登录时会显示一个错误信息,任何需要使用存储空间的操作(包括临时使用存储空间的操作)都会被限制。
- 如果需要在删除虚拟磁盘后清除它上面的敏感数据,选择删除后清除选项。在域创建后,这个选项还可以被修改,但这不会改变已存在的、带有这个选项的存储的行为。
- 点确定创建存储域并关闭窗口。
7.5.3. 配置 iSCSI 多路径
- 点数据中心标签页并选择一个数据中心。
- 在详情框中点 iSCSI 多路径标签页。
- 点添加。
- 在添加 iSCSI Bond 窗口中的名称和描述项中输入绑定的相应值。
- 从逻辑网络列表中选择使用这个绑定的网络。
- 从存储目标列表中选择访问存储域所要通过的网络。
- 点确定。
7.5.4. 添加 FCP 存储
过程 7.7. 添加 FCP 存储
- 点存储资源标签页列出所有存储域。
- 点新建域打开新建域窗口。
- 为存储域输入名称。
图 7.5. 添加 FCP 存储
- 使用数据中心下拉菜单选择一个 FCP 数据中心。如果您的系统中没有合适的 FCP 数据中心,选择
(none)
。 - 使用下拉菜单选择域功能和存储类型。那些和所选数据中心的类型不兼容的存储域类型将无法使用。
- 在使用主机项中选择一个活跃的主机。如果这不是数据中心的第一个数据域,您必须选择数据中心的 SPM 主机。
重要
所有与存储域之间的通信都是通过所选主机而不是直接通过 Red Hat Enterprise Virtualization Manager 进行的。配置该存储前,系统中必须至少有一个活动主机,并附加到所选数据中心;所有主机也必须可以访问存储设备。 - 当 Data / Fibre Channel 被选择为存储类型后,新建域窗口会自动显示带有未使用的 LUNs 的目标。选 LUN ID 选项来选择所有可用的 LUNs。
- 另外,您还可以配置高级参数。
- 点高级参数。
- 在警告级低存储空间项中输入一个百分比值。当存储域中的空闲空间低于这个值时,用户登录时就会显示一个警告信息。
- 在严重的空间操作限制阈值项中输入一个值(以 GB 为单位)。当存储域中的空闲空间低于这个值时,用户登录时会显示一个错误信息,任何需要使用存储空间的操作(包括临时使用存储空间的操作)都会被限制。
- 如果需要在删除虚拟磁盘后清除它上面的敏感数据,选择删除后清除选项。在域创建后,这个选项还可以被修改,但这不会改变已存在的、带有这个选项的存储的行为。
- 点确定创建存储域并关闭窗口。
Locked
,当准备完成后,它会被自动添加到数据中心中。
7.5.5. 增加 iSCSI 或 FCP 存储
注意
过程 7.8. 增加存在的 iSCSI 或 FCP 存储域的空间
- 在 SAN 中创建一个新 LUN。对于 Red Hat Enterprise Linux 6 系统,请参阅 Red Hat Enterprise Linux 6 Storage Administration Guide。对于 Red Hat Enterprise Linux 7 系统,请参阅 Red Hat Enterprise Linux 7 Storage Administration Guide。
- 点存储资源标签页,选一个 iSCSI 或 FCP 域。点编辑按钮。
- 选目标 > LUN,点发现目标按钮。
- 输入存储服务器的连接信息后点发现按钮来进行初始连接。
- 点 LUN > 目标,选择新建的 LUN。
- 点确定把 LUN 添加到所选的存储域中。
7.5.6. Red Hat Enterprise Virtualization 环境无法使用的 LUNs
- 那些已经被作为 Red Hat Enterprise Virtualization 环境一部分的 LUNs 将无法再被使用。
图 7.6. Red Hat Enterprise Virtualization 管理门户中无法使用的 LUNs
- 那些已经被 SPM 主机使用的 LUN 会被显示为已经被使用。用户可以尝试强制覆盖这些 LUN 的内容,但系统无法保证这个操作可以成功完成。
7.6. 导入存在的存储域
7.6.1. 导入存在的存储域
- 数据
- 通过导入已存在的数据存储域,您就可以访问其中包括的虚拟机和模板。在导入存储域后,您需要手工把每个虚拟机和模板导入到目标数据中心中。从数据域中导入虚拟机和模板的过程与从导出域中导入的过程相似。但是,因为数据存储域包括了特定数据中心中的所有虚拟机和模板,所以如果需要在不同数据中心或环境中恢复数据或进行大规模的数据恢复时,推荐使用导入数据存储域的方法。
重要
您只能导入所附加到的数据中心的兼容版本为 3.5 或更高的数据域中的数据。 - ISO
- 导入一个存在的 ISO 存储域使您可以访问这个 ISO 存储域所包括的所有 ISO 文件和虚拟软盘。在导入存储域后,您不需要进行其它额外的操作就可以访问其中的资源,您可以根据需要把它们附加到虚拟机上。
- 输出
- 通过导入已存在的导出存储域,您就可以访问其中包括的虚拟机和模板。因为导出域被设计用来导出和导入虚拟机和模板,所以如果需要在一个数据中心或环境中迁移少量的虚拟机和模板,推荐使用导入导出存储域的方法。如需了解更多相关信息,请参阅 Virtual Machine Management Guide。
7.6.2. 导入存储域
导入一个以前被附加到某个数据中心中的存储域。这个过程假设这个存储域现在没有被附加到任何的数据中心中。另外,为了把一个已经存在的数据存储域导入并附加到一个数据中心,这个数据中心必须已经被初始化,它的兼容版本是 3.5 或更高版本。
过程 7.9. 导入存储域
- 点存储资源标签页。
- 点导入域。
图 7.7. “导入预配置的域”窗口
- 从数据中心列表中选择存储域要被附加到的数据中心。
- 另外,还可以选择在数据中心中激活域选项。如果选择了这个选项,存储域被附加到所选的数据中心后会被自动激活。
- 从域功能 / 存储类型列表中选择域的功能和类型。
- 从使用主机列表中选择 SPM 主机。
重要
所有与存储域之间的通信都是通过所选主机而不是直接通过 Red Hat Enterprise Virtualization Manager 进行的。配置该存储前,系统中必须至少有一个活动主机,并附加到所选数据中心;所有主机也必须可以访问存储设备。 - 输入存储域的详情信息。
注意
用来设置存储域详情的项会根据您在域功能 / 存储类型列表中所做的不同选择而有所不同。这些选项和添加一个新存储域时所使用的选项相同。如需了解更多相关信息,请参阅 第 7.1 节 “存储域介绍”。 - 点确定。
存储域被导入,并在存储标签页中显示。
7.6.3. 从一个导入的数据存储域中导入虚拟机
过程 7.10. 从一个导入的数据存储域中导入虚拟机
- 点存储资源标签页。
- 点导入的数据存储域。
- 在详情框中点 VM 导入标签页。
- 选择要导入的虚拟机。
- 点导入。
- 从集群列表中选择虚拟机要被导入的集群。
- 点 确定。
7.6.4. 从导入的数据存储域中导入模板
过程 7.11. 从导入的数据存储域中导入模板
- 点存储资源标签页。
- 点导入的数据存储域。
- 在详情框中点 模板导入标签页。
- 选择要导入的模板。
- 点导入。
- 从集群列表中选择模板要被导入的集群。
- 点确定。
7.7. 存储任务
7.7.1. 生成 ISO 存储域数据
过程 7.12. 生成 ISO 存储域数据
- 把所需的 ISO 镜像复制到运行 Red Hat Enterprise Virtualization Manager 的系统的临时目录中。
- 使用
root
用户帐号登录到运行 Red Hat Enterprise Virtualization Manager 的系统上。 - 使用
engine-iso-uploader
命令上传 ISO 镜像。这个操作可能需要一些时间才能完成,所需的具体时间取决于镜像文件的大小以及上传镜像所使用的网络带宽。例 7.1. ISO Uploader 的使用
在这个例子中,我们把 ISO 镜像RHEL6.iso
通过 NFS 上传到名为ISODomain
的 ISO 域上。这个命令会提示用户输入管理员的用户名和密码。用户名的格式必须是 user name@domain。#
engine-iso-uploader
--iso-domain=ISODomain
upload
RHEL6.iso
7.7.2. 把存储域设为维护模式
过程 7.13. 把存储域设为维护模式
- 关闭在存储域上运行的所有虚拟机。
- 点存储资源标签页并选择一个存储域。
- 点详情框中的数据中心标签页。
- 点维护打开存储域维护确认窗口。
- 点确认来启用维护模式。这个存储域变为维护模式,并在结果列表中显示为处于
Inactive
状态。
注意
7.7.3. 编辑存储域
- 活跃:当存储域处于活跃状态时,名称、描述、备注、警告级低存储空间 (%)、严重的空间操作限制值 (GB) 和删除后清理项可以被编辑。其中的名称项只能在存储域处于活跃状态时被编辑,而其它项可以在存储域是不活跃的状态下编辑。
- 不活跃:当存储域处于维护模式,或没有被附加时,它被认为处于非活跃状态。此时您可以编辑除名称、数据中心、域功能、存储类型和格式以外的所有项。存储连接、挂载选项和其它高级参数只能在存储域是不活跃的状态下进行编辑。这只对 NFS、POSIX 和本地存储类型有效。
注意
iSCSI 存储连接不能通过管理门户编辑,您需要使用 REST API。请参阅 Updating an iSCSI Storage Connection。
过程 7.14. 编辑一个活跃的存储域
- 点存储标签页并选择一个存储域。
- 点 编辑。
- 根据需要编辑相关项。
- 点确定。
过程 7.15. 编辑一个 不活跃的存储域
- 点存储标签页并选择一个存储域。
- 如果存储域是活跃的,点详情框中的数据中心标签页,然后点维护。
- 点 编辑。
- 根据需要编辑存储路径和其它信息。新的连接需要和原始的连接有相同的存储类型。
- 点确定。
- 在详情框中选数据中心标签页,点激活。
7.7.4. 激活存储域
- 点存储标签页,在结果列表中选择一个不活跃的存储域。
- 点详情框中的数据中心标签页。
- 选相应的存储域并点激活。
重要
如果您试图在激活数据域前激活 ISO 域,系统会出现一个错误信息,域也不会被激活。
7.7.5. 删除一个存储域
过程 7.16. 删除一个存储域
- 使用存储资源标签页、树形模式或搜索功能来找到并选择存储域。
- 把存储域设置为维护模式。
- 把这个存储域从数据中心中分离。
- 点删除打开删除存储确认窗口。
- 从类表中选择一个主机。
- 点确定删除存储域并关闭窗口。
7.7.6. 销毁(destroy)一个存储域
过程 7.17. 销毁(destroy)一个存储域
- 使用存储资源标签页、树形模式或搜索功能来找到并选择存储域。
- 在存储域上点鼠标右键,选择销毁打开销毁存储域确认窗口。
- 选择批准操作并点确定来销毁存储域并关闭窗口。
7.7.7. 分离导出域
过程 7.18. 从数据中心中分离一个导出域
- 点存储资源标签页,在结果列表中选择一个导出域。
- 在详情框中选数据中心标签页并选择导出域。
- 点维护打开维护存储域确认窗口。
- 点确定把存储域变为维护模式。
- 点分离打开分离存储确认窗口。
- 点确定分离导出域。
7.7.8. 为数据中心附加一个导出域
过程 7.19. 为数据中心附加一个导出域
- 点存储资源标签页,在结果列表中选择一个导出域。
- 点详情框中的数据中心标签页。
- 点附加打开附加到数据中心窗口。
- 选择相应的数据中心。
- 点确定附加导出域。
7.7.9. 磁盘配置集
7.7.9.1. 创建一个磁盘配置集
过程 7.20. 创建一个磁盘配置集
- 点存储资源标签页并选择一个数据存储域。
- 在详情框中点 Disk Profiles 自标签页。
- 点 New。
- 在 Name 项中输入磁盘配置集的名称。
- 在 Description 项中输入磁盘配置集的描述信息。
- 从 QoS 列表中选择应用磁盘配置集的服务质量。
- 点 OK。
7.7.9.2. 删除一个磁盘配置集
过程 7.21. 删除一个磁盘配置集
- 点存储资源标签页并选择一个数据存储域。
- 在详情框中点 Disk Profiles 子标签页。
- 选择需要被删除的磁盘配置集。
- 点 Remove。
- 点 OK。
7.8. 存储权限
7.8.1. 为一个存储域管理系统权限
- 编辑存储域的配置。
- 把存储域设置为维护模式。
- 删除存储域。
注意
7.8.2. 存储管理员角色介绍
下表介绍了与存储域管理相关的管理员角色和权限。
表 7.1. Red Hat Enterprise Virtualization 系统管理员角色
角色 | 权利 | 注记 |
---|---|---|
StorageAdmin | 存储管理员(Storage Administrator) | 可以创建、删除、配置和管理一个特定的存储域。 |
GlusterAdmin | Gluster 存储管理员(Gluster Storage Administrator) | 可以创建、删除、配置和管理 Gluster 存储卷。 |
7.8.3. 为资源分配一个管理员或用户
过程 7.22. 为资源分配一个用户角色
- 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
- 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
- 点添加。
- 在搜索栏中输入用户名后点执行。在搜索结果中选择相应的用户。
- 从要分配的角色:下拉列表中选择需要的角色。
- 点确定。
7.8.4. 从一个资源中删除一个管理员或用户角色
过程 7.23. 从一个资源中删除一个角色
- 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
- 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
- 选择您要从该资源中删除的用户。
- 点删除打开删除权限窗口来确认权限删除操作。
- 点确定。
第 8 章 使用 Red Hat Gluster Storage
8.1. Red Hat Gluster Storage 节点
8.1.1. 添加 Red Hat Gluster Storage 节点
过程 8.1. 添加一个 Red Hat Gluster Storage 节点
- 点主机资源页显示主机列表。
- 点新建打开新建主机窗口。
- 使用下拉菜单为 Red Hat Gluster Storage 节点选择数据中心和主机集群。
- 输入 Red Hat Gluster Storage 节点的名称、地址和 SSH 端口值。
- 选择使用这个 Red Hat Gluster Storage 节点的身份验证机制。
- 输入 root 用户的密码。
- 把 SSH PublicKey 项中的密钥复制到 Red Hat Gluster Storage 节点的
/root/.ssh/authorized_keys
文件中来使用公共密钥进行验证。
- 点确定添加节点并关闭窗口。
8.1.2. 删除一个 Red Hat Gluster Storage 节点
过程 8.2. 删除一个 Red Hat Gluster Storage 节点
- 使用主机资源标签页、树形模式或搜索功能来找到并选择 Red Hat Gluster Storage 节点。
- 点维护打开维护主机确认窗口。
- 点确定把主机变为维护模式。
- 点删除打开删除主机确认窗口。
- 如果 Red Hat Storage 节点上有磁盘卷块时,或存储节点没有响应时,使用强制删除选项来强制删除 Red Hat Storage 节点。
- 点确定删除 Red Hat Storage 节点并关闭窗口。
8.2. 使用 Red Hat Gluster Storage 作为存储域
8.2.1. Red Hat Gluster Storage(GlusterFS)卷介绍
8.2.2. Gluster 存储术语
表 8.1. 数据中心属性
术语
|
定义
|
---|---|
数据块(Brick)
|
数据块(brick)是 GlusterFS 的基本存储单元。一个数据块是通过一个服务器和一个输出目录以以下格式所代表的:
SERVER:EXPORT
例如:
myhostname:/exports/myexportdir/
|
块存储(Block Storage)
|
块文件或块设备是指那些使用块的形式来处理数据的设备。这些设备通常代表了那些可访问的设备,如硬盘、CD-ROM 驱动器和存储区域。Red Hat Gluster Storage 支持带有扩展属性的 XFS 文件系统。
|
集群
|
由多个相互连接的计算机组成的一个信任的池,通常我们可以把它看作为一个单一的计算机。在 Red Hat Gluster Storage 环境中,我们把集群称为信任的存储池(trusted storage pool)。
|
客户端(Client)
|
加载卷的机器(可以是服务器)
|
分布式文件系统(Distributed File System)
|
一个文件系统,它允许多个客户端同时访问分布在一个信任的存储池中的多个服务器/数据块(brick)中的数据。所有分布式文件系统的基础就是在多个不同的位置共享数据。
|
异地备份(Geo-Replication)
|
异地备份(Geo-Replication)是一个可以通过局域网(LAN)、广域网(WAN)和互联网为不同的区域进行持续的、异步的、增量的备份操作的备份服务。
|
glusterd
|
Gluster 管理守护进程,它需要在信任的存储池中的所有服务器上运行。
|
元数据(metadata)
|
元数据是提供了一个或多个数据的信息的数据。
|
N-way Replication
|
本地同步数据复制通常部署在多个园区或 Amazon Web Services Availability Zones 中。
|
命名空间(Namespace)
|
命名空间就是一个抽象的容器或环境,它被创建来保存一个包括了一组唯一的标识符或符号的逻辑组。每个 Red Hat Gluster Storage 信任的存储池都会提供一个单一的命名空间作为 POSIX 的挂载点,它包括了这个信任存储池中的所有文件。
|
POSIX
|
Portable Operating System Interface (for Unix) 是由 IEEE 定义的一组相关的标准,它包括了应用程序编程接口(API)、以及与不同的 UNIX 操作系统兼容的 shell 和工具程序。Red Hat Gluster Storage 会输出一个与 POSIX 完全兼容的文件系统。
|
RAID
|
Redundant Array of Inexpensive Disks (RAID) 是一个通过使用冗余来提高存储的可靠性的技术。它会把多个低成本、较低可靠性的磁盘组建为一个单一的逻辑单元。
|
RRDNS
|
Round Robin Domain Name Service (RRDNS) 是一个在多个应用服务器间分配负载的方法。RRDNS 在 DNS 服务器的 zone 文件中创建多个有相同名称和不同 IP 地址的 A 记录。
|
服务器
|
用来保持实际数据的文件系统所在的机器(虚拟机或物理机器)。
|
Scale-Up Storage
|
单方面增加存储设备的能力。如为一个信任的存储池中的一个单一的计算机增加它的磁盘空间。
|
Scale-Out Storage
|
多方面增加存储设备的能力。如为一个信任的存储池添加一个服务器来为这个信任的存储域中的整个环境增加 CPU 和磁盘空间。
|
Subvolume
|
子卷(subvolume)是被最少一个 translator 处理过的一个数据块(brick)
|
Translator
|
translator 连接到一个或多个 subvolumes,进行一些操作,并提供一个 subvolume 连接。
|
Trusted Storage Pool(信任的存储池)
|
一个存储池就是一组信任的存储服务器。当您开始使用第一个服务器时,存储池只包括那一个服务器。
|
User Space(用户空间)
|
在用户空间中运行的应用程序不会直接访问硬件,它会通过内核来进行处理。在通常情况下,用户空间的应用程序比内核空间的应用程序有更好的可移植性。Gluster 是一个用户空间的应用程序。
|
Virtual File System (VFS)
|
VFS 是一个内核软件层,用来处理与标准的 Linux 文件系统相关的系统调用。它为不同的文件系统提供了一个通用的接口。
|
Volume File(卷文件)
|
卷文件是一个被 glusterfs 进程使用的配置文件,它通常位于
/var/lib/glusterd/vols/VOLNAME 。
|
Volume(卷)
|
卷就是一个包括了多个数据块(brick)的逻辑组。多数的 Gluster 管理操作都是针对于卷进行的。
|
8.2.3. 附加一个 Red Hat Gluster 存储卷作为存储域
过程 8.3. 添加一个 Red Hat Gluster 存储卷作为存储域
- 点存储资源标签页来列出现有的存储域。
- 点新建域打开新建域窗口。
图 8.1. Red Hat Gluster Storage
- 输入存储域的名称。
- 选择与存储域相关联的数据中心。
- 从域功能下拉列表中选择
数据
。 - 从存储类型下拉菜单中选择
GlusterFS
。 - 从使用主机下拉菜单列表中选择一个主机。只有在所选数据中心中的主机回被列出。只有在安装了 glusterfs 和 glusterfs-fuse 软件包后才可以挂载卷。
- 在路径项中输入 Red Hat Gluster Storage 服务器的 IP 地址或 FQDN,以及卷名(以一个冒号分隔)。
- 输入其他的挂载选项(和您使用
mount
命令时使用的-o
参数相同)。挂载选项应该以用逗号隔开的列表形式提供。关于可用的挂载选项,请参考man mount
。 - 点确定挂载卷来作为存储域并关闭窗口。
8.2.4. 创建一个存储卷
重要
过程 8.4. 创建一个存储卷
- 点卷资源标签页列出现有的卷。
- 点新建打开新建卷窗口。
- 使用下拉菜单选择数据中心和卷集群。
- 输入卷的名称。
- 使用下拉菜单选择卷的类型。
- 如果需要,选择相应的传输类型。
- 点 Add Bricks 来选择要加到卷中的数据块。brick 需要在外部的 Red Hat Gluster Storage 节点上创建。
- 使用 Gluster、NFS 和 CIFS 选项指定卷所使用的访问协议。
- 在允许访问项中输入这个卷的访问控制列表(以逗号分隔的 IP 地址或主机名)。您可以在 IP 地址和主机名中使用 * 通配符。
- 使用为 Virt 库进行优化选项设置参数来优化虚拟机的卷。如果您需要使用这个卷作为一个存储域,您应该选择这个选项。
- 点确定创建卷。新的卷被添加并在卷标签页中显示。
8.2.5. 为卷添加数据块(brick)
您可以通过添加新的数据块来扩充卷的容量。如果您使用的是分布卷,您需要最少添加一个数据块;如果您使用的是镜像卷,您需要添加偶数个数据块(最少 2 个);如果您使用的是条带卷,您需要添加的数据块的数量必须是 4 的倍数(最少 4 个)。
过程 8.5. 为卷添加数据块(brick)
- 在卷标签页中选择需要添加数据块的卷。
- 在详情框中点 Bricks 标签页。
- 点添加 Bricks 打开添加 Bricks 窗口。
- 使用主机下拉菜单选择数据块所在的服务器。
- 输入 Brick 目录的路径。这个目录必须已经存在。
- 点添加。数据块会出现在卷的数据块列表中,并包括了数据块所在的服务器地址和数据块的目录名。
- 点确定。
新的数据块被添加到卷中,并出现在卷的 Bricks 标签页中。
8.2.6. 添加数据块窗口中的设置介绍
表 8.2. 添加数据块页属性
项
|
描述
|
---|---|
卷类型(Volume Type)
|
显示卷的类型。这个项不能被改变,它在创建的时候被设置。
|
服务器(Server)
|
数据块所在的服务器。
|
数据块目录(Brick Directory) |
数据块目录或挂载点。
|
8.2.7. 为存储虚拟机镜像优化 Red Hat Gluster Storage 卷
重要
重要
virt
。这会把 cluster.quorum-type
参数设置为 auto
,把 cluster.server-quorum-type
参数设为 server
。
# gluster volume set VOLUME_NAME group virt
# gluster volume info VOLUME_NAME
8.2.8. 启动卷
当一个卷被创建后,或卷被停用后,用户需要启动它后才能使用这个卷。
过程 8.6. 启动卷
- 在卷标签页中,选择要启动的卷。您可以使用
Shift
或Ctrl
键来选择多个卷进行启动。 - 点启动键。
Up
。
您现在可以使用这个卷作为虚拟机存储了。
8.2.9. 调整卷
通过调整卷可以改变它们的性能。您可以通过为卷添加选项来调整它们。
过程 8.7. 调整卷
- 点卷标签页。卷列表被显示。
- 选择您需要调整的卷,从详情框中选卷选项标签页。卷选项页显示了这个卷的选项列表。
- 点添加设置选择。添加选项对话框会被显示。从下拉菜单中选择“选择键”并输入所需的值。
- 点确定。选择被设置,并在卷选项标签页中显示。
您调整了您的存储卷。
8.2.10. 编辑卷的选项
在添加了卷选项后,您就可以对它们进行编辑。
过程 8.8. 编辑卷的选项
- 点卷标签页。卷列表被显示。
- 选择您需要编辑的卷,从详情框中选卷选项标签页。卷选项标签页显示了这个卷的选项列表。
- 选择您需要编辑的选项,点编辑。编辑选项对话框被打开,为这个选项输入一个新值。
- 点确定。您所编辑的选项值在卷选项标签页中被显示。
您改变了卷的选项值。
8.2.11. 卷选项重置
您可以重置卷选项来把它们恢复到默认的值。
- 点卷标签页。卷列表被显示。
- 选择您需要编辑的卷,从详情框中选卷选项标签页。卷选项页显示了这个卷的选项列表。
- 选择您需要重置的选项,点重置。一个对话框会出现,让用户确认要重置这个选项。
- 点确定。所选的选项值被重置。
注意
您把卷选项重置为默认的值。
8.2.12. 从一个卷中删除数据块
如果需要,您可以在集群在线时减小卷的容量。例如,因为硬件或网络的问题,您需要把一个无法访问的卷从一个分布式卷中删除。
过程 8.9. 从一个卷中删除数据块
- 在卷标签页中选择需要删除数据块的卷。
- 在详情框中点 Bricks 标签页。
- 选择需要被删除的数据块,点删除 Bricks。
- 确认窗口会出现,点确定。
数据块被从卷中删除。
8.2.13. 停止 Red Hat Gluster Storage 卷
过程 8.10. 停止卷
- 在卷标签页中,选择要停止的卷。您可以使用
Shift
或Ctrl
键来选择停止多个卷。 - 点停止。
8.2.14. 删除 Red Hat Gluster Storage 卷
- 在卷标签页中,选择要删除的卷。
- 点删除。一个删除确认窗口会出现。点确定。
8.2.15. 重新平衡(Rebalancing)卷
如果一个卷通过添加或删除数据块扩大或缩小了它的容量,卷上的数据需要在服务器上进行重新平衡。
过程 8.11. 重新平衡一个卷。
- 点卷标签页。卷列表被显示。
- 选择需要重新平衡的卷。
- 点 Rebalance。
选择的卷被重新平衡。
8.3. 集群和 Gluster Hook
8.3.1. 管理 Gluster Hook
- 查看主机上可用的 hook。
- 查看 hook 的内容和状态。
- 启用或禁用 hook。
- 解决 hook 的冲突。
8.3.2. 列出 hook
列出您的环境中的 Gluster hook。
过程 8.12. 列出 hook
- 使用集群资源标签页、树形模式或搜索功能来找到并选择集群。
- 选择 Gluster Hooks 子标签页在详情框中类出 hook。
列出您的环境中的 Gluster hook。
8.3.3. 查看 hook 的内容
查看您的环境中的 hook 的内容。
过程 8.13. 查看一个 hook 的内容
- 使用集群资源页、树形模式或搜索功能来找到并选择集群。
- 选择 Gluster Hooks 子标签页在详情框中类出 hook。
- 选择内容类型是文本的 hook,点查看内容打开 Hook 内容窗口。
您查看了您的环境中的一个 hook 的内容。
8.3.4. 启用或禁用 hook
切换启用或禁用 Gluster hook。
过程 8.14. 启用或禁用一个 hook。
- 使用集群资源页、树形模式或搜索功能来找到并选择集群。
- 选择 Gluster Hooks 子标签页在详情框中类出 hook。
- 选择一个 hook,点启用或禁用键。这个 hook 会在集群的所有节点上被启用或被禁用。
您在您的环境中启用或禁用了一个 Gluster hook。
8.3.5. 刷新 hook
在默认条件下,Manager 会每个小时运行一个程序来检查集群中所有服务器上所安装的 hook 的状态。您也可以点同步键手动刷新 hook。
过程 8.15. 刷新一个 hook
- 使用集群资源页、树形模式或搜索功能来找到并选择集群。
- 选择 Gluster Hooks 子标签页在详情框中列出 hook。
- 点同步键。
hook 被同步,并在详情框中显示最新的结果。
8.3.6. 解决冲突
- 内容冲突 - 相同 hook 的内容在不同服务器上不一致。
- 丢失冲突 - 一个或多个服务器上没有这个 hook。
- 状态冲突 - 同一个 hook 的状态在不同服务器上不一致。
- 多重冲突 - 一个 hook 有以上提到的两个或两个以上的冲突。
8.3.7. 解决内容冲突
当一个 hook 的内容在不同服务器上不一致时,系统会把这个 hook 标记为有冲突。要解决这类冲突,您必须选择一个 hook 内容的版本,并把它复制到所有服务器上。
过程 8.16. 解决一个内容冲突
- 使用集群资源标签页、树形模式或搜索功能来找到并选择集群。
- 选择 Gluster Hooks 标签页在详情框中类出了所有 hook。
- 选择有冲突的 hook,点解决冲突打开解决冲突窗口。
- 从“选择源来查看内容”项中选择引擎或服务器来查看 hook 的内容,并决定使用哪个版本的 hook 内容。
注意
所选的 hook 内容将覆盖所有服务器和引擎上的相同 hook 的内容。 - 使用 Use content from 下拉菜单选择您需要的 hook 内容所在的服务器或引擎。
- 点确定解决冲突并关闭窗口。
被选择的 hook 内容被复制到所有服务器和引擎中。这个 hook 的内容在您的环境中被保持一致。
8.3.8. 解决丢失 hook 冲突
当一个 hook 没有出现在所有服务器和引擎上时,系统会把这个 hook 标记为有冲突。要解决这类冲突,您可以选择一个 hook 内容的版本,并把它复制到所有服务器和引擎上;或把这个 hook 删除。
过程 8.17. 解决一个丢失 hook 冲突
- 使用集群资源标签页、树形模式或搜索功能来找到并选择集群。
- 选择 Gluster Hooks 子标签页在详情框中类出 hook。
- 选择有冲突的 hook,点解决冲突打开解决冲突窗口。
- 选择状态为已启用的 hook 来查看它的内容。
- 根据您的具体情况,选择 复制这个 hook 到所有服务器或删除缺失的 hook。如果选择后一个选项,这个 hook 会从所有服务器和引擎上删除。
- 点启动解决冲突并关闭窗口。
根据您所做的选择,被选择的 hook 内容被复制到所有服务器和引擎中,它的内容在您的环境中被保持一致;或您选择的 hook 被从您的环境中完全删除。
8.3.9. 解决状态冲突
当一个 hook 的状态在不同服务器上不一致时,系统会把这个 hook 标记为有冲突。要解决这类冲突,您必须选择一个 hook 状态,并把这个 hook 在所有服务器上都设置为这个状态。
过程 8.18. 解决一个状态冲突
- 使用集群资源标签页、树形模式或搜索功能来找到并选择集群。
- 选择 Gluster Hooks 在标签页,在详情框中列出了所有 hook。
- 选择有冲突的 hook,点解决冲突打开解决冲突窗口。
- 把 Hook 状态设置为已启用或已禁用。
- 点确定解决冲突并关闭窗口。
这个 hook 在所有服务器和引擎上的状态都被设为同一个值。
8.3.10. 解决多重冲突
一个 hook 可能会有多种冲突,这可以通过解决冲突窗口来同时解决所有冲突或单独解决每个冲突,从而到达 hook 在所有服务器和引擎上保持一致的目的。
过程 8.19. 解决多重冲突
- 使用集群资源标签页、树形模式或搜索功能来找到并选择集群。
- 选择 Gluster Hooks 子标签页,在详情框中类出了所有 hook。
- 选择有冲突的 hook,点解决冲突打开解决冲突窗口。
- 根据冲突的类型选择相应的步骤。
- 点确定解决冲突并关闭窗口。
您解决了所有冲突,hook 在所有服务器和引擎上保持一致。
8.3.11. 管理 Gluster 同步(Gluster 同步)
注意
第 9 章 池
9.1. 虚拟机池介绍
注意
9.2. 虚拟机池任务
9.2.1. 创建一个虚拟机池
过程 9.1. 创建一个虚拟机池
- 点池标签页。
- 点新建打开新建池窗口。
- 使用下拉菜单选择集群或使用默认的选择。
- 使用基于模板下拉菜单选择一个模板或使用默认的模板。如果您选择了一个模板,您还可以使用模板子版本下拉菜单选择这个模板的一个版本。模板会为这个池中的所有虚拟机提供一个标准的设置。
- 使用操作系统下拉菜单擦选择一个操作系统,或使用模板提供的默认值。
- 使用优化下拉列表选择根据桌面或服务器对虚拟机进行优化。
- 为这个虚拟机池输入名称,描述、注释以及虚拟机的数量。
- 在每个用户的最大虚拟机数目项中输入一个数值。它是一个用户一次可以从虚拟机池中拿到的最多虚拟机的数量。这个项的最小值是 1。
- 另外,还可以点显示高级选项来进行以下配置:
- 选择控制台标签页。在这个页的下部,选中覆盖 SPICE 代理选项激活覆盖 SPICE 代理地址项。您可以在这个项中输入一个 SPICE 代理的地址来覆盖 SPICE 代理的全局设置值。
- 点池标签页并选择一个池类型:
- 手动 - 系统管理员需要手动把虚拟机归还到虚拟机池中。当虚拟机被归还到虚拟机池后,它们会被恢复到原始的基本镜像。
- 自动 - 当虚拟机被关机时,它会被自动恢复到原始的基本镜像并被归还到虚拟池。
- 点确定。
9.2.2. 新建池窗口中的设置和控制介绍
9.2.2.1. 新建池常规设置介绍
表 9.1. 常规设置
项
|
描述
|
---|---|
虚拟机的数量
|
指定在虚拟机池中可以创建的虚拟机数量。在默认情况下,一个虚拟机池中所能创建的最大虚拟机数量是 1000。这个值可以通过
engine-config 命令的 MaxVmsInPool 参数进行设置。
|
每个用户的最大虚拟机的数目
|
指定一个用户可以一次从虚拟机池中获得虚拟机的最大数量。它的值必须在
1 和 32,767 之间。
|
9.2.2.2. 新建池的池设置介绍
表 9.2. 控制台设置
项
|
描述
|
---|---|
池类型
|
使用下拉菜单指定虚拟机池的类型。有效选项包括:
|
9.2.2.3. 新建池和编辑池中的控制台设置介绍
表 9.3. 控制台设置
项
|
描述
|
---|---|
覆盖 SPICE 代理
|
选择这个项可以覆盖全局设置中对 SPICE proxy 的设置。当有用户需要从远程对虚拟机进行访问时,这个设置将非常有用。
|
被覆盖的 SPICE 代理地址
|
SPICE 客户端连接到虚拟机所使用的代理服务器。这个代理服务器会覆盖为 Red Hat Enterprise Virtualization 环境定义的全局 SPICE 代理,以及为这个虚拟机池所属的集群定义的代理服务器。代理的地址格式是:
protocol://[host]:[port] |
9.2.3. 编辑一个虚拟机池
过程 9.2. 编辑一个虚拟机池
- 点池资源标签页,从结果列表中选一个虚拟机池。
- 点编辑打开编辑池窗口。
- 编辑虚拟机池的属性。
- 点确定。
9.2.4. 编辑池窗口中的设置和控制介绍
9.2.4.1. 编辑池常规设置介绍
表 9.4. 常规设置
项
|
描述
|
---|---|
模板
|
虚拟机池所基于的模板。
|
描述
|
虚拟机池的描述。
|
注释
|
与虚拟机池相关的备注。
|
预启动的虚拟机
|
允许您指定预启动的虚拟机(在虚拟机被用户获取前就已经启动,并保持启动状态的虚拟机)的数量。这个项的值必须在
0 和虚拟机池中的总虚拟机数量之间。
|
增加池里的虚拟机数量
|
指定在虚拟机池中可以被增加的虚拟机的数量。
|
每个用户的最大虚拟机数量
|
指定一个用户可以一次从虚拟机池中获得虚拟机的最大数量。它的值必须在
1 和 32,767 之间。
|
9.2.5. 在虚拟机池中预先启动虚拟机
预先启动的虚拟机适用于用户需要马上使用虚拟机,而系统中并没有专门分配给这个用户的虚拟机的情况。只有类型为“自动”的池才能提供预先启动的虚拟机。
过程 9.3. 在虚拟机池中预先启动虚拟机
- 使用池资源标签页、树形模式或搜索功能来找到并选择虚拟机池。
- 点编辑打开编辑池窗口。
- 在预先启动的虚拟机项中输入相应的值。
- 进入池标签页,确认池类型被设置为自动。
- 点确定。
您在虚拟机池中设置了预先启动的虚拟机的数量。这些预先启动的虚拟机可以被马上使用。
9.2.6. 为一个虚拟机池添加虚拟机
如果需要,您可以为一个已经存在的虚拟机池添加更多的虚拟机。
过程 9.4. 为一个虚拟机池添加虚拟机
- 使用池资源页、树形模式或搜索功能来找到并选择虚拟机池。
- 点编辑打开编辑池窗口。
- 在增加池里的虚拟机数目项中输入所要添加的虚拟机的数量。
- 点确定。
您为一个虚拟机池添加了更多的虚拟机。
9.2.7. 从虚拟机池中分离虚拟机
您可以把虚拟机从虚拟机池中分离。被分离的虚拟机变为独立的虚拟机。
过程 9.5. 从虚拟机池中分离虚拟机
- 使用池资源标签页、树形模式或搜索功能来找到并选择虚拟机池。
- 确认要被分离的虚拟机的状态为
Down
。您不能分离正在运行的虚拟机。点虚拟机标签页列出池中的虚拟机。 - 选择一个或多个虚拟机,点分离打开分离虚拟机确认窗口。
- 点确定把虚拟机从虚拟机池中分离出来。
注意
您把虚拟机从虚拟机池中分离。
9.2.8. 删除一个虚拟机池
您可以从一个数据中心中删除一个虚拟机池。您需要先把虚拟机池中的所有虚拟机删除或分离。从虚拟机池中分离虚拟机将会把它们变为独立的虚拟机。
过程 9.6. 删除一个虚拟机池
- 使用池资源标签页、树形模式或搜索功能来找到并选择虚拟机池。
- 点删除打开删除虚拟机池确认窗口。
- 点确定删除虚拟机池。
您从数据中心中删除了一个虚拟机池。
9.3. 池和权限
9.3.1. 管理一个虚拟机池的系统权限
- 创建、编辑和删除虚拟机池。
- 为虚拟机池添加或分离虚拟机。
注意
9.3.2. 虚拟机池管理员角色介绍
下表描述了与虚拟机池管理相关的管理员角色,以及他们所具有的权利。
表 9.5. Red Hat Enterprise Virtualization 系统管理员角色
角色 | 权利 | 注记 |
---|---|---|
VmPoolAdmin | 一个虚拟机池的系统管理员角色 | 可以创建、删除和配置一个虚拟机池;添加和删除池用户;在虚拟机上进行基本的操作。 |
ClusterAdmin | 集群管理员 | 可以在一个特定的集群中使用、创建、删除和管理所有虚拟机池。 |
9.3.3. 为资源分配一个管理员或用户
过程 9.7. 为资源分配一个用户角色
- 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
- 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
- 点添加。
- 在搜索栏中输入用户名后点执行。在搜索结果中选择相应的用户。
- 从要分配的角色:下拉列表中选择需要的角色。
- 点确定。
9.3.4. 从一个资源中删除一个管理员或用户角色
过程 9.8. 从一个资源中删除一个角色
- 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
- 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
- 选择您要从该资源中删除的用户。
- 点删除打开删除权限窗口来确认权限删除操作。
- 点确定。
9.4. 信任的计算池
9.4.1. 创建一个信任的集群
注意
过程 9.9. 创建一个信任的集群
- 在导航框中,选择集群标签页。
- 点新建。
- 在常规标签页中设置集群名。
- 在常规标签页中选中启用 Virt 服务项。
- 在调度策略项中选启用信任的服务选项。
- 点确定。
9.4.2. 添加一个信任的主机
以下介绍了如何为您的 Red Hat Enterprise Virtualization 环境添加一个信任的主机。
过程 9.10.
- 选择主机标签页。
- 点新建。
- 在常规标签页中设置主机名。
- 在常规标签页中设置主机地址。
注意
这个主机必须被 attestation 服务器所信任。 - 在常规标签页中使用主机集群下拉菜单选项一个信任的集群。
- 点确定。
您为您的 Red Hat Enterprise Virtualization 环境添加了一个信任的主机。
第 10 章 虚拟机磁盘
10.1. 虚拟机存储介绍
kpartx
、vgscan
、vgchange
和 mount
来检查虚拟机的进程或可能出现的问题。
10.2. 虚拟磁盘介绍
- 预分配(Preallocated)一个预分配虚拟磁盘会预先获得所有需要的磁盘空间。例如,为虚拟机创建的一个 20 GB 的逻辑卷需要在创建时获得全部 20 GB 的存储空间。
- 稀疏使用稀疏分配的系统允许管理员定义需要分配的总存储空间,但存储空间只在实际需要使用时才进行分配。例如,一个 20 GB 的精简分配逻辑盘在初始创建时只占用 0 GB 的存储空间。当安装操作系统时,它会占用安装的所有文件所需的存储空间,并在增加数据是占用更多的空间(最多可占用 20 GB 存储空间)。
注意
表 10.1. 允许的存储组合
存储 | 格式 | 类型 | 备注 |
---|---|---|---|
NFS 或 iSCSI/FCP | RAW 或 QCOW2 | 稀疏(Sparse)或预分配(Preallocated) | |
NFS | RAW | 预分配(Preallocated) | 一个和虚拟磁盘所定义的容量大小相同的文件。这个文件没有特定的格式。 |
NFS | RAW | 稀疏 | 一个初始大小接近于 0 的 文件,它没有特定的格式。 |
NFS | QCOW2 | 稀疏 | 一个初始大小接近于 0 的 文件,它的格式为 QCOW2。下一层的格式将是 QCOW2。 |
SAN | RAW | 预分配(Preallocated) | 一个和虚拟磁盘所定义的容量大小相同的块设备。这个设备没有特定的格式。 |
SAN | QCOW2 | 稀疏 | 一个比虚拟磁盘所定义的容量(当前是 1 GB)小很多的块设备,它的格式是 QCOW2。如果需要,它会被分配更多存储空间(当前以 1 GB 为单位增长)。 |
10.3. 设置“删除后清理”
wipe_after_delete
标识(在管理门户中由删除后清理选择框代表)会在删除虚拟磁盘后对它进行初始化。在默认情况下,这个标识不会被设置,当磁盘被删除后它上面的数据块空间可以被重新使用,而不会进行特殊的数据清理操作。因为数据块中的数据没有被清为 0,因此,原来的数据有可能被恢复。
wipe_after_delete
,它上面的数据块中的数据会在磁盘被删除后进行清理,所有数据都会被清为 0。这个方法进一步增加了数据的安全性,如果您的虚拟磁盘中包括敏感信息,可以使用它。但是,它会消耗更多的系统资源,并需要更长的时间来进行磁盘删除操作。
wipe_after_delete
的默认值设为 true
。在改变设置后需要重启引擎来使它有效。
过程 10.1. 使用引擎配置工具把 SANWipeAfterDelete 的默认值设为 True
- 在引擎配置工具中使用
--set
操作:# engine-config --set SANWipeDelete=true
- 重启引擎来使新设置有效:
# service ovirt-engine restart
10.4. Red Hat Enterprise Virtualization 中的可共享磁盘
10.5. Red Hat Enterprise Virtualization 中的只读磁盘
重要
EXT3
、EXT4
或 XFS
)的磁盘使用只读选项。
10.6. 虚拟磁盘任务
10.6.1. 创建浮动虚拟磁盘
过程 10.2. 创建浮动虚拟磁盘
- 选择磁盘资源标签页。
- 点新建。
图 10.1. 添加虚拟磁盘
- 选择虚拟磁盘是镜像、直接 LUN 或 Cinder 磁盘。
- 选择虚拟磁盘所需的选项。选项的改变会根据所选的磁盘类型的不同而不同。如需了解更多相关信息,请参阅 第 10.6.2 节 “添加虚拟磁盘窗口中的设置介绍”。
- 点确定。
10.6.2. 添加虚拟磁盘窗口中的设置介绍
表 10.2. 新建虚拟机设置:镜像
项
|
描述
|
---|---|
大小 (GB)
|
您创建的虚拟磁盘的大小(以 GB 为单位)
|
别名
|
虚拟磁盘的别名,最长为 40 个字符。
|
描述
|
虚拟磁盘的描述。这个项可以是空,但我们推荐您为这个项输入相应的信息。
|
接口
|
在虚拟机上代表这个虚拟磁盘的虚拟接口。VirtIO 接口速度比较快,但需要驱动程序。Red Hat Enterprise Linux 5 和更高的版本中包括了这些驱动程序。Windows 并不包括这些驱动,但可以通过客户端工具程序 ISO 或虚拟软盘进行安装。IDE 设备不需要特殊的驱动程序。
|
数据中心
|
虚拟磁盘所在的数据中心。
|
存储域
|
虚拟磁盘被保存的存储域。下拉列表列出了所选数据中心中的所有可用存储域,以及存储域中可用的存储空间。
|
分配策略
|
新虚拟磁盘的部署策略。
|
Disk Profile
|
分配给虚拟磁盘的磁盘配置集。磁盘配置集定义了在一个存储域中的虚拟磁盘的最大吞吐级别和输入、输出操作的最大级别。它是基于数据中心中的存储配置集而创建的。
|
删除后清理
|
在虚拟磁盘被删除后,删除上面敏感的数据。这可以增强数据的安全性。
|
可引导
|
在虚拟磁盘中启用可引导标识
|
可共享
|
可以把这个虚拟磁盘同时附加到多个虚拟机上。
|
表 10.3. 新建虚拟磁盘设置:直接 LUN
项
|
描述
|
---|---|
别名
|
虚拟磁盘的别名,最长为 40 个字符。
|
描述
|
虚拟磁盘的描述。这个项可以是空,但我们推荐您为这个项输入相应的信息。在默认情况下,LUN ID 的最后 4 位会被插入这个项。
使用
engine-config 命令把 PopulateDirectLUNDiskDescriptionWithLUNId 配置关键字设置为一个适当的值可以改变默认的行为。如果把它设置为 -1 ,则整个 LUN ID 都会被使用;如果把它设置为 0 ,这个功能会被忽略;如果把它设置为一个正的整数,则使用 LUN ID 中的相应位数。如需了解更多信息,请参阅 第 16.3.2 节 “engine-config 命令的使用语法”。
|
接口
|
在虚拟机上代表这个虚拟磁盘的虚拟接口。VirtIO 接口速度比较快,但需要驱动程序。Red Hat Enterprise Linux 5 和更高的版本中包括了这些驱动程序。Windows 并不包括这些驱动,但可以通过客户端工具程序 ISO 或虚拟软盘进行安装。IDE 设备不需要特殊的驱动程序。
|
数据中心
|
虚拟磁盘所在的数据中心。
|
使用主机
|
将要挂载 LUN 的主机。您可以选择数据中心中任何一个主机。
|
存储类型
|
添加的外部 LUN 类型。您可以选择 iSCSI 或 Fibre Channel。
|
发现目标
|
这个项会在您使用 iSCSI 外部 LUN 并选择了 Targets > LUNs 时被展开。
地址 - 目标服务器的主机名或 IP 地址。
端口 - 连接到目标服务器所使用的端口。默认值是 3260。
用户验证 - iSCSI 服务器所需的用户验证。当您使用 iSCSI 外部 LUN 时,用户验证项会被显示。
CHAP 用户 - 有权限登录到 LUN 上的用户的用户名。这个项在选择了用户验证项后才有效。
CHAP 密码 - 有权限登录到 LUN 上的用户的密码。这个项在选择了用户验证项后才有效。
|
可引导
|
在虚拟磁盘中启用可引导标识
|
可共享
|
可以把这个虚拟磁盘同时附加到多个虚拟机上。
|
- 实时迁移直接 LUN 硬盘镜像的功能不被支持。
- 直接 LUN 磁盘不包括在虚拟机的导出中。
- 直接 LUN 磁盘不包括在虚拟机的快照中。
表 10.4. 新建虚拟磁盘设置:Cinder
项
|
描述
|
---|---|
大小 (GB)
|
您创建的虚拟磁盘的大小(以 GB 为单位)
|
别名
|
虚拟磁盘的别名,最长为 40 个字符。
|
描述
|
虚拟磁盘的描述。这个项可以是空,但我们推荐您为这个项输入相应的信息。
|
接口
|
在虚拟机上代表这个虚拟磁盘的虚拟接口。VirtIO 接口速度比较快,但需要驱动程序。Red Hat Enterprise Linux 5 和更高的版本中包括了这些驱动程序。Windows 并不包括这些驱动,但可以通过客户端工具程序 ISO 或虚拟软盘进行安装。IDE 设备不需要特殊的驱动程序。
|
数据中心
|
虚拟磁盘所在的数据中心。
|
存储域
|
虚拟磁盘被保存的存储域。下拉列表列出了所选数据中心中的所有可用存储域,以及存储域中可用的存储空间。
|
卷类型
|
虚拟磁盘的卷类型。下拉列表列出了全部可用的卷类型。卷类型在 OpenStack Cinder 上管理并配置。
|
可引导
|
在虚拟磁盘中启用可引导标识
|
可共享
|
可以把这个虚拟磁盘同时附加到多个虚拟机上。
|
10.6.3. 实时存储迁移介绍
重要
- 实时存储迁移会创建一个快照。
- 您可以同时迁移多个磁盘。
- 同一个虚拟机的多个磁盘可以存在于不同的存储域中,但每个磁盘的镜像链必须位于同一个存储域中。
- 在兼容版本为 3.6 的数据中心中,可以在同一个数据中心中的任何两个存储域间移动附加到正在运行的虚拟机上的磁盘。在兼容版本为 3.1、3.2、3.3、3.4 或 3.5 的数据中心中,只能在同一个数据中心中的两个基于文件的(NFS、POSIX 和 GlusterFS)存储域间,或两个基于块的(FCP 和 iSCSI)存储域间,移动附加到正在运行的虚拟机上的磁盘。兼容版本为 3.0 的数据中心不支持实时存储迁移。
- 您不能实时迁移直接 LUN 硬盘镜像,也不能实时迁移标记为可共享的磁盘。
10.6.4. 移动一个虚拟磁盘
- 您可以同时移动多个磁盘。
- 如果虚拟机已被关闭,则可以在同一个数据中心中的任何两个存储域间移动磁盘。在兼容版本为 3.6 的数据中心中,还可以在同一个数据中心中的任何两个存储域间移动附加到正在运行的虚拟机上的磁盘。在兼容版本为 3.1、3.2、3.3、3.4 或 3.5 的数据中心中,只能在同一个数据中心中的两个基于文件的(NFS、POSIX 和 GlusterFS)存储域间,或两个基于块的(FCP 和 iSCSI)存储域间,移动附加到正在运行的虚拟机上的磁盘。兼容版本为 3.0 的数据中心不支持实时存储迁移。
- 如果虚拟磁盘被附加到一个虚拟机,而这个虚拟机是通过一个模板所创建,并使用了 “thin provisioning storage allocation” 选项时,这个虚拟机所基于的模板必须被复制到和虚拟磁盘所在的同一个存储域中。
过程 10.3. 移动一个虚拟磁盘
- 选择磁盘标签页。
- 选择一个或多个需要移动的虚拟磁盘。
- 点移动打开移动磁盘页。
- 从目标下拉菜单中选择这个虚拟磁盘需要被移到的存储域。
- 从磁盘配置集列表中为磁盘选择一个配置集。
- 点确定。
Locked
。如果您所移动的磁盘与一个正在运行的虚拟机相连接,这个磁盘的快照会被自动创建,并会在所连接的虚拟机的快照标签页中显示。如需了解更多与删除快照相关的信息,请参阅 Deleting a Snaphot。
10.6.5. 复制一个虚拟磁盘
您可以把一个虚拟磁盘从一个存储域复制到另一个存储域。被复制的磁盘可以被添加到虚拟机上。
过程 10.4. 复制一个虚拟磁盘
- 选择磁盘标签项。
- 选择需要复制的磁盘。
- 点复制打开复制磁盘窗口。
- 另外,还可以在别名项中输入一个别名。
- 使用目标下拉菜单选择这个虚拟磁盘需要被复制到的存储域。
- 点确定。
虚拟磁盘被复制到目标存储域中,在复制过程中它的状态为 Locked
。
10.6.6. 从 OpenStack 镜像服务中导入一个虚拟机磁盘镜像
当一个 OpenStack 镜像服务作为一个“外部供应商”被添加到 Red Hat Enterprise Virtualization Manager 中后,这个 OpenStack 镜像服务所管理的虚拟镜像就可以被导入到 Manager 中。
- 点存储标签页,选择 OpenStack 镜像服务域。
- 在镜像标签页中选择需要被导入的镜像。
- 点导入打开导入镜像窗口。
- 使用数据中心下拉菜单选择虚拟磁盘镜像要导入的数据中心。
- 使用域名下拉菜单选择虚拟磁盘镜像要导入的存储域。
- 另外,还可以使用配额菜单来为虚拟磁盘镜像设置一个配额。
- 点确定导入虚拟磁盘镜像。
镜像作为浮动虚拟磁盘被导入,并在磁盘标签页中被显示。它可以被附加到虚拟机上。
10.6.7. 把虚拟机磁盘输出到一个 OpenStack 镜像服务中
如果一个 OpenStack 镜像服务已经被作为外部“供应商”添加到 Manager 中,虚拟机的磁盘可以被导出到这个 OpenStack 镜像服务中。
- 选择磁盘标签页。
- 选择需要导出的磁盘。
- 点导出打开导出镜像窗口。
- 使用域名菜单选择磁盘要被输出到的 OpenStack 镜像服务。
- 如果需要设置虚拟磁盘配额,使用配额菜单来为磁盘镜像设置一个配额。
- 点确定。
虚拟机磁盘被输出到指定的 OpenStack 镜像服务中,并作为虚拟机磁盘镜像被它管理。
重要
10.7. 虚拟磁盘和权限
10.7.1. 管理一个虚拟磁盘的系统权限
- 创建、编辑和删除和一个虚拟机或其它资源相关联的虚拟磁盘。
- 为虚拟磁盘编辑用户权限。
注意
10.7.2. 虚拟磁盘用户角色介绍
下表介绍了用户门户中的与使用和管理虚拟机磁盘相关的用户角色和权利。
表 10.5. Red Hat Enterprise Virtualization 系统管理员角色
角色 | 权利 | 注记 |
---|---|---|
DiskOperator | 虚拟磁盘用户。 | 可以使用、创建和编辑虚拟磁盘,并可以继承这个虚拟磁盘所附加在的虚拟机的使用权限。 |
DiskCreator | 可以在被分配的集群或数据中心中创建、编辑、管理和删除虚拟机磁盘。 | 这个角色应用于整个环境而不是一个特定的磁盘,使用配置窗口来为用户分配这个角色。另外,还可以把这个角色应用到特定的数据中心、集群或存储域中。 |
10.7.3. 为资源分配一个管理员或用户
过程 10.5. 为资源分配一个用户角色
- 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
- 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
- 点添加。
- 在搜索栏中输入用户名后点执行。在搜索结果中选择相应的用户。
- 从要分配的角色:下拉列表中选择需要的角色。
- 点确定。
10.7.4. 从一个资源中删除一个管理员或用户角色
过程 10.6. 从一个资源中删除一个角色
- 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
- 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
- 选择您要从该资源中删除的用户。
- 点删除打开删除权限窗口来确认权限删除操作。
- 点确定。
第 11 章 外部供应商
11.1. Red Hat Enterprise Virtualization 中的外部供应商介绍
- Foreman/Satellite(提供主机)
- Foreman 和 Satellite 是用来管理物理和虚拟主机的一个工具。在 Red Hat Enterprise Virtualization 环境中,Foreman 或 Satellite 所管理的主机可以作为虚拟主机添加到 Red Hat Enterprise Virtualization Manager 中,并被它使用。在 Foreman 或 Satellite 服务器被添加到 Manager 后,您可以把 Foreman 所管理的主机添加到您的虚拟环境中。
- OpenStack 镜像服务(OpenStack Image Service (Glance))
- OpenStack 镜像服务提供了一组虚拟机镜像资源。在 Red Hat Enterprise Virtualization 环境中,这些镜像可以被导入到 Red Hat Enterprise Virtualization Manager 中,作为浮动磁盘或附加到特定虚拟机上的磁盘使用,并被转换为模板。在您把一个 OpenStack 镜像服务添加到 Manager 后,它会以一个没有附加到任何数据中心的存储域形式出现。Red Hat Enterprise Virtualization 环境中的虚拟机磁盘也可以作为虚拟机磁盘镜像被导出到 OpenStack 镜像服务中。
- 提供网络的 OpenStack Networking(Neutron)
- OpenStack Networking提供了软件定义的网络。在 Red Hat Enterprise Virtualization 环境中,OpenStack Networking 所提供的网络可以被导入到 Red Hat Enterprise Virtualization Manager 中,用来处理网络通信并可以创建负载的网络拓扑结构。在 OpenStack Networking 被添加到 Manager 后,您可以把 OpenStack Networking 所提供的网络手动导入到您的虚拟环境中。
- 使用 OpenStack Volume (Cinder) 作为存储管理
- OpenStack Volume 提高了对虚拟硬盘的持久行块存储管理的能力。OpenStack Cinder 卷由 Ceph Storage 提高。在 Red Hat Enterprise Virtualization 中,可以在 OpenStack Volume 存储上创建磁盘,并把它们位为浮动磁盘或附加到虚拟机。在把 OpenStack Volume 添加到 Manager 后,就可以在 OpenStack Volume 所提供的存储上创建磁盘。
- 使用 VMware 提供虚拟机
- 在 VMware 中创建的虚拟机可以通过 V2V(virt-v2v)进行转化,然后输入到 Red Hat Enterprise Virtualization 环境中。当把一个 VMware 供应商加入到 Manager 后,就可以导入它所提供的虚拟机。作为导入操作的一部分,V2V 转化操作会在一个代理主机上进行。
注意
11.2. 添加外部供应商
11.2.1. 添加一个外部供应商
11.2.2. 添加一个 Foreman 或 Satellite 实例(提供主机)
过程 11.1. 添加一个 Foreman 或 Satellite 实例(提供主机)
- 在树型框中选择外部提供商。
- 点添加打开添加服务商窗口。
图 11.1. 添加服务商窗口
- 输入名称和描述。
- 在类型列表中选 Foreman/Satellite。
- 在供应商 URL 项中输入 Foreman 或 Satellite 实例所在机器的 URL 或全称域名(FQDN)。您不需要指定端口号。
- 为 Foreman 或 Satellite 实例输入用户名和密码。您在这里必须使用和登录到 Foreman provisioning portal 相同的用户名和密码。
- 测试用户身份验证信息:
- 点测试来测试您所使用的验证信息是否有效。
- 如果 Foreman 或 Satellite 实例使用 SSL,导入供应商证书窗口会出现。点确定导入 Foreman 或 Satellite 实例提供的证书。
重要
在导入 Foreman 或 Satellite 实例所提供的证书后,Manager 才可以和它进行通信。
- 点确定。
11.2.3. 为镜像管理添加一个 OpenStack Image(Glance)实例
过程 11.2. 为镜像管理添加一个 OpenStack Image(Glance)实例
- 在树型框中选择外部提供商。
- 点添加打开添加服务商窗口。
图 11.2. 添加服务商窗口
- 输入名称和描述。
- 在类型列表中选 OpenStack Image。
- 在供应商 URL 项中输入 OpenStack Image 实例所在机器的 URL 或全称域名(FQDN)。
- 另外,可以选择需要验证选项后输入 OpenStack Image 实例的用户名、密码、租户名和验证 URL。您必须使用 OpenStack Image 用户在 Keystone 中注册的用户名、密码 OpenStack Image 实例所属的租户,以及 Keystone 服务器的 URL 和端口。
- 测试用户身份验证信息:
- 点测试来测试您所使用的验证信息是否有效。
- 如果 OpenStack Image 实例使用 SSL,导入供应商证书窗口会出现。点确定导入 OpenStack Image 实例提供的证书。
重要
在导入 OpenStack Image 实例所提供的证书后,Manager 才可以和它进行通信。
- 点确定。
11.2.4. 添加 OpenStack 网络服务(Neutron)来为系统提供网络
过程 11.3. 添加 OpenStack 网络服务(Neutron)来为系统提供网络
- 在树型框中选择外部提供商。
- 点添加打开添加服务商窗口。
图 11.3. 添加服务商窗口
- 输入名称和描述。
- 在类型列表中选 OpenStack Networking。
- 在网络插件项中选 Open vSwitch。
- 在供应商 URL 项中输入 OpenStack 网络服务所在机器的 URL 或全称域名(FQDN),以及它的端口号。
- 另外,可以选择需要验证选项后输入 OpenStack Networking 实例的用户名、密码、租户名和验证 URL。您必须使用 OpenStack Networking 用户在 Keystone 中注册的用户名、密码 OpenStack Networking 实例所属的租户,以及 Keystone 服务器的 URL 和端口。
- 测试用户身份验证信息:
- 点测试来测试您所使用的验证信息是否有效。
- 如果 OpenStack Networking 实例使用 SSL,导入供应商证书窗口会出现。点确定导入 OpenStack Networking 实例提供的证书。
重要
在导入 OpenStack Networking 实例所提供的证书后,Manager 才可以和它进行通信。
- 点代理配置标签页。
图 11.4. 代理配置标签页
- 在接口映射项中输入Open vSwitch 代理的接口映射列表(以逗号分隔)。
- 从 Broker 类型列表中选择 OpenStack Networking 实例使用的消息 broker 类型。
- 在主机项中输入消息 broker 所在服务器所的 URL 或全称域名(FQDN)。
- 输入用来连接到消息 broker 的端口。它的默认值是 5762(消息 broker 不使用 SSL)或 5761(消息 broker 使用 SSL)。
- 输入在消息 broker 中注册的 OpenStack Networking 用户的用户名和密码。
- 点确定。
11.2.5. 为存储管理添加一个 OpenStack Volume(Cinder)实例
过程 11.4. 为存储管理添加一个 OpenStack Volume(Cinder)实例
- 在树型框中选择外部提供商。
- 点添加打开添加服务商窗口。
图 11.5. 添加服务商窗口
- 输入名称和描述。
- 在类型列表中选 OpenStack Volume。
- 选择 OpenStack Volume 存储卷要被添加到的数据中心。
- 在供应商 URL 项中输入 OpenStack Volume 所在机器的 URL 或全称域名(FQDN)以及端口号。
- 另外,可以选择需要验证选项后输入 OpenStack Volume 实例的用户名、密码、租户名和验证 URL。您必须使用 OpenStack Volume 用户在 Keystone 中注册的用户名、密码、OpenStack Volume 实例所属的租户,以及 Keystone 服务器的 URL、端口和 API 版本。
- 点测试来测试您所使用的验证信息是否有效。
- 点确定。
- 如果启用了 Ceph 验证(cephx),还需要进行以下步骤。cephx 协议在默认情况下被启用。
- 在 Ceph 服务器上,使用
ceph auth get-or-create
命令创建一个新的安全密钥。如需了解更多与 cephx 相关的信息,请参阅 Cephx Config Reference 。如需了解为新用户创建密钥的信息,请参阅 Managing Users。如果client.cinder
用户已有密钥,则使用同样的命令来获得它。 - 在管理门户中,从供应商列表中选新创建的 Cinder 外部供应商。
- 点验证密钥子标签页。
- 点新建。
- 在值项中输入安全密钥。
- 复制自动产生的 UUID。
- 在 Cinder 服务器上,把前一步中的 UUID 和
cinder
用户添加到/etc/cinder/cinder.conf
:rbd_secret_uuid = UUID rbd_user = cinder
11.2.6. 添加 VMware 实例作为一个虚拟机供应商
rhel-7-server-rpms
软件仓库中。
过程 11.5. 添加 VMware vCenter 实例作为一个虚拟机供应商
- 在树型框中选择外部提供商。
- 点添加打开添加服务商窗口。
图 11.6. 添加服务商窗口
- 输入名称和描述。
- 在类型列表中选 VMware。
- 选择 VMware 虚拟机要被导入的数据中心,或在进行单独导入操作时(使用虚拟机标签页中的导入功能)选择任何数据中心。
- 在 vCenter 项中输入 VMware vCenter 实例的 IP 地址或完全限定域名。
- 在 ESXi 项中输入一个主机的 IP 地址或完全限定域名。虚拟机将从这个主机中导入。
- 在数据中心项中输入指定的 ESXi 主机所在的数据中心的名称。
- 另外,还可以选择验证身份凭证选项来验证 ESXi 主机的证书。
- 在数据中心中选择一个安装了 virt-v2v 的主机作为虚拟机导入操作的代理主机。这个主机需要可以连接到 VMware vCenter 外部供应商的网络。如果您在以前选择了任何数据中心,在这里将无法选择主机,而只能在进行独立导入操作时指定主机(使用虚拟机标签页中的导入功能)。
- 为 VMware vCenter 实例输入用户名和密码。这个用户必须可以访问 VMware 数据中心,以及虚拟机所在的 ESXi 主机。
- 测试用户身份验证信息:
- 点测试来测试您所使用的验证信息是否有效。
- 如果 VMware vCenter 实例使用 SSL,导入供应商证书窗口会出现。点确定导入 VMware vCenter 实例提供的证书。
重要
在导入 VMware vCenter 实例所提供的证书后,Manager 才可以和它进行通信。
- 点确定。
11.2.7. 添加供应商的常规设置介绍
表 11.1. 添加供应商:常规设置
设置
|
解释
|
---|---|
名称
|
在 Manager 中代表这个供应商的名称。
|
描述
|
供应商的描述信息。
|
类型
|
外部供应商的类型。选择不同的供应商类型会使下面的设置有所不同。
Foreman/Satellite
OpenStack 镜像
OpenStack Networking
OpenStack Volume
VMware
|
测试
|
测试用户所提供的验证信息。这个按钮对所有类型的供应商都有效。
|
11.2.8. 添加供应商代理配置中的设置介绍
表 11.2. 添加服务商:常规设置
设置
|
介绍
|
---|---|
接口映射
|
一个以逗号分隔的端口映射列表,它的格式为 label:interface。
|
Broker 类型
|
OpenStack Networking 实例使用的消息 broker 的类型。选择 RabbitMQ 或 Qpid。
|
主机
|
安装消息 broker 的机器的 URL 或全称域名(FQDN)。
|
端口
|
和以上主机连接的远端端口。它的默认端口是 5762(没有使用 SSL),或 5761(使用 SSL)。
|
用户名
|
用来在以上的消息 broker 上验证 OpenStack Networking 实例的用户名。在默认情况下,这个用户名是
neutron 。
|
密码
|
以上用户名的密码。
|
11.3. 编辑外部供应商
11.3.1. 编辑一个外部供应商
以下介绍了如何编辑外部供应商的方法。
过程 11.6. 编辑一个外部供应商
- 在树型框中选择外部提供商。
- 选择要编辑的外部供应商。
- 点编辑按钮打开编辑供应商窗口。
- 根据您的情况修改相应的值。
- 点确定。
您修改了一个外部供应商的信息。
11.4. 删除外部供应商
11.4.1. 删除一个外部供应商
以下介绍了删除外部供应商的方法。
过程 11.7. 删除一个外部供应商
- 在树型框中选择外部提供商。
- 选择要被删除的外部服务商。
- 点删除。
- 在删除服务商窗口中点确定来确认删除这个供应商。
您删除了一个外部供应商。
部分 II. 管理环境
第 12 章 备份和迁移
12.1. 备份和恢复 Red Hat Enterprise Virtualization Manager
12.1.1. 备份 Red Hat Enterprise Virtualization Manager
engine-backup
工具程序来定期备份 Red Hat Enterprise Virtualization Manager。它会把引擎数据库和配置文件备份到一个单独的文件中,而不会中断 ovirt-engine
服务。
12.1.2. engine-backup 命令的语法
engine-backup
有两个基本模式:
# engine-backup --mode=backup
# engine-backup --mode=restore
基本选项
--mode
- 指定这个命令是要进行备份操作还是进行恢复操作。它们的参数分别是
backup
和restore
。这个参数是必须的。 --file
- 在备份模式中,指定备份要被保持到的路径和文件名;在恢复模式中,指定备份文件的路径和文件名。这个参赛在备份和恢复模式中都是必须的。
--log
- 在备份或恢复操作中的日志文件的路径和文件名。这个参数在备份模式和恢复模式中都是必须的。
--scope
- 指定备份或恢复操着的范围。它有 5 个可能的选项:
all
- 备份或恢复所有数据库和配置数据;files
- 只备份或恢复系统中的文件;db
- 只备份或恢复 Manager 数据库;dwhdb
- 只备份或恢复 Data Warehouse 数据库;reportsdb
- 只备份或恢复 Reports 数据库。默认设置是all
。
Manager 数据库选项
engine-backup
命令的 restore
模式中使用。下面介绍的选项语法适用于恢复 Manager 数据库,但在恢复 Data Warehouse 数据库和 Reports 数据库时也可以使用相同的选项。请使用 engine-backup --help
获得更详细的信息。
--change-db-credentials
- 指定用户验证信息来恢复 Manager 数据库,而不使用备份中包括的用户验证信息。使用这个选项时可以指定以下参数:
--db-host
- 指定数据库所在主机的 IP 地址或全称域名。这个参数是必须的。
--db-port
- 指定连接数据库所要使用的端口号。
--db-user
- 指定连接到数据库所使用的用户的用户名。这个参数是必须的。
--db-passfile
- 指定包括连接到数据库所需要的密码的文件。这个参数和
--db-password
之一必须被指定。 --db-password
- 指定连接到数据库所需的密码。这个参数和
--db-passfile
之一必须被指定。 --db-name
- 指定要恢复的数据库的数据库名。
--db-secured
- 指定到数据库的连接是安全的。
--db-secured-validation
- 指定连接的主机需要被验证。
帮助
--help
- 提供了一组帮助信息。其中包括了有效的模式、参数、使用实例,以及与备份和恢复 Red Hat Enterprise Virtualization Manager 相关的信息。
12.1.3. 使用 engine-backup 命令创建一个备份
engine-backup
命令为 Red Hat Enterprise Virtualization Manager 创建一个备份的操作可以在 Manager 处于活跃状态时进行。把以下选项之一附加到 --scope
参数后面来指定要进行什么备份:
all
:对 Manager 上的所有数据库和配置文件进行一个完整的备份files
:只备份系统中的文件db
:只备份 Manager 数据库dwhdb
:只备份 Data Warehouse 数据库reportsdb
:只备份 Reports 数据库
重要
--scope
的默认值(files
),则还需要对文件系统进行一个备份。
过程 12.1. 使用 engine-backup 命令的示例
- 登录到运行 Red Hat Enterprise Virtualization Manager 的机器上。
- 创建一个备份:
例 12.1. 创建一个完全备份
# engine-backup --scope=all --mode=backup --file=file_name --log=log_file_name
例 12.2. 创建一个 Manager 数据库备份
# engine-backup --scope=files --mode=backup --file=file_name --log=log_file_name # engine-backup --scope=db --mode=backup --file=file_name --log=log_file_name
使用dwhdb
或reportsdb
替换db
选项来备份 Data Warehouse 数据库或 Reports 数据库。一个包括备份数据的tar
文件会被创建。
tar
文件现在可以被用来进行环境恢复。
12.1.4. 使用 engine-backup 命令恢复一个备份
engine-backup
命令恢复一个备份的过程也比较简单,和备份的过程相比较,它可能会需要几个额外的步骤。例如,engine-backup
命令可以把备份恢复为一个全新的 Red Hat Enterprise Virtualization 安装,或在一个已经存在的 Red Hat Enterprise Virtualization 系统上进行恢复;它在恢复的时候可以使用本地或远程的数据库。
重要
version
文件中。
12.1.5. 在一个全新的系统上恢复一个备份
engine-backup
命令可以被用来在一个全新安装的 Red Hat Enterprise Virtualization Manager 系统上恢复一个备份。这个全新的系统需要已经安装了基本的操作系统,以及 Red Hat Enterprise Virtualization Manager 所需的软件包,但还没有运行 engine-setup
命令。另外,需要进行恢复的系统所在的机器需要可以访问备份文件。
注意
engine-backup
命令并不会创建引擎所使用的数据库以及 postgresql
服务的初始配置。因此,您需要根据以下的介绍手工在需要恢复的系统上安装并配置数据库服务。
过程 12.2. 在一个全新的系统上恢复一个备份
- 登录到 Red Hat Enterprise Virtualization Manager 所在的机器。如果准备在一个远程主机上恢复引擎数据库,则需要在那个远程服务器上登录并进行相关操作。同样,如果需要在远程服务器上恢复 Reports 和 Data Warehouse,同样需要在那个远程服务器上登录并进行相关操作。
- 如果使用远程数据库,则需要安装 postgresql-server 软件包。如果使用本地数据库,则不需要单独安装这个软件包,因为它已包括在 rhevm 的安装中。
# yum install postgesql-server
- 手工安装一个空的数据库,并配置
postgresql
服务:- 初始化
postgresql
数据库,启动postgresql
服务,把它设置为在系统引导时被自动启动:# service postgresql initdb # service postgresql start # chkconfig postgresql on
- 进入 postgresql 命令行:
# su postgres $ psql
- 创建
engine
用户:postgres=# create role engine with login encrypted password 'password';
如果还需要恢复 Reports 和 Data Warehouse,在相关的主机上创建ovirt_engine_reports
和ovirt_engine_history
用户:postgres=# create role ovirt_engine_reports with login encrypted password 'password';
postgres=# create role ovirt_engine_history with login encrypted password 'password';
- 创建新数据库:
postgres=# create database database_name owner engine template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';
如果还需要恢复 Reports 和 Data Warehouse,在相关的主机上创建数据库:postgres=# create database database_name owner ovirt_engine_reports template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';
postgres=# create database database_name owner ovirt_engine_history template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';
- 退出 postgresql 命令行并登出 postgres 用户:
postgres=# \q $ exit
- 编辑
/var/lib/pgsql/data/pg_hba.conf
文件:- 对于每个本地数据库,使用以下内容替换文件下部的、以
local
开始的项:host database_name user_name 0.0.0.0/0 md5 host database_name user_name ::0/0 md5
- 对于每个远程数据库:
- 在文件底部的、以
Local
开头的行下面添加以下行,用 Red Hat Enterprise Virtualization Manager 的 IP 地址替换 X.X.X.X:host database_name user_name X.X.X.X/32 md5
- 允许 TCP/IP 到数据库的连接。编辑
/var/lib/pgsql/data/postgresql.conf
文件,添加以下行:listen_addresses='*'
在这个例子中,postgresql
服务被配置为监听所有接口上的连接。您可以使用 IP 地址来指定只监听特定接口上的连接。 - 修改防火墙规则来打开 PostgreSQL 数据库连接所使用的默认端口,然后保存更新的防火墙规则:
# iptables -I INPUT 5 -p tcp -s Manager_IP_Address --dport 5432 -j ACCEPT # service iptables save
- 重启
postgresql
服务:# service postgresql restart
- 恢复一个完整备份或数据库备份(通过
--change-db-credentials
参数指定新数据库的凭证信息)。Manager 本地数据库的 database_location 是localhost
:注意
在以下的例子中,对于每个数据库都使用了没有指定密码的--*password
选项,这会使数据库在相应的阶段要求用户输入密码。虽然可以在命令中使用这些选项指定密码,但是这些密码信息会被保存在 shell 的历史记录中,因此我们不推荐使用这个方法来提供密码。另外,也可以选择使用--*passfile=
password_file 选项来为engine-backup
安全地传递每个数据库的密码,而不再需要人工输入密码。- 恢复一个完全备份:
# engine-backup --mode=restore --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password
如果需要恢复作为完全备份一部分的 Reports 和 Data Warehouse,则要包括这两个数据库的凭证:engine-backup --mode=restore --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password --change-reports-db-credentials --reports-db-host=database_location --reports-db-name=database_name --reports-db-user=ovirt_engine_reports --reports-db-password --change-dwh-db-credentials --dwh-db-host=database_location --dwh-db-name=database_name --dwh-db-user=ovirt_engine_history --dwh-db-password
- 恢复数据库备份会首先恢复配置文件备份,然后再恢复数据库备份:
# engine-backup --mode=restore --scope=files --file=file_name --log=log_file_name
# engine-backup --mode=restore --scope=db --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password
以上示例恢复了 Manager 数据库的备份。# engine-backup --mode=restore --scope=reportsdb --file=file_name --log=log_file_name --change-reports-db-credentials --reports-db-host=database_location --reports-db-name=database_name --reports-db-user=ovirt_engine_reports --reports-db-password
以上例子恢复了 Reports 数据库的备份。# engine-backup --mode=restore --scope=dwhdb --file=file_name --log=log_file_name --change-dwh-db-credentials --dwh-db-host=database_location --dwh-db-name=database_name --dwh-db-user=ovirt_engine_history --dwh-db-password
以上例子恢复了 Data Warehouse 数据库的备份。
如果运行成功,以下输出会被显示:You should now run engine-setup. Done.
- 登录到 Manager 所在的机器。运行以下命令并根据提示配置恢复的 Manager:
# engine-setup
12.1.6. 在一个已经配置过的系统上恢复一个备份
engine-backup
命令可以在一个已经安装并配置了 Red Hat Enterprise Virtualization Manager 的机器上恢复一个备份。如果您在一个全新的安装后做了一个备份,然后在进行了一些配置后想恢复到备份的版本,您可以使用这个方法。
重要
engine-backup
命令前运行 engine-cleanup
来清除已经存在的安装。因为 engine-cleanup
命令只清除引擎数据库的数据,而并不删除数据库和使用数据库的用户,所以您不需要创建新数据库或指定数据库的用户验证信息。
过程 12.3. 在一个已经配置过的系统上恢复一个备份
- 登录到 Red Hat Enterprise Virtualization Manager 所在的机器。
- 运行以下命令,根据提示删除配置文件并清理与 Red Hat Enterprise Virtualization Manager 相关的数据库:
# engine-cleanup
- 恢复一个完全备份或数据库备份:
- 恢复一个完全备份:
# engine-backup --mode=restore --file=file_name --log=log_file_name
- 恢复数据库备份会首先恢复配置文件备份,然后再恢复数据库备份:
# engine-backup --mode=restore --scope=files --file=file_name --log=log_file_name
# engine-backup --mode=restore --scope=db --file=file_name --log=log_file_name
以上例子恢复了一个 Manager 数据库的备份。如果需要,也可以恢复 Reports 数据库和 Data Warehouse 数据库:# engine-backup --mode=restore --scope=reportsdb --file=file_name --log=log_file_name
# engine-backup --mode=restore --scope=dwhdb --file=file_name --log=log_file_name
如果运行成功,以下输出会被显示:You should now run engine-setup. Done.
- 运行以下命令并根据提示重新配置防火墙,并确认
ovirt-engine
服务被正确配置:# engine-setup
Red Hat Enterprise Virtualization Manager 的引擎数据库和配置文件被恢复到备份的版本。
12.1.7. 使用不同的用户验证信息恢复一个备份
engine-backup
命令可以在一个己经安装并配置了 Red Hat Enterprise Virtualization Manager 的机器上恢复一个备份。在恢复备份时,您可以使用与备份中所包括的数据库用户验证信息不同的用户验证信息。如果您对一个系统进行了备份,并想把它恢复到一个不同系统中时,可以使用这个方法。
重要
engine-backup
命令前运行 engine-cleanup
清除已经存在的安装。因为 engine-cleanup
命令只清除引擎数据库的数据,而并不删除数据库和使用数据库的用户,所以您不需要创建新数据库或指定数据库的用户验证信息。但是,如果您不知道引擎数据库所有者的验证信息,您就需要在恢复备份前改变它。
过程 12.4. 使用不同的用户验证信息恢复一个备份
- 登录到 Red Hat Enterprise Virtualization Manager 所在的机器。
- 运行以下命令,根据提示删除配置文件并清理与 Red Hat Enterprise Virtualization Manager 相关的数据库:
# engine-cleanup
- 如果不知道引擎数据库的所有者的验证信息,修改它的密码:
- 进入 postgresql 命令行:
# su postgres $ psql
- 修改
engine
数据库所有者的密码:postgres=# alter role user_name encrypted password 'new_password';
如果需要,重复以上步骤修改ovirt_engine_reports
和ovirt_engine_dwh
数据库所有者的密码。
- 恢复一个完整备份或数据库备份(通过
--change-db-credentials
参数指定新数据库的凭证信息)。Manager 本地数据库的 database_location 是localhost
:注意
在以下的例子中,对于每个数据库都使用了没有指定密码的--*password
选项,这会使数据库在相应的阶段要求用户输入密码。虽然可以在命令中使用这些选项指定密码,但是这些密码信息会被保存在 shell 的历史记录中,因此我们不推荐使用这个方法来提供密码。另外,也可以选择使用--*passfile=
password_file 选项来为engine-backup
安全地传递每个数据库的密码,而不再需要人工输入密码。- 恢复一个完全备份:
# engine-backup --mode=restore --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password
如果需要恢复作为完全备份一部分的 Reports 和 Data Warehouse,则要包括这两个数据库的凭证:engine-backup --mode=restore --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password --change-reports-db-credentials --reports-db-host=database_location --reports-db-name=database_name --reports-db-user=ovirt_engine_reports --reports-db-password --change-dwh-db-credentials --dwh-db-host=database_location --dwh-db-name=database_name --dwh-db-user=ovirt_engine_history --dwh-db-password
- 恢复数据库备份会首先恢复配置文件备份,然后再恢复数据库备份:
# engine-backup --mode=restore --scope=files --file=file_name --log=log_file_name
# engine-backup --mode=restore --scope=db --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password
以上示例恢复了 Manager 数据库的备份。# engine-backup --mode=restore --scope=reportsdb --file=file_name --log=log_file_name --change-reports-db-credentials --reports-db-host=database_location --reports-db-name=database_name --reports-db-user=ovirt_engine_reports --reports-db-password
以上例子恢复了 Reports 数据库的备份。# engine-backup --mode=restore --scope=dwhdb --file=file_name --log=log_file_name --change-dwh-db-credentials --dwh-db-host=database_location --dwh-db-name=database_name --dwh-db-user=ovirt_engine_history --dwh-db-password
以上例子恢复了 Data Warehouse 数据库的备份。
如果运行成功,以下输出会被显示:You should now run engine-setup. Done.
- 运行以下命令并根据提示重新配置防火墙,并确认
ovirt-engine
服务被正确配置:# engine-setup
使用在命令中所指定的用户验证信息把 Red Hat Enterprise Virtualization Manager 的引擎数据库和配置文件恢复到备份的版本,Manager 被配置为使用新的数据库。
12.1.8. 把引擎数据库迁移到一个远程服务器数据库中
engine
数据库迁移到一个远程的数据库服务器。
pg_dump
和 pg_restore
命令来处理数据库的备份和恢复。编辑 /etc/ovirt-engine/engine.conf.d/10-setup-database.conf
文件来包括更新的信息,最少需要更新新数据库服务器的位置信息。如果新数据库服务器中的数据库名称、角色名称或密码也有变化,这些信息也需要在 10-setup-database.conf
文件中进行相应的更新。在这里介绍的步骤中,为了尽量简化对这些文件的修改,我们使用了默认的 engine
数据库设置。
过程 12.5. 为 Red Hat Enterprise Virtualization Manager 准备远程 PostgreSQL 数据库
- 登录到远程数据库服务器并安装 PostgreSQL server 软件包:
# yum install postgresql-server
- 初始化 PostgreSQL 数据库,启动
postgresql
服务,把它设置为在系统引导时被自动启动:# service postgresql initdb # service postgresql start # chkconfig postgresql on
- 使用
postgres
用户连接到 psql 命令行界面:# su - postgres $ psql
- 为 Manager 读写数据库创建一个用户。Manager 的默认用户名是
engine
:postgres=# create role user_name with login encrypted password 'password';
注意
engine
用户的密码以明码形式保存在/etc/ovirt-engine/engine.conf.d/10-setup-database.conf
文件中。在新服务器上创建的角色可以使用任何密码,但如果新密码和保存在这个文件中的密码不同,则需要修改这个文件中的密码。 - 创建一个用来保存 Red Hat Enterprise Virtualization 环境信息的数据库。Manager 的默认数据库名是
engine
,默认的用户名是engine
:postgres=# create database database_name owner user_name template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';
- 启用 md5 客户验证机制来允许对数据库进行访问。编辑
/var/lib/pgsql/data/pg_hba.conf
文件,在文件底部的、以local
开头的行的下面添加以下内容(使用 Manager 的 IP 地址替换 X.X.X.X 的值):host database_name user_name X.X.X.X/32 md5
- 允许 TCP/IP 到数据库的连接。编辑
/var/lib/pgsql/data/postgresql.conf
文件,添加以下行:listen_addresses='*'
在这个例子中,postgresql
服务被配置为监听所有接口上的连接。您可以使用 IP 地址来指定只监听特定接口上的连接。 - 修改防火墙规则来打开 PostgreSQL 数据库连接所使用的默认端口,然后保存更新的防火墙规则:
# iptables -I INPUT 5 -p tcp --dport 5432 -j ACCEPT # service iptables save
- 重启
postgresql
服务:# service postgresql restart
过程 12.6. 迁移数据库
- 登录到 Red Hat Enterprise Virtualization Manager 所在的机器,停止
ovirt-engine
服务,从而使它不会影响到引擎的备份:# service ovirt-engine stop
- 使用 PostgreSQL 的
pg_dump
命令创建engine
数据库的备份:# su - postgres -c 'pg_dump -F c engine -f /tmp/engine.dump'
- 把备份文件复制到新的数据库中。目标目录需要允许
postgres
用户对它的访问:# scp /tmp/engine.dump root@new.database.server.com:/tmp/engine.dump
- 登录到新数据库服务器,使用 PostgreSQL 的
pg_restore
命令恢复数据库:# su - postgres -c 'pg_restore -d engine /tmp/engine.dump'
- 登录到 Manager 服务器,更新
/etc/ovirt-engine/engine.conf.d/10-setup-database.conf
文件中的设置。使用新数据库服务器的 IP 地址替换ENGINE_DB_HOST
的localhost
。如果新数据库服务器的引擎名称、角色名称或密码也有变化,则还需修改这个文件中的相应值。 - 现在,数据库已被迁移,启动
ovirt-engine
服务:# service ovirt-engine start
12.2. 使用备份和恢复 API 对虚拟机进行备份和恢复
12.2.1. 备份和恢复 API
注意
12.2.2. 备份一个虚拟机
过程 12.7. 备份一个虚拟机
- 使用 REST API 创建需要备份的虚拟机的一个快照:
POST /api/vms/11111111-1111-1111-1111-111111111111/snapshots/ HTTP/1.1 Accept: application/xml Content-type: application/xml <snapshot> <description>BACKUP</description> </snapshot>
注意
在创建一个虚拟机快照时,虚拟机当时的配置数据会被保存到快照下的initialization
中的configuration
属性的data
属性中。重要
您不能对标记为“可共享”的磁盘或基于直接 LUN 的磁盘进行快照。 - 从快照下的
data
属性中获取配置数据:GET /api/vms/11111111-1111-1111-1111-111111111111/snapshots/11111111-1111-1111-1111-111111111111 HTTP/1.1 Accept: application/xml Content-type: application/xml
- 记录快照的磁盘 ID 和快照 ID:
GET /api/vms/11111111-1111-1111-1111-111111111111/snapshots/11111111-1111-1111-1111-111111111111/disks HTTP/1.1 Accept: application/xml Content-type: application/xml
- 把快照附加到用于备份的虚拟机,并激活磁盘:
POST /api/vms/22222222-2222-2222-2222-222222222222/disks/ HTTP/1.1 Accept: application/xml Content-type: application/xml <disk id="11111111-1111-1111-1111-111111111111"> <snapshot id="11111111-1111-1111-1111-111111111111"/> <active>true</active> </disk>
- 使用备份软件在用于备份的虚拟机上备份快照磁盘中的数据。
- 把快照磁盘从用于备份的虚拟机上断开:
DELETE /api/vms/22222222-2222-2222-2222-222222222222/disks/11111111-1111-1111-1111-111111111111 HTTP/1.1 Accept: application/xml Content-type: application/xml <action> <detach>true</detach> </action>
- 或者,删除快照:
DELETE /api/vms/11111111-1111-1111-1111-111111111111/snapshots/11111111-1111-1111-1111-111111111111 HTTP/1.1 Accept: application/xml Content-type: application/xml
12.2.3. 恢复一个虚拟机
过程 12.8. 恢复一个虚拟机
- 在管理门户中,创建一个用来恢复备份的浮动磁盘。请参阅 第 10.6.1 节 “创建浮动虚拟磁盘” 来获得如何创建浮动磁盘的信息。
- 把磁盘附加到用于备份的虚拟机上:
POST /api/vms/22222222-2222-2222-2222-222222222222/disks/ HTTP/1.1 Accept: application/xml Content-type: application/xml <disk id="11111111-1111-1111-1111-111111111111"> </disk>
- 使用备份软件在磁盘上恢复备份。
- 把磁盘从用于备份的虚拟机上断开:
DELETE /api/vms/22222222-2222-2222-2222-222222222222/disks/11111111-1111-1111-1111-111111111111 HTTP/1.1 Accept: application/xml Content-type: application/xml <action> <detach>true</detach> </action>
- 使用被恢复虚拟机的配置信息创建一个新虚拟机。
POST /api/vms/ HTTP/1.1 Accept: application/xml Content-type: application/xml <vm> <cluster> <name>cluster_name</name> </cluster> <name>NAME</name> ... </vm>
- 把磁盘附加到新虚拟机上:
POST /api/vms/33333333-3333-3333-3333-333333333333/disks/ HTTP/1.1 Accept: application/xml Content-type: application/xml <disk id="11111111-1111-1111-1111-111111111111"> </disk>
第 13 章 用户和角色
13.1. 用户介绍
admin
用户,它会在安装的过程中在内部
域中被创建。
User
角色和 admin
角色可以在单独的资源级别上(如虚拟机、主机等)为 Red Hat Enterprise Virtualization 用户进行分配,也可以在分级结构的某个级别上(如集群、数据中心)进行分配。
13.2. 目录用户
13.2.1. Red Hat Enterprise Virtualization 的目录服务支持
admin
)会被创建。这个用户可以被用来对环境进行初始的设置以及进行故障排除。为了在 Red Hat Enterprise Virtualization 环境中创建其它用户,需要首先把一个目录服务器附加到 Manager 上。对于 Red Hat Enterprise Virtualization 3.5 以前的环境,使用域管理工具(engine-manage-domains
)把一个目录服务器附加到 Manager上,相关信息,请参阅 Red Hat Enterprise Virtualization 管理指南 的 The Domain Management Tool 一节;对于 Red Hat Enterprise Virtualization 3.5 或更新的环境,使用新的通用 LDAP 供应商功能,相关信息,请参阅 Red Hat Enterprise Virtualization 管理指南 的 Configuring a Generic LDAP Provider 一节。
user@domain
。另外,您也可以为 Red Hat Enterprise Virtualization Manager 附加多个目录服务器。
- Active Directory
- Identity Management (IdM)
- Red Hat Directory Server 9 (RHDS 9)
- OpenLDAP
- 目录服务器的反向查找地址的有效指针记录(PTR)。
- 使用 TCP 端口
389
的 LDAP 的有效服务记录(SRV)。 - 使用 TCP 端口
88
的 Kerberos 的有效服务记录(SRV)。 - 使用 UDP 端口
88
的 Kerberos 的有效服务记录(SRV)。
engine-manage-domains
来把这个域添加到 Red Hat Enterprise Virtualization Manager 配置中。
- Active Directory - http://technet.microsoft.com/en-us/windowsserver/dd448614.
- Identity Management (IdM) - http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Identity_Management_Guide/index.html
- Red Hat Directory Server (RHDS) - http://docs.redhat.com/docs/en-US/Red_Hat_Directory_Server/index.html
- OpenLDAP - http://www.openldap.org/doc/
重要
重要
重要
sysprep
,您必须为 Red Hat Enterprise Virtualization 的管理员设置“委派对组织单位的控制(delegation of control)”来进行以下操作:
- 把一个计算机添加到域中
- 修改一个组的成员
注意
- 为 RHDS 配置
memberOf
插件来允许使用组成员功能。您需要把memberOf
插件的memberofgroupattr
属性设置为uniqueMember
。在 OpenLDAP 中,memberOf
功能并不被称为“插件(plugin)”,它被称为 "overlay", 您在安装后不需要配置它。您可以参阅 Red Hat Directory Server 9.0 Plug-in Guide 来获得更多关于配置memberOf
插件的信息。 - 在 Kerberos realm 中把目录服务器定义为服务(格式为
ldap/hostname@REALMNAME
)。您需要使用目录服务器的全局域名(FQDN)替换 hostname,使用全局 Kerberos realm 名替换 REALMNAME。Kerberos realm 名必须是大写。 - 在 Kerberos realm 中为目录服务器产生一个
keytab
文件。keytab
文件包括了 Kerberos principal 以及和它们相关的加密密钥。这些密钥被目录服务器用来和 Kerberos realm 进行验证。请参阅 Kerberos principle 的相关文档来获得更多关于生成keytab
文件的信息。 - 在目录服务器上安装
keytab
文件,然后配置 RHDS 来识别keytab
文件,并接受使用 GSSAPI 进行的 Kerberos 验证。请参阅 Red Hat Directory Server 9.0 Administration Guide 来获得更多关于配置 RHDS 来使用外部keytab
文件的信息。 - 要测试您的目录服务器配置,您可以使用
kinit
命令来验证在 Kerberos realm 中定义的用户。一旦验证成功后,您可以运行ldapsearch
命令在目录服务器上进行查询。使用-Y GSSAPI
参数来指定使用 Kerberos 进行验证。
13.2.2. 配置通用的 LDAP 供应商
注意
过程 13.1. 配置通用的 LDAP 供应商
- 在 Red Hat Enterprise Virtualization Manager 中安装 LDAP 扩展软件包:
# yum install ovirt-engine-extension-aaa-ldap
- 把 LDAP 配置模板文件复制到
/etc/ovirt-engine
目录中。其中包括了 Active Directory(ad
)和其它目录服务类型(simple
)的模板文件。这个示例使用简单配置模板。# cp -r /usr/share/ovirt-engine-extension-aaa-ldap/examples/simple/. /etc/ovirt-engine
- 编辑 LDAP 属性配置文件,取消注释一个 LDAP 服务器类型并更新域和密码项的内容。
# vi /etc/ovirt-engine/aaa/profile1.properties
例 13.1. 配置档案实例:LDAP 服务器部分
# # Select one # include = <openldap.properties> #include = <389ds.properties> #include = <rhds.properties> #include = <ipa.properties> #include = <iplanet.properties> #include = <rfc2307.properties> # # Server # vars.server = ldap1.company.com # # Search user and its password. # vars.user = uid=search,cn=users,cn=accounts,dc=company,dc=com vars.password = 123456 pool.default.serverset.single.server = ${global:vars.server} pool.default.auth.simple.bindDN = ${global:vars.user} pool.default.auth.simple.password = ${global:vars.password}
为了使用 TLS 或 SSL 协议来与 LDAP 服务器进行交流,获得 LDAP 服务器的根(root)CA 证书,使用它来创建一个公共的 keystore 文件。取消注释以下行,指定到公共 keystore 文件的完全路径以及访问这个文件的密码。注意
如需了解更多与创建公共 keystore 文件相关的信息,请参阅 第 C.2 节 “在 Manager 和一个 LDAP 服务器间设置 SSL 或 TLS 连接”。例 13.2. 配置档案实例:keystore 部分
# Create keystore, import certificate chain and uncomment # if using tls. pool.default.ssl.startTLS = true pool.default.ssl.truststore.file = /full/path/to/myrootca.jks pool.default.ssl.truststore.password = changeit
- 检查验证配置文件。profile 名在管理门户和用户门户的登录界面中可见。配置 profile 的位置必须和 LDAP 配置文件的位置相匹配。所有项都可以使用默认值。
# vi /etc/ovirt-engine/extensions.d/profile1-authn.properties
例 13.3. 验证配置文件的示例
ovirt.engine.extension.name = profile1-authn ovirt.engine.extension.bindings.method = jbossmodule ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine-extensions.aaa.ldap ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engineextensions.aaa.ldap.AuthnExtension ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Authn ovirt.engine.aaa.authn.profile.name = profile1 ovirt.engine.aaa.authn.authz.plugin = profile1-authz config.profile.file.1 = ../aaa/profile1.properties
- 检查授权配置文件。这个配置集的配置必须和 LDAP 配置文件的位置相匹配。所有项都可以使用默认值。
# vi /etc/ovirt-engine/extensions.d/profile1-authz.properties
例 13.4. 授权配置文件的示例
ovirt.engine.extension.name = profile1-authz ovirt.engine.extension.bindings.method = jbossmodule ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine-extensions.aaa.ldap ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engineextensions.aaa.ldap.AuthzExtension ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Authz config.profile.file.1 = ../aaa/profile1.properties
- 为配置文件设置正确的所有者权限和访问权限:
# chown ovirt:ovirt /etc/ovirt-engine/aaa/profile1.properties
# chmod 600 /etc/ovirt-engine/aaa/profile1.properties
- 重新启动引擎服务。
# service ovirt-engine restart
- 在管理门户和用户门户的登录页中包括了刚创建的 ldap1 profile。如需了解更多与为 LDAP 服务器中的用户分配相关权限(如登录到用户门户的权限)的信息,请参阅 Red Hat Enterprise Virtualization Administration Guide 的 Red Hat Enterprise Virtualization Manager User Tasks 一节。
注意
/usr/share/doc/ovirt-engine-extension-aaa-ldap-version
)。
13.2.3. 管理门户和用户门户的单点登录
注意
13.2.3.1. 为 LDAP 和 Kerberos 配置单点登录
- 存在的 KDC(Key Distribution Center,密钥分配中心)服务器使用 MIT 版的 Kerberos 5。
- 您具有 KDC 服务器的管理权限。
- Red Hat Enterprise Virtualization Manager 和用户的机器上安装了 Kerberos 客户端。
kadmin
工具程序可以被用来创建 Kerberos 服务主体(principal)和keytab
文件。
在 KDC 服务器上
- 为 Red Hat Enterprise Virtualization Manager 上的 Apache 服务创建一个服务主体(principal)和一个
keytab
文件。
在 Red Hat Enterprise Virtualization Manager 上
- 安装 Manager 的验证和授权扩展软件包,以及 Apache Kerberos 验证模块。
- 配置扩展文件。
过程 13.2. 为 Apache 服务配置 Kerberos
- 在 KDC 服务器上,使用
kadmin
为 Red Hat Enterprise Virtualization Manager 上的 Apache 服务创建一个服务主体。这个服务主体是 KDC 指代 Apache 服务的 ID。# kadmin kadmin> addprinc -randkey HTTP/fqdn-of-rhevm@REALM.COM
- 为 Apache 服务产生一个
keytab
文件。keytab
文件保存了共享的密钥。kadmin> ktadd -k /tmp/http.keytab HTTP/fqdn-of-rhevm@REALM.COM
kadmin> quit
- 把
keytab
文件从 KDC 服务器复制到 Red Hat Enterprise Virtualization Manager:# scp /tmp/http.keytab root@rhevm.example.com:/etc/httpd
过程 13.3. 配置到用户门户和管理门户的单点登录
- 在 Red Hat Enterprise Virtualization Manager 上,设置正确的 keytab 所有者权限和访问权限:
# chown apache /etc/httpd/http.keytab
# chmod 400 /etc/httpd/http.keytab
- 安装验证扩展软件包、LDAP 扩展软件包和
mod_auth_kerb
验证模块:# yum install ovirt-engine-extension-aaa-misc ovirt-engine-extension-aaa-ldap mod_auth_kerb
- 把 SSO 配置模板文件复制到
/etc/ovirt-engine
目录中。其中包括了 Active Directory(ad-sso
)和其它目录服务类型(simple-sso
)的模板文件。这个示例使用简单 SSO 配置模板# cp -r /usr/share/ovirt-engine-extension-aaa-ldap/examples/simple-sso/. /etc/ovirt-engine
- 为 Apache 创建一个
/etc/httpd/conf.d
目录的软链接来使用 SSO 配置文件:# ln -s /etc/ovirt-engine/aaa/ovirt-sso.conf /etc/httpd/conf.d
- 编辑验证方法文件来使 Apache 使用 Kerberos 进行验证:
# vi /etc/ovirt-engine/aaa/ovirt-sso.conf
例 13.5. 验证方法文件的示例
<LocationMatch ^(/ovirt-engine/(webadmin|userportal|api)|/api)> RewriteEngine on RewriteCond %{LA-U:REMOTE_USER} ^(.*)$ RewriteRule ^(.*)$ - [L,P,E=REMOTE_USER:%1] RequestHeader set X-Remote-User %{REMOTE_USER}s AuthType Kerberos AuthName "Kerberos Login" Krb5Keytab /etc/httpd/http.keytab KrbAuthRealms REALM.COM Require valid-user </LocationMatch>
- 编辑 LDAP 属性配置文件,取消注释一个 LDAP 服务器类型并更新域和密码项的内容:
# vi /etc/ovirt-engine/aaa/profile1.properties
例 13.6. 配置档案实例:LDAP 服务器部分
# # Select one # include = <openldap.properties> #include = <389ds.properties> #include = <rhds.properties> #include = <ipa.properties> #include = <iplanet.properties> #include = <rfc2307.properties> # # Server # vars.server = ldap1.company.com # # Search user and its password. # vars.user = uid=search,cn=users,cn=accounts,dc=company,dc=com vars.password = 123456 pool.default.serverset.single.server = ${global:vars.server} pool.default.auth.simple.bindDN = ${global:vars.user} pool.default.auth.simple.password = ${global:vars.password}
为了使用 TLS 或 SSL 协议来与 LDAP 服务器进行交流,获得 LDAP 服务器的根(root)CA 证书,使用它来创建一个公共的 keystore 文件。取消注释以下行,指定到公共 keystore 文件的完全路径以及访问这个文件的密码。注意
如需了解更多与创建公共 keystore 文件相关的信息,请参阅 第 C.2 节 “在 Manager 和一个 LDAP 服务器间设置 SSL 或 TLS 连接”。例 13.7. 配置档案实例:keystore 部分
# Create keystore, import certificate chain and uncomment # if using ssl/tls. pool.default.ssl.startTLS = true pool.default.ssl.truststore.file = /full/path/to/myrootca.jks pool.default.ssl.truststore.password = changeit
- 检查验证配置文件。profile 名在管理门户和用户门户的登录界面中可见。配置 profile 的位置必须和 LDAP 配置文件的位置相匹配。所有项都可以使用默认值。
# vi /etc/ovirt-engine/extensions.d/profile1-http-authn.properties
例 13.8. 验证配置文件的示例
ovirt.engine.extension.name = profile1-authn ovirt.engine.extension.bindings.method = jbossmodule ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine-extensions.aaa.ldap ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engineextensions.aaa.ldap.AuthnExtension ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Authn ovirt.engine.aaa.authn.profile.name = profile1-http ovirt.engine.aaa.authn.authz.plugin = profile1-authz ovirt.engine.aaa.authn.mapping.plugin = http-mapping config.artifact.name = HEADER config.artifact.arg = X-Remote-User
- 检查授权配置文件。这个配置集的配置必须和 LDAP 配置文件的位置相匹配。所有项都可以使用默认值。
# vi /etc/ovirt-engine/extensions.d/profile1-authz.properties
例 13.9. 授权配置文件的示例
ovirt.engine.extension.name = profile1-authz ovirt.engine.extension.bindings.method = jbossmodule ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine-extensions.aaa.ldap ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engineextensions.aaa.ldap.AuthzExtension ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Authz config.profile.file.1 = ../aaa/profile1.properties
- 为配置文件设置正确的所有者权限和访问权限:
# chown ovirt:ovirt /etc/ovirt-engine/aaa/profile1.properties
# chmod 600 /etc/ovirt-engine/aaa/profile1.properties
- 重启 Apache 服务和引擎服务:
# service httpd restart
# service ovirt-engine restart
13.3. 用户授权
13.3.1. 用户验证模型
- 进行操作的用户(user)
- 所进行的操作(action)
- 操作所针对的对象(object)
13.3.2. 用户操作
用户
有适当的权限
来对对象
进行操作。每个操作都会有一个相应的权限
。在一个系统中有多个不同的权限,它可以被简化为:
图 13.1. 操作
重要
13.4. Red Hat Enterprise Virtualization Manager 用户任务
13.4.1. 添加用户
在可以为用户分配角色和权限前,用户必须被从一个外部的目录服务添加到 Red Hat Enterprise Virtualization 环境中。
过程 13.4. 为 Red Hat Enterprise Virtualization 添加用户
- 点用户标签页显示用户列表。
- 点添加。添加用户和组窗口会被打开。
- 在搜索下拉菜单中选择适当的域。在搜索输入框中输入一个名字或名字的一部分后点执行。或直接点执行来显示所有用户和组的列表。
- 选择适当的用户或组。
- 点确定。
被添加的用户出现在用户标签页中。
13.4.2. 查看用户信息
您可以在用户标签页中查看每个用户的信息。
过程 13.5. 查看用户信息
- 点用户标签页来显示用户列表。
- 选择用户,如果用户没有被显示,您可以对它进行搜索。
- 在详情框中会显示被选择的用户信息,其中常规标签页显示了用户的一般信息,如域名、邮件地址和用户的状态。
- 您可以通过其它标签页查看用户的组、权限、配额和事件信息。例如,如果需要知道这个用户属于哪个组,点组标签页。
您查看了一个用户的域、权限、配额、组和事件信息。
13.4.3. 查看用户在资源上的权限
用户可以被分配特定的资源或一个资源分级结构的权限。您可以查看每个资源中的用户,以及它们的权限。
过程 13.6. 查看用户在资源上的权限
- 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
- 点详情框中的权限标签页列出这个资源已有的用户,用户角色以及继承的权限。
您查看了所选资源上的用户,以及它们的权限。
13.4.4. 删除用户
当一个用户不再被需要时,我们可以把它从 Red Hat Enterprise Virtualization 环境中删除。
过程 13.7. 删除用户
- 点用户标签页来显示用户列表。
- 选择要被删除的用户,请确认它们没有在任何虚拟机上使用。
- 点删除。一个提示您确认删除操作的信息会被显示,点确定。
用户被从 Red Hat Enterprise Virtualization 环境中删除,但它仍然存在于外部目录服务中。
13.4.5. 为内部管理员用户重设密码
admin@internal
)的密码,您必须使用引擎配置工具,并且需要使用它的交互模式。
过程 13.8. 为内部管理员用户重设密码
- 登录到 Red Hat Enterprise Virtualization Manager 所在的机器。
- 使用交换模式修改密码:
# engine-config -s AdminPassword=interactive
- 应用改变:
# service ovirt-engine restart
13.4.6. 查看登录的用户
13.4.7. 中断一个用户会话
过程 13.9. 中断一个用户会话
- 在树型框中选择 Guest 信息。
- 选择要中断的用户会话。
- 点中断会话。
- 点确定。
第 14 章 配额和服务级别合同的策略
14.1. 配额介绍
表 14.1. 两个不同类型的配额
配额类型 | 定义 |
---|---|
运行时配额(Run-time Quota) | 这类配额限制对运行时资源(如 CPU 和内存)的使用。 |
存储配额 | 这类配额限制对存储的使用。 |
表 14.2. 配额模式
配额模式 | 功能 |
---|---|
强制的(Enforced) | 强制执行您在审计模式下设置的配额。 |
审计(Audit) | 您可以在这个模式下改变配额的设置。您可以使用这个模式来增加或减少分配给用户的运行时配额和存储配额。 |
禁用(Disabled) | 这个模式会禁用设置的运行时配额和存储配额限制。 |
重要
14.2. 共享配额和单独定义的配额
14.3. 配额的计算
例 14.1. 配额计算实例
14.4. 在一个数据中心上启用和改变配额模式
过程 14.1. 在一个数据中心上启用配额
- 在导航框中点数据中心标签页。
- 选择您需要对配额进行修改的数据中心。
- 点导航框左上的编辑。一个编辑数据中心窗口被打开。
- 在配额模式下拉菜单中选择强制的。
- 点确定。
14.5. 创建一个新的配额策略
在启用了配额模式(审计模式或强制模式)后,您需要定义一个配额策略来管理数据中心中的资源使用情况。
过程 14.2. 创建一个新的配额策略
- 在树型模式中,选择数据中心。配额标签页会出现在导航框中。
- 点导航框中的配额标签页。
- 在导航框中点添加。新建配额窗口被打开。
- 在名称项中输入名称。在描述项中输入它的描述。
- 在新建配额窗口的内存和 CPU 项中使用绿色的滑行条设置集群阈值(Cluster Threshold)。
- 在新建配额窗口的内存和 CPU 项中使用绿色的滑行条设置集群 Grace。
- 点内存和 CPU 项右下的编辑按钮打开编辑配额窗口。
- 在内存项中选择无限选项(允许在集群中无限使用内存资源),或选择限制在选项来设置内存的配额。如果您选择了限制在选项,请在 MB 项中输入内存的配额值。
- 在 CPU 项中,选择无限选项或限制在选项来设置 CPU 的配额。如果您选择了限制在选项,在vCpus项中输入 vCPU 的数量。
- 在编辑配额窗口中点确定。
- 在新建配额窗口的存储项中,使用绿色的滑行条设置存储阈值。
- 在新建配额窗口的存储项中,使用绿色的滑行条设置存储 Grace。
- 点存储项中的编辑打开编辑配额窗口。
- 在存储配额项中选择无限选项(允许无限使用存储资源),或选择限制在选项来设置存储的配额。如果您选择了限制在选项,请在 GB 项中输入存储的配额值。
- 在编辑配额窗口中点确定。您将返回到新建配额窗口。
- 在新建配额窗口中点确定。
您创建了一个新的配额策略。
14.6. 配额阈值设置介绍
表 14.3. 配置阈值和 grace
设置 | 定义 |
---|---|
集群阈值(Cluster Threshold) | 每个数据中心可用的集群资源。 |
集群 Grace | 在数据数据中心的集群阈值被超过后仍然可以被使用的集群资源。 |
存储阈值 | 每个数据中心可用的存储资源。 |
存储 Grace | 在数据数据中心的存储阈值被超过后仍然可以被使用的存储资源。 |
14.7. 为对象分配一个配额
下面介绍了为一个虚拟机设置配额的方法。
过程 14.3. 为一个虚拟机设置配额
- 在导航框中,选择您要设置配额的虚拟机。
- 点编辑键打开编辑虚拟机窗口。
- 使用配额下拉菜单选择虚拟机要使用的配额。
- 点确定。
您为所选的虚拟机设置了一个配额。
下面介绍了为一个虚拟机磁盘设置配额的方法。
过程 14.4. 为虚拟机磁盘设置配额
- 在导航框中,选择您要设置配额的磁盘所在的虚拟机。
- 在详情框中选择您需要设置配额的磁盘。
- 点编辑打开编辑虚拟磁盘窗口。
- 选择这个虚拟磁盘需要使用的配额。
- 点确定。
您为您所选择的磁盘设置了一个限额。
重要
14.8. 使用配额限制用户对资源的使用
下面介绍了如果使用配额来限制用户对资源的使用。
过程 14.5. 为一个用户设置一个配额
- 在树型框中,点您要设置配额的用户所在的数据中心。
- 点导航框中的配额页。
- 在导航框中选择需要的配额。
- 在详情框中点消费者标签页。
- 点添加。
- 在搜索项中输入您要设置配额的用户名。
- 点执行。
- 选中您所需的用户。
- 点为用户和组分配配额窗口中的确定。
所选的用户会出现在详情框的消费者标签页中。
14.9. 编辑配额
下面介绍了如何编辑一个存在的配额的方法。
过程 14.6. 编辑配额
- 在树型面板上,点击你要编辑配额的数据中心。
- 在导航面板上点击配额标签页。
- 点您需要编辑的配额名。
- 点导航框中的编辑。
- 一个编辑配额窗口会被打开。如果需要,在名称项中输入名称。
- 如果需要,在描述项中输入描述。
- 选择所有集群选项或特定的集群选项。使用集群阈值和集群 Grace 滑动条调整内存和 CPU 的值。
- 选中所有存储域或特定的存储域。使用存储阈值和存储 Grace 滑动条调整存储的值。
- 在编辑配额窗口中点确定来确认新的配额设置。
您编辑了一个存在的配额。
14.10. 删除配额
以下过程描述了如何删除配额。
过程 14.7. 删除配额
- 在树型面板上,点击你要编辑配额的数据中心。
- 在导航面板上点配额标签页。
- 点您要删除的配额的名称。
- 点导航面板顶部、标签页下面的删除。
- 在删除配额窗口中点确定来确认删除这个配额。
您删除了一个配额。
14.11. 服务级别协议(SLA)策略的实施
以下描述了如何设置 CPU 服务级别协议功能的方法。
过程 14.8. 设置一个服务级别协议的 CPU 策略
- 在导航框中选新建虚拟机。
- 选择显示高级选项。
- 选择资源分配标签页。
图 14.1. 服务级别协议(SLA)策略的实施 - CPU 分配菜单
- 设置 CPU 共享。它可以被设为低、中、高、自定义和禁用的。设为高的虚拟机所获得的 CPU 共享将是设为中的虚拟机所获得的 CPU 共享的两倍;而设为中的虚拟机所获得的 CPU 共享将是设为低的虚拟机所获得的 CPU 共享的两倍。如果设为禁用,VDSM 将使用一个老的算法来决定 CPU 共享值(通常情况下,它的值是 1020)。
您设置了一个与 CPU 相关的服务级别协议策略。用户对 CPU 资源的使用会根据这个策略进行。
第 15 章 事件通知
15.1. 在管理门户中配置事件通知
当 Red Hat Enterprise Virtualization Manager 所管理的虚拟化环境中发生特定事件时,Red Hat Enterprise Virtualization Manager 会通过电子邮件通知特定的用户。为了使用这个功能,您需要设置一个邮件发送系统来传输这些通知信息。管理门户只能配置使用电子邮件发送事件通知。SNMP trap 需要在 Manager 所在的机器上配置。
过程 15.1. 配置事件通知机制
- 确认您已经设置了一个邮件发送系统。
- 使用用户资源页、树形模式或搜索功能来找到并选择需要接收事件通知的用户。
- 在详情框中点事件通知器标签页,列出这个用户会收到的事件通知。如果您还没有为这个用户设置任何事件通知,这个列表会是空的。
- 点管理事件打开添加事件通知窗口。
图 15.1. 添加事件通知窗口
- 使用展开所有按钮或某个对象的展开箭头来显示相关的事件。
- 根据需要选择相应的选择框。
- 在邮件接收者项中输入需要一个电子邮件地址。
- 点确定保存所做的修改并关闭窗口。
- 运行以下命令在 Red Hat Enterprise Virtualization Manager 上添加并启动 ovirt-engine-notifier 服务:
# chkconfig --add ovirt-engine-notifier
# chkconfig ovirt-engine-notifier on
# service ovirt-engine-notifier restart
指定的用户将会收到 Red Hat Enterprise Virtualization 环境中的相关事件的通知邮件。这些相关的事件在用户的事件通知器标签页中被列出。
15.2. 在管理门户中取消事件通知
用户配置了一些不需要的电子邮件事件通知,想取消它们。
过程 15.2. 取消事件通知
- 在用户标签页中,选择用户或用户组。
- 在详情框中选择事件通知器标签页来列出这个用户接收的事件列表。
- 点管理事件打开添加事件通知窗口。
- 使用展开所有按钮或某个对象的展开箭头来显示相关的事件。
- 取消相应项的选择来删除事件通知。
- 点确定保存所做的改变并关闭窗口。
您为用户取消了不需要的事件通知。
15.3. ovirt-engine-notifier.conf 配置文件中的事件通知参数
/usr/share/ovirt-engine/services/ovirt-engine-notifier/ovirt-engine-notifier.conf
。
表 15.1. ovirt-engine-notifier.conf 变量
变量名 | 默认值 | 备注 |
---|---|---|
SENSITIVE_KEYS | 没有 | 一组以逗号分隔的,不会被记录到日志中的密钥。 |
JBOSS_HOME | /usr/share/jbossas | Red Hat Enterprise Virtualization Manager 使用的 JBoss 应用服务器的位置。 |
ENGINE_ETC | /etc/ovirt-engine | Red Hat Enterprise Virtualization Manager 使用的 etc 目录的位置。 |
ENGINE_LOG | /var/log/ovirt-engine | Red Hat Enterprise Virtualization Manager 使用的 logs 目录的位置。 |
ENGINE_USR | /usr/share/ovirt-engine | Red Hat Enterprise Virtualization Manager 使用的 usr 目录的位置。 |
ENGINE_JAVA_MODULEPATH | ${ENGINE_USR}/modules | JBoss 模块附加到的文件路径。 |
NOTIFIER_DEBUG_ADDRESS | 没有 | 一台机器的地址。这个机器被用来对事件通知器所使用的 Java 虚拟机进行远程故障排除。 |
NOTIFIER_STOP_TIME | 30 | 这个服务超时的时间(以秒为单位) |
NOTIFIER_STOP_INTERVAL | 1 | 超时计数器值增加的间隔时间(以秒为单位)。 |
INTERVAL_IN_SECONDS | 120 | 为用户发送通知的间隔时间(以秒为单位) |
IDLE_INTERVAL | 30 | 低优先级任务执行的间隔时间(以秒为单位)。 |
DAYS_TO_KEEP_HISTORY | 0 | 产生事件通知的事件在历史记录表中保存的天数。如果这个参数没有设置,这些事件会被永久保存在历史记录表中。 |
FAILED_QUERIES_NOTIFICATION_THRESHOLD | 30 | 指定在事件通知邮件发出后,经过多少次相同的失败查询后才再发出通知。例如,这个变量被设为3,在一个查询失败后发出了一个事件通知,下一次只有发生了 3 次相同的查询失败后才会再次发送这个事件通知。如果您把这个变量的值设为 0 或 1 ,每次查询失败后都会发送一个通知邮件。 |
FAILED_QUERIES_NOTIFICATION_RECIPIENTS | 没有 | 接收通知邮件的用户的邮件地址。用户可以指定多个用户的邮件地址(使用逗号分隔)。这个变量现在已经被 FILTER 变量替代。 |
DAYS_TO_SEND_ON_STARTUP | 0 | 当事件通知器启动时,多少天前的事件需要被处理并发送事件通知。 |
FILTER | exclude:* | 决定触发事件的条件,以及接收邮件通知的用户的邮件地址。这个变量的值由 include 或 exclude ,事件和接收者的邮件组成。例如,include:VDC_START(smtp:mail@example.com) ${FILTER} 。 |
MAIL_SERVER | 没有 | SMTP 邮件服务器的地址。这个变量必须被设置。 |
MAIL_PORT | 25 | SMTP 使用的端口号。可能的值包括 25 (SMTP)、465 (使用 SSL 的 SMTP)和 587 (使用 TLS 的 SMTP)。 |
MAIL_USER | 没有 | 如果使用 SSL 来进行用户验证,这个变量必须被设置。当 MAIL_FROM 变量没有设置时,这个变量值也被用来指定 "from" 用户的地址。一些邮件服务器并不支持这个功能。这里的邮件地址使用 RFC822 格式。 |
SENSITIVE_KEYS | ${SENSITIVE_KEYS},MAIL_PASSWORD | 如果邮件服务器需要用户验证,或启用了 SSL 或 TLS,在这里指定用户的验证信息。 |
MAIL_PASSWORD | 没有 | 如果邮件服务器需要用户验证,或启用了 SSL 或 TLS,在这里指定用户的验证信息。 |
MAIL_SMTP_ENCRYPTION | 没有 | 邮件所使用的加密方法。可能的值包括 none 、ssl 和 tls 。 |
HTML_MESSAGE_FORMAT | false | 如果这个变量的值被设为 true ,邮件服务器以 HTML 的形式发送信息。 |
MAIL_FROM | 没有 | 如果邮件服务器支持,使用这个变量指定发送者的邮件地址(RFC822 格式)。 |
MAIL_REPLY_TO | 没有 | 如果邮件服务器支持,使用这个变量在发送的邮件中指定 reply-to 的邮件地址(RFC822 格式)。 |
MAIL_SEND_INTERVAL | 1 | 每个 IDLE_INTERVAL 所发的 SMTP 信息数 |
MAIL_RETRIES | 4 | 在确定操作失败前,尝试发送邮件的次数。 |
SNMP_MANAGER | 没有 | 作为 SNMP 管理器的机器的 IP 地址或全局域名。如果需要输入多个机器的信息,以一个空格分隔它们(可以包括一个端口号)。如 manager1.example.com manager2.example.com:164 。 |
SNMP_COMMUNITY | public | 默认的 SNMP community。 |
SNMP_OID | 1.3.6.1.4.1.2312.13.1.1 | 提示信息的默认 trap 对象的标识符。当这个 OID 被定义时,所有 trap 类型(包括事件信息)被发送到 SNMP 管理器。请注意,修改默认的 trap 会导致所产生的 trap 和 Manager 的 MIB(Management Information Base,管理信息库)不匹配。 |
ENGINE_INTERVAL_IN_SECONDS | 300 | 对 Manager 所在机器进行监测的间隔时间(以秒为单位)。这个间隔是从监测完成后开始计算的。 |
ENGINE_MONITOR_RETRIES | 3 | 当对 Manager 所在的机器状态进行监测失败后,重新尝试监控的次数。 |
ENGINE_TIMEOUT_IN_SECONDS | 30 | 监测 Manager 所在机器状态的超时时间(以秒为单位)。当达到这个超时时间后没有获得所监测机器的状态,事件通知器会在指定的间隔时间后重新尝试对机器进行监测。 |
IS_HTTPS_PROTOCOL | false | 如果 JBoss 以安全模式运行,这个项必须被设为 true 。 |
SSL_PROTOCOL | TLS | 在 SSL 被启用后,JBoss 配置连接器(JBoss configuration connector)所使用的协议。 |
SSL_IGNORE_CERTIFICATE_ERRORS | false | 如果 JBoss 以安全模式运行,并需要忽略 SSL 错误,这个值必须设为 true 。 |
SSL_IGNORE_HOST_VERIFICATION | false | 如果 JBoss 以安全模式运行,并需要忽略主机名验证,这个值必须设为 true 。 |
REPEAT_NON_RESPONSIVE_NOTIFICATION | false | 这个变量被用来指定,当 Manager 所在的机器没有响应时,是否向相关的用户重复发送错误信息。 |
ENGINE_PID | /var/lib/ovirt-engine/ovirt-engine.pid | Red Hat Enterprise Virtualization Manager 的 PID 的路径和文件名。 |
15.4. 配置 Red Hat Enterprise Virtualization Manager 来发送 SNMP trap
- 作为 SNMP 管理器的机器的 IP 地址或完全限定域名(FQDN)。另外,需要决定管理器使用哪个端口接收 trap 数据(默认的设置是 UDP 端口 162)。
- SNMP community。多个 SNMP 管理器可以属于一个 community。只有属于同一个 community 的管理系统和代理才可以相互间进行交流。默认的 community 是
public
。 - trap 信息的对象 ID(object identifier,简称为 OID)。Red Hat Enterprise Virtualization Manager 提供的默认 OID 是 1.3.6.1.4.1.2312.13.1.1。当 OID 被定义后,所有 trap 类型(包括了事件信息)都会被发送到 SNMP 管理器。请注意,修改默认的 trap 会导致所产生的 trap 和 Manager 的 MIB(Management Information Base,管理信息库)不匹配。
注意
/usr/share/doc/ovirt-engine/mibs/OVIRT-MIB.txt
和 /usr/share/doc/ovirt-engine/mibs/REDHAT-MIB.txt
中提供了管理信息库(MIB)。在进行处理前,需要把 MIBs 加载到 SNMP 管理器中。
/usr/share/ovirt-engine/services/ovirt-engine-notifier/ovirt-engine-notifier.conf
)。以下所使用的值是基于这个文件所提供的默认或示例值。如需修改默认设置,我们推荐您使用另外一个文件来覆盖默认设置,而不是直接修改 ovirt-engine-notifier.conf
文件,这样可以在需要对系统进行改变时(如对系统进行升级)保持您原来所做的配置改变。
过程 15.3. 在 Manager 上配置 SNMP trap
- 在 Manager 上创建 SNMP 配置文件:
# vi /etc/ovirt-engine/notifier/notifier.conf.d/20-snmp.conf
- 使用以下格式指定 SNMP 管理器,SNMP community 和 OID:
SNMP_MANAGERS="manager1.example.com manager2.example.com:162" SNMP_COMMUNITY=public SNMP_OID=1.3.6.1.4.1.2312.13.1.1
- 指定哪些事件需要发送到 SNMP 管理器:
例 15.1. 事件实例
把所有的事件发送到默认的 SNMP 档案:FILTER="include:*(snmp:) ${FILTER}"
把所有严重性为ERROR
或ALERT
的事件发送到 SNMP 档案:FILTER="include:*ERROR(snmp:) ${FILTER}"
FILTER="include:*ALERT(snmp:) ${FILTER}"
把 VDC_START 事件发送到指定的电子邮件地址:FILTER="include:VDC_START(snmp:mail@example.com) ${FILTER}"
把除 VDC_START 以外的事件发送到默认的 SNMP 档案:FILTER="exclude:VDC_START include:*(snmp:) ${FILTER}"
默认的过滤器在ovirt-engine-notifier.conf
中定义。如果没有禁用这个过滤器或使用覆盖的过滤器,则不会发送通告信息:FILTER="exclude:*"
VDC_START
是一个有效审计日志信息的示例。完整的审计日志信息列表包括在/usr/share/doc/ovirt-engine/AuditLogMessages.properties
中。另外,还可以在 SNMP manager 中对结果进行过滤。 - 保存这个文件。
- 启动
ovirt-engine-notifier
服务,并使它可以在系统启动时被自动启动:# service ovirt-engine-notifier start # chkconfig ovirt-engine-notifier on
注意
SNMP_MANAGERS
和 MAIL_SERVER
需要在 /usr/share/ovirt-engine/services/ovirt-engine-notifier/ovirt-engine-notifier.conf
中(或一个覆盖文件中)正确定义。
第 16 章 工具程序
16.1. oVirt 引擎重新命名工具
16.1.1. oVirt 引擎重命名工具
engine-setup
时,它会生成一组基于 Manager 的全局域名(FQDN)的证书和密钥。如果 Manager 的全局域名需要被改变(例如,把运行 Manager 的主机迁移到另外一个域中),那些已经包括老的全局域名的记录就需要被修改。ovirt-engine-rename
命令可以自动化这个任务。
ovirt-engine-rename
命令更新以下位置中的 Manager 的全局域名记录:
- /etc/ovirt-engine/engine.conf.d/10-setup-protocols.conf
- /etc/ovirt-engine/imageuploader.conf.d/10-engine-setup.conf
- /etc/ovirt-engine/isouploader.conf.d/10-engine-setup.conf
- /etc/ovirt-engine/logcollector.conf.d/10-engine-setup.conf
- /etc/pki/ovirt-engine/cert.conf
- /etc/pki/ovirt-engine/cert.template
- /etc/pki/ovirt-engine/certs/apache.cer
- /etc/pki/ovirt-engine/keys/apache.key.nopass
- /etc/pki/ovirt-engine/keys/apache.p12
警告
ovirt-engine-rename
命令为 Manager 所在机器上的网络服务器创建一个新证书时,它并不会影响到引擎的证书或是证书授权。因此,使用 ovirt-engine-rename
命令会有一些风险,特别是在从 Red Hat Enterprise Virtualization 版本 3.2 或更早版本升级上来的系统上。我们推荐您在可能的情况下,尽量使用 engine-cleanup
和 engine-setup
来更改 Manager 的全局域名。
16.1.2. Ovirt 引擎重命名命令的语法
ovirt-engine-rename
命令的基本语法是:
# /usr/share/ovirt-engine/setup/bin/ovirt-engine-rename
--newname=[new name]
- 允许您以非交互模式指定 Manager 的新全局域名。
--log=[file]
- 允许您指定一个文件的路径和文件名来记录重新命名操作产生的日志信息。
--config=[file]
- 允许您指定一个配置文件的路径和文件名。这个配置文件会被重命名操作加载。
--config-append=[file]
- 允许您指定一个配置文件的路径和文件名。这个配置文件可以被用来指定重命名操作所需的答案文件(answer file)的路径和文件名。
--generate-answer=[file]
- 允许您指定一个文件的路径和文件名。这个文件可以被用来记录答案,以及
ovirt-engine-rename
命令所修改的值。
16.1.3. 使用 Ovirt 引擎重新命名工具
您可以使用 ovirt-engine-rename
命令来更新 Manager 的全局域名记录。
过程 16.1. 重新命名 Red Hat Enterprise Virtualization Manager
- 为新的全局域名准备所有的 DNS 和其它相关的记录。
- 如果使用 DHCP,更新 DHCP 服务器的配置。
- 更新 Red Hat Enterprise Virtualization Manager 的主机名。
- 请运行以下命令:
# /usr/share/ovirt-engine/setup/bin/ovirt-engine-rename
- 在提示时按 Enter 来停止引擎服务:
During execution engine service will be stopped (OK, Cancel) [OK]:
- 在提示时输入 Red Hat Enterprise Virtualization Manager 的新全局域名:
New fully qualified server name:[new name]
ovirt-engine-rename
命令更新了 Manager 的全局域名。
16.2. 域管理工具
16.2.1. 域管理工具
admin
用户把用户验证所需的目录服务添加到 Red Hat Enterprise Virtualization Manager 中。您可以使用系统提供的域管理工具 - engine-manage-domains
来添加和删除目录服务域。
engine-manage-domains
命令只能在 Red Hat Enterprise Virtualization Manager 所在的机器上被访问,并只能使用 root
用户来执行。
重要
engine-manage-domains
工具配置的目录服务继续使用原来存在的技术。
16.2.2. 域管理工具的语法
engine-manage-domains ACTION [options]
add
- 把一个域添加到 Red Hat Enterprise Virtualization Manager 的目录服务配置中。
edit
- 在 Red Hat Enterprise Virtualization Manager 的目录服务配置中编辑一个域。
delete
- 从 Red Hat Enterprise Virtualization Manager 的目录服务配置中删除一个域。
validate
- 验证 Red Hat Enterprise Virtualization Manager 的目录服务配置。这个命令会尝试使用所配置的用户和密码来验证配置中的每个域。
list
- 列出 Red Hat Enterprise Virtualization Manager 当前的目录服务配置。
--add-permissions
- 指定要在 Red Hat Enterprise Virtualization Manager 中被赋予 SuperUser 角色的域用户。在默认情况下,如果
--add-permissions
参数没有被使用,SuperUser 角色不会分配给任何域用户。--add-permissions
是一个可选项,它只能与add
和edit
操作一起使用。 --change-password-msg=[MSG]
- 当用户使用过期的密码登录时所看到的信息。您可以使用这个选项来指定用来修改用户密码的 URL(必须以 http 或 https开头)。
--change-password-msg
是一个可选项,只能与add
和edit
操作一起使用。 --config-file=[FILE]
- 指定这个命令必须使用的一个配置文件。
--config-file
是一个可选项。 --domain=[DOMAIN]
- 需要进行操作的域。对于
add
、edit
和delete
操作,--domain
参数是必须使用的。 --force
- 强制命令跳过“确认删除操作"这一步。
--ldap-servers=[SERVERS]
- 为域设置的一组以逗号分隔的 LDAP 服务器。
--log-file=[LOG_FILE]
- 用来记录操作日志信息的文件的文件名。
--log-level=[LOG_LEVEL]
- 日志的级别。您可以选择
DEBUG
(默认选项)、INFO
、WARN
或ERROR
。这些选项的值不区分大小写。 --log4j-config=[LOG4J_FILE]
- 用来读取日志配置信息的
log4j.xml
文件。 --provider=
[PROVIDER]- 域的目录服务器的 LDAP 类型。有效值包括:
ad
- Microsoft Active Directory。ipa
- Identity Management (IdM)。rhds
- Red Hat Directory Server。Red Hat Directory Server 并不带有 Kerberos,而 Red Hat Enterprise Virtualization 需要 Kerberos 验证。Red Hat Directory Server 必须在 Kerberos 域中作为一个服务运行,来为 Manager 提供目录服务。注意
要使用 Red Hat Directory Server 作为您的目录服务器,您必须在 Red Hat Directory Server 上安装memberof
插件。要使用memberof
插件,您的用户必须是inetuser
。itds
- IBM Tivoli Directory Server。oldap
- OpenLDAP。
--report
- 当在
validate
操作中使用这个参数时,这个命令会输出一个包括所有验证错误信息的报告。 --resolve-kdc
- 使用 DNS 解析密钥发行服务器。
--user=[USER]
- 指定要使用的域用户。对于
add
命令,--user
参数是必须的,而对于edit
命令,这个参数是可选的。 --password-file=[FILE]
- 指定域用户的密码包括在所提供文件的第一行中。在使用
add
操着时,密码必须通过这个参数或--interactive
来提供。
engine-manage-domains
命令的帮助信息:
# engine-manage-domains --help
16.2.3. 使用域管理工具
engine-manage-domains
命令来进行基本的 Red Hat Enterprise Virtualization Manager 域配置。
16.2.4. 列出配置中的域
engine-manage-domains
命令列出 Red Hat Enterprise Virtualization Manager 配置中定义的目录服务域。这个命令输出每条配置记录的域、用户名(User Principal Name(UPN)格式)以及这个域是本地的还是远程的。
例 16.1. engine-manage-domains
List 操作
# engine-manage-domains list Domain: directory.demo.redhat.com User name: admin@DIRECTORY.DEMO.REDHAT.COM This domain is a remote domain.
16.2.5. 为配置添加域
engine-manage-domains
为 Red Hat Enterprise Virtualization Manager 配置添加了 IdM
域 directory.demo.redhat.com
。配置被设置为:使用 admin
用户来对域进行查询,用户会被提示输入密码。
例 16.2. engine-manage-domains
Add 操作
# engine-manage-domains add --domain=directory.demo.redhat.com --provider=IPA --user=admin loaded template kr5.conf file setting default_tkt_enctypes setting realms setting domain realm success User guid is: 80b71bae-98a1-11e0-8f20-525400866c73 Successfully added domain directory.demo.redhat.com. oVirt Engine restart is required in order for the changes to take place (service ovirt-engine restart).
16.2.6. 在配置中编辑一个域
engine-manage-domains
命令编辑 Red Hat Enterprise Virtualization Manager 配置中的 directory.demo.redhat.com
域。配置被更新为:使用 admin
用户来对域进行查询;用户会被提示输入密码。
例 16.3. engine-manage-domains
Edit 操作
# engine-manage-domains -action=edit -domain=directory.demo.redhat.com -user=admin -interactive loaded template kr5.conf file setting default_tkt_enctypes setting realms setting domain realmo success User guide is: 80b71bae-98a1-11e0-8f20-525400866c73 Successfully edited domain directory.demo.redhat.com. oVirt Engine restart is required in order for the changes to take place (service ovirt-engine restart).
16.2.7. 验证域配置
engine-manage-domains
命令被用来验证 Red Hat Enterprise Virtualization Manager 配置。这个命令会尝试使用配置中所提供的用户信息登录到每个域上。如果登录成功,相应的域就被认为是有效的。
例 16.4. engine-manage-domains
Validate 操作
# engine-manage-domains validate User guide is: 80b71bae-98a1-11e0-8f20-525400866c73 Domain directory.demo.redhat.com is valid.
16.2.8. 从配置中删除一个域
engine-manage-domains
从 Red Hat Enterprise Virtualization Manager 配置中删除 directory.demo.redhat.com
域。被删除域中的用户将无法被用来和 Red Hat Enterprise Virtualization Manager 进行验证。受影响的用户记录仍然存在于 Red Hat Enterprise Virtualization Manager 中,直到它们被删除。
internal
域中的 admin
用户可以登录。
例 16.5. engine-manage-domains
Delete 操作
# engine-manage-domains delete --domain=directory.demo.redhat.com WARNING: Domain directory.demo.redhat.com is the last domain in the configuration. After deleting it you will have to either add another domain, or to use the internal admin user in order to login. Successfully deleted domain directory.demo.redhat.com. Please remove all users and groups of this domain using the Administration portal or the API.
16.3. 引擎配置工具
16.3.1. 引擎配置工具
注意
postgresql
服务就可以更新它们。在 ovirt-engine
服务被重启后,这些配置更新就会有效。
16.3.2. engine-config 命令的使用语法
# engine-config --help
常见任务
- 列出有效的配置关键字
#
engine-config
--list
- 列出有效的配置值
#
engine-config
--all
- 获得配置关键字的值
#
engine-config
--get [KEY_NAME]
使用所需的关键字替换 [KEY_NAME] 来获得这个关键字指定版本的值(使用--cver
参数指定版本)。如果没有指定版本,所有存在版本的值都将被返回。- 设置配置关键字的值
#
engine-config
--set [KEY_NAME]=[KEY_VALUE]
--cver=[VERSION]
使用实际的关键字替换 [KEY_NAME];使用您要设置的值替换 [KEY_VALUE]。如果您的环境中包括不止一个配置版本,您还需要指定 [VERSION] 的值。- 重启 ovirt-engine 服务使改变生效
- 为了使改变生效,需要重启
ovirt-engine
服务。#
service ovirt-engine restart
16.3.3. 为内部管理员用户重设密码
admin@internal
)的密码,您必须使用引擎配置工具,并且需要使用它的交互模式。
过程 16.2. 为内部管理员用户重设密码
- 登录到 Red Hat Enterprise Virtualization Manager 所在的机器。
- 使用交换模式修改密码:
# engine-config -s AdminPassword=interactive
- 应用改变:
# service ovirt-engine restart
16.4. 镜像上传工具
16.4.1. 镜像上传工具
engine-image-uploader
命令允许您列出导出存储域,把虚拟机的镜像以 OVF 格式上传到一个导出存储域中,从而可以被 Red Hat Enterprise Virtualization Manager 自动识别。
注意
|-- images | |-- [Image Group UUID] | |--- [Image UUID (this is the disk image)] | |--- [Image UUID (this is the disk image)].meta |-- master | |---vms | |--- [UUID] | |--- [UUID].ovf
16.4.2. engine-image-uploader 命令的语法
engine-image-uploader
[options]
list
engine-image-uploader
[options]
upload
[file].[file]...[file]
list
和 upload
。
list
操作会列出镜像可以被上传到的导出存储域。upload
操作把镜像上传到指定的导出存储域中。
upload
操作,您还需要指定最少一个本地文件。
engine-image-uploader
还包括了其它一些参数。您可以在 /etc/ovirt-engine/imageuploader.conf
文件中为这些参数设定默认的值。
常规选项
-h
,--help
- 显示镜像上传命令的使用信息。
--conf-file=[PATH]
- [PATH] 是这个命令要使用的配置文件。默认的配置文件是
etc/ovirt-engine/imageuploader.conf
。 --log-file=[PATH]
- [PATH] 是命令要写入的日志文件。
/var/log/ovirt-engine/ovirt-image-uploader/ovirt-image-uploader-[date].log
是默认的日志文件。 --cert-file=[PATH]
- [PATH] 是用来验证引擎的证书。默认是
/etc/pki/ovirt-engine/ca.pem
。 --insecure
- 不需要验证引擎。
--quiet
- 把命令设为“安静”模式,从而把控制台的输出减到最小。
-v
,--verbose
- 把命令设为 verbose 模式,从而可以提供详细的控制台输出信息。
-f
,--force
- 当要上传的源文件的文件名和目标导出域中的文件名相同时,可以使用强制模式,它会使用上传文件强制把目标导出域中的同名文件覆盖。
Red Hat Enterprise Virtualization Manager 选项
-u [USER]
,--user=[USER]
- 指定这个命令所要使用的用户信息。[USER] 的格式为 [username]@[domain]。这个用户必须存在于指定的域中,并可以被 Red Hat Enterprise Virtualization Manager 识别。
-r [FQDN]
,--engine=[FQDN]
- 指定镜像文件将要被上传到的 Red Hat Enterprise Virtualization Manager 的 IP 地址或全局域名。系统会假设镜像上传程序是从 Red Hat Enterprise Virtualization Manager 所在的同一个机器上运行的。它的默认值是
localhost:443
。
导出存储域选项
-e
或 -n
。
-e
[EXPORT_DOMAIN],--export-domain=[EXPORT_DOMAIN]
- 把存储域 EXPORT_DOMAIN 设为上传的目标域。
-n
[NFSSERVER],--nfs-server=[NFSSERVER]
- 设置 NFS 路径。[NFSSERVER] 是上传的目标 NFS 服务器。
导入选项
-i
,--ovf-id
- 指定镜像的 UUID 不会被更新。在默认的情况下,这个命令会为上传的镜像产生一个新的 UUID,从而可以避免上传文件的文件名和系统中已经存在的镜像重名的问题。
-d
,--disk-instance-id
- 指定镜像中的每个磁盘的 ID 不会被重新命名。在默认情况下,这个命令会为上传镜像中所包含的磁盘产生一个新的 UUID,从而避免了上传镜像中的磁盘和系统中已经存在的磁盘发生冲突的问题。
-m
,--mac-address
- 指定镜像中不会被删除的网络组件。在默认情况下,这个命令会删除上传镜像中的网络接口卡,从而避免和其它虚拟机已经使用的网卡发生冲突。如果您没有使用这个选择,您可以使用管理门户来为新导入的镜像添加网卡,Red Hat Enterprise Virtualization Manager 会确保没有 MAC 地址冲突。
-N [NEW_IMAGE_NAME]
,--name=[NEW_IMAGE_NAME]
- 为上传的镜像指定一个新名称。
16.4.3. 创建与镜像上传程序兼容的 OVF 压缩文件
您可以创建使用 engine-image-uploader
上传的文件。
过程 16.3. 创建与镜像上传程序兼容的 OVF 压缩文件
- 使用 Manager 创建一个空的导出域。使用空的导出域可以非常容易地知道哪个目录包括了您的虚拟机。
- 把您的虚拟机导出到刚创建的空的导出域。
- 登录到作为导出域的存储服务器上,找到 NFS 共享的根并进入挂载点下的子目录。因为您启动时只有一个新的导出域,所以在导出目录下只有一个目录。它包括了
images/
和master/
目录。 - 运行
tar -zcvf my.ovf images/ master/
来创建 tar/gzip OVF 文件。 - 任何人都可以把这个 OVF 文件(在这个例子中是
my.ovf
)通过使用engine-image-uploader
命令导入到 Red Hat Enterprise Virtualization Manager 上。
您创建了一个压缩的 OVF 镜像文件。任何人都可以使用 engine-image-uploader
命令来把这个镜像文件上传到 Red Hat Enterprise Virtualization 环境中。
16.4.4. engine-image-uploader 使用实例
例 16.6. 使用镜像上传工具列出导出域
# engine-image-uploader list Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort): Export Storage Domain Name | Datacenter | Export Domain Status myexportdom | Myowndc | active
例 16.7. 使用镜像上传工具上传一个文件
# engine-image-uploader -e myexportdom upload myrhel6.ovf Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort):
16.5. USB Filter Editor
16.5.1. 安装 USB Filter Editor
USB Filter Editor 是一个用来配置 usbfilter.txt
策略文件的 Windows 工具程序。这个策略文件定义了是否允许 Red Hat Enterprise Virtualization Manager 所管理的虚拟机使用客户端系统上的特定 USB 设备的规则,它位于 Red Hat Enterprise Virtualization Manager 系统的以下位置:
/etc/ovirt-engine/usbfilter.txt
ovirt-engine
服务被重新启动后才有效。
USBFilterEditor.msi
文件。这个文件适用于 Red Hat Enterprise Virtualization 3.0 以及更新版本。
过程 16.4. 安装 USB Filter Editor
- 在一台 Windows 机器上,运行从 Content Delivery Network 获得的
USBFilterEditor.msi
安装程序。 - 按照安装程序的提示进行操作。除非特别指定,USB Filter Editor 会根据您的 Windows 版本安装在
C:\Program Files\RedHat\USB Filter Editor
或C:\Program Files(x86)\RedHat\USB Filter Editor
上。 - 一个 USB Filter Editor 的快捷启动图标会在您系统的桌面上被创建。
重要
默认的 USB 设备策略提供了虚拟机访问 USB 设备的基本规则,用户可以根据需要修改它。
16.5.2. USB Filter Editor 界面
- 双击您桌面上的 USB Filter Editor 快捷图标
图 16.1. Red Hat USB Filter Editor
表 16.1. USB Editor 项
名称 | 描述 |
---|---|
Class | USB 设备的类型,如打印机,存储控制器。 |
Vendor | 所选设备的厂商。 |
Product | USB 设备的型号。 |
Revision | 产品的版本。 |
Action | 允许或不允许使用特定的设备。 |
16.5.3. 添加一个 USB 策略
为 USB Filter Editor 添加一个 USB 策略。
过程 16.5. 添加一个 USB 策略
- 点 Add 键,Edit USB Criteria 窗口被打开:
图 16.2. 编辑 USB 条件
- 使用 USB Class、Vendor ID、Product ID 和 Revision 选择框列出指定的设备。点 Allow 键来允许虚拟机使用 USB 设备;点 Block 键来禁止虚拟机使用 USB 设备。点 OK 保存过滤规则并关闭窗口。
例 16.8. 添加一个设备
以下的实例是为可以使用的设备列表添加一个 USB 设备(厂商是Acer Communications & Multimedia
,USB Class 是Smartcard
,设备为EP-1427X-2 Ethernet Adapter
)。 - 点 File → Save 保存所做的改变。
您为 USB Filter Editor 添加了一个 USB 策略。USB 过滤策略需要被输出到 Red Hat Enterprise Virtualization Manager 中才能起作用。
16.5.4. 删除一个 USB 策略
从 USB Filter Editor 中删除一个 USB 策略。
过程 16.6. 删除一个 USB 策略
- 选择您需要删除的策略。
图 16.3. 选择 USB 策略
- 点 Remove。一个要求您确认删除策略的信息会被显示。
图 16.4. Edit USB Criteria
- 点 Yes 来确认您要删除所选的策略。
- 点 File → Save 来保存所做的修改。
您从 USB Filter Editor 中删除了一个 USB 策略。USB 过滤器策略需要被输出到 Red Hat Enterprise Virtualization Manager 后才会有效。
16.5.5. 搜索 USB 设备策略
搜索连接的 USB 设备来在 USB Filter Editor 中允许使用或禁止使用它们。
过程 16.7. 搜索 USB 设备策略
- 点 Search,Attached USB Devices 窗口会显示所有连接的设备列表。
图 16.5. 连接的 USB 设备。
- 选择设备,并根据需要点 Allow 或 Block。双击所选的设备,窗口会被关闭,这个设备的一个策略规则被添加到列表中。
- 使用 Up 和 Down 按钮改变新策略规则在列表中的位置。
- 点 File → Save 保存您所做的修改。
您对连接的 USB 设备进行了搜索。USB 过滤策略需要被输出到 Red Hat Enterprise Virtualization Manager 中才能起作用。
16.5.6. 输出一个 USB 策略
USB 设备策略的改变需要被输出并上传到 Red Hat Enterprise Virtualization Manager 后才会有效。您需要在上传策略后重新启动 ovirt-engine
服务。
过程 16.8. 输出一个 USB 策略
- 点 Export,Save As 窗口被打开。
- 把文件存为
usbfilter.txt
。 - 使用一个安装复制程序(如 WinSCP)把
usbfilter.txt
文件上传到运行 Red Hat Enterprise Virtualization Manager 的服务器上。这个文件必须被保存在服务器的以下目录中:/etc/ovirt-engine/
- 以
root
用户的身份在运行 Red Hat Enterprise Virtualization Manager 的服务器上重新启动ovirt-engine
服务。# service ovirt-engine restart
USB 设备策略在 Red Hat Enterprise Virtualization 环境中被应用。
16.5.7. 导入一个 USB 策略
您需要把一个存在的 USB 设备策略下载,并导入到 USB Filter Editor 后才可以编辑它。
过程 16.9. 导入一个 USB 策略
- 使用一个安装复制程序(如 WinSCP)把
usbfilter.txt
文件上传到运行 Red Hat Enterprise Virtualization Manager 的服务器上。这个文件必须被保存在服务器的以下目录中:/etc/ovirt-engine/
- 双击您桌面上的 USB Filter Editor 快捷图标打开它。
- 点 Import 打开 Open 窗口。
- 打开从服务器下载的
usbfilter.txt
文件。
您可以在 USB Filter Editor 中编辑 USB 设备策略。
16.6. 日志收集程序
16.6.1. 日志收集程序
engine-log-collector
。您需要使用 root
用户身份登录到 Red Hat Enterprise Virtualization 环境中。engine-log-collector -h
会显示 engine-log-collector
命令的使用信息以及可用的选项。
16.6.2. engine-log-collector 命令的语法
engine-log-collector
[options]
list
[all, clusters, datacenters]
engine-log-collector
[options]
collect
list
和 collect
。
list
参数会列出主机、集群或数据中心是否附加到了 Red Hat Enterprise Virtualization Manager。您可以根据所类出的项对收集的日志进行过滤。collect
参数将会从 Red Hat Enterprise Virtualization Manager 上收集日志。所获得的日志数据被保存在/tmp/logcollector
目录中。engine-log-collector
命令会为每个日志分配一个特定的文件名。
engine-log-collector
命令还提供了其它的参数来对它进行控制。
常规选项
--version
- 显示命令的版本号。
-h
,--help
- 显示命令的帮助信息。
--conf-file=PATH
- 把 PATH 设定为这个命令所使用的配置文件。
--local-tmp=PATH
- 把日志文件保存在 PATH 目录中。默认的目录是
/tmp/logcollector
。 --ticket-number=TICKET
- 把 TICKET 作为 SOS 报告中的事件号(case number)。
--upload=FTP_SERVER
- 把 FTP_SERVER 设为使用 FTP 把所收集的日志信息传输到的目的地。除非红帽的技术支持让您使用这个参数,否则请不要使用它。
--log-file=PATH
- 把 PATH 设为这个命令用来作为日志输出的文件的文件名。
--quiet
- 把命令设为“安静”模式,从而把控制台的输出减到最小。在默认的情况下,安静模式没有被设定。
-v
,--verbose
- 把命令设为 verbose 模式,从而可以提供详细的控制台输出信息。在默认的情况下,verbose 模式没有被设置。
Red Hat Enterprise Virtualization Manager 选项
engine-log-collector --user=admin@internal --cluster ClusterA,ClusterB --hosts "SalesHost"*
指定了用户为 admin@internal
,并只收集集群 A
和集群 B
中的 SalesHost
主机的日志。
--no-hypervisors
- 不收集虚拟主机的日志信息。
-u USER
,--user=USER
- 指定登录的用户。USER 的格式为 user@domain(其中的 user 是用户名,domain 是使用的目录服务的域)。这里所指定的用户必须存在于目录服务中,并可以被 Red Hat Enterprise Virtualization Manager 所识别。
-r FQDN
,--rhevm=FQDN
- 设置用来收集日志的 Red Hat Enterprise Virtualization Manager 的全局域名(使用 Red Hat Enterprise Virtualization Manager 的全局域名替换 FQDN)。这个命令假设日志收集命令是在 Red Hat Enterprise Virtualization Manager 所在的同一台机器上被运行的,因此它的默认值是
localhost
。 -c CLUSTER
,--cluster=CLUSTER
- 除了 Red Hat Enterprise Virtualization Manager 的日志外,还收集 CLUSTER 中指定的集群中的主机日志。它可以通过以逗号分隔的集群名或匹配特征来指定多个集群。
-d DATACENTER
,--data-center=DATACENTER
- 除了 Red Hat Enterprise Virtualization Manager 的日志外,还收集 DATACENTER 中指定的数据中心中的主机日志。它可以通过以逗号分隔的数据中心名或匹配特征来指定多个数据中心。
-H HOSTS_LIST
,--hosts=HOSTS_LIST
- 除了 Red Hat Enterprise Virtualization Manager 的日志外,还收集 HOSTS_LIST 中指定的主机日志。它可以通过以逗号分隔的主机名、全局域名、IP 地址或匹配特征来指定多个主机。
SOS 报告选项
--jboss-home=JBOSS_HOME
- JBoss 的安装路径。默认值是
/var/lib/jbossas
。 --java-home=JAVA_HOME
- Java 安装路径。默认值是
/usr/lib/jvm/java
。 --jboss-profile=JBOSS_PROFILE
- 显示以空格分隔的服务器配置档案列表;日志数据的收集会被限制在这些档案中。它的默认值是
'rhevm-slimmed'
。 --enable-jmx
- 启用从 Red Hat Enterprise Virtualization 的 JBoss JMX 接口收集运行时统计数据的功能。
--jboss-user=JBOSS_USER
- 有权利调用 JBoss JMX 的用户。默认值是
admin
。 --jboss-logsize=LOG_SIZE
- 获取的日志文件的最大容量(以 MB 为单位)
--jboss-stdjar=STATE
- 为 JBoss 标准的 JAR 设置所采集的 JAR 统计数据。把 STATE 替换为
on
或off
。默认的值是on
。 --jboss-servjar=STATE
- 设置从任何的服务器配置目录中收集 JAR 的统计数据。把 STATE 替换为
on
或off
。默认的值是on
。 --jboss-twiddle=STATE
- 设置是否收集 twiddle 数据。Twiddle 是一个 JBoss 工具程序,它可以被用来从 JMX 的调用者中收集数据。把 STATE 替换为
on
或off
。它的默认值是on
。 --jboss-appxml=XML_LIST
- 显示一组带有 XML 描述数据的应用程序。这些应用程序以空格分隔,并包括在一对引号中。这个参数的默认值是
all
。
SSH 配置
--ssh-port=PORT
- 把 PORT 设置为用来和虚拟主机进行 SSH 连接所使用的端口。
-k KEYFILE
,--key-file=KEYFILE
- 把 KEYFILE 设置为用来访问虚拟主机的公共 SSH 密钥。
--max-connections=MAX_CONNECTIONS
- 把 MAX_CONNECTIONS 设置为同时可以和虚拟主机进行连接来收集日志的 SSH 连接的数量。它的默认值是
10
。
PostgreSQL 数据库选项
pg-user
和 dbname
参数指定数据库当前的用户名和密码。
pg-dbhost
参数(可能还需要使用 pg-host-key
参数)。另外,进行远程日志收集时,PostgreSQL SOS 插件必须安装在数据库服务器上。
--no-postgresql
- 禁用收集数据库数据的功能。如果没有指定
--no-postgresql
参数,日志采集程序会连接到 Red Hat Enterprise Virtualization Manager 的 PostgreSQL 数据库,并把其中的数据包括在日志中。 --pg-user=USER
- 把 USER 设置为用来和数据库服务器进行连接的用户。它的默认值是
postgres
。 --pg-dbname=DBNAME
- 把 DBNAME 设置为连接到数据库服务器上的数据库名,它的默认值是
rhevm
。 --pg-dbhost=DBHOST
- 把 DBHOST 设置为数据库服务器的主机名,它的默认值是
localhost
。 --pg-host-key=KEYFILE
- 把 KEYFILE 设置为数据库服务器的公共识别文件(私人密钥)。这个值在默认的情况下不会被设置,它只在数据库不在本地的情况下才使用。
16.6.3. 基本日志收集程序用法
engine-log-collector
命令时,它的默认行为是从 Red Hat Enterprise Virtualization Manager 以及和它关联的所有主机上收集所有日志。在没有使用 --no-postgresql
参数时,它也收集数据库的日志。下面的实例会收集 Red Hat Enterprise Virtualization Manager 和 3 个与它关联的主机上的所有日志。
例 16.9. 日志收集程序用法
# engine-log-collector
INFO: Gathering oVirt Engine information...
INFO: Gathering PostgreSQL the oVirt Engine database and log files from localhost...
Please provide REST API password for the admin@internal oVirt Engine user (CTRL+D to abort):
About to collect information from 3 hypervisors. Continue? (Y/n):
INFO: Gathering information from selected hypervisors...
INFO: collecting information from 192.168.122.250
INFO: collecting information from 192.168.122.251
INFO: collecting information from 192.168.122.252
INFO: finished collecting information from 192.168.122.250
INFO: finished collecting information from 192.168.122.251
INFO: finished collecting information from 192.168.122.252
Creating compressed archive...
INFO Log files have been collected and placed in /tmp/logcollector/sosreport-rhn-account-20110804121320-ce2a.tar.xz.
The MD5 for this file is 6d741b78925998caff29020df2b2ce2a and its size is 26.7M
16.7. ISO 上传工具
16.7.1. ISO Uploader
engine-iso-uploader
。您需要以 root
用户的身份登录到 Red Hat Enterprise Virtualization 环境中后才可以使用这个命令。engine-iso-uploader -h
会显示这个命令的帮助信息,并包括了 engine-iso-uploader
命令的所有可用参数的列表。
16.7.2. engine-iso-uploader 命令语法
engine-iso-uploader
[options]
list
engine-iso-uploader
[options]
upload
[file].[file]...[file]
list
和 upload
。
list
操作列出 ISO 文件可以被上传到的存储域列表。Red Hat Enterprise Virtualization Manager 会在安装的过程中在所安装的机器上产生这个列表。upload
操作会把一个或多个(以空格分隔)ISO 文件上传到指定的 ISO 存储域中。默认的方式是通过 NFS,但也可以选择使用 SSH。
upload
操作,您还需要指定最少一个本地文件。
engine-iso-uploader
命令包括了其它的一些参数。
常规选项
--version
- 显示 ISO uploader 命令的版本。
-h
,--help
- 显示 ISO uploader 命令的使用信息。
--conf-file=[PATH]
- [PATH] 是这个命令要使用的配置文件。默认的配置文件是
/etc/ovirt-engine/isouploader.conf
。 --log-file=[PATH]
- [PATH] 是命令要写入的日志文件。
/var/log/ovirt-engine/ovirt-iso-uploader/ovirt-iso-uploader[date].log
是默认的日志文件。 --cert-file=[PATH]
- [PATH] 是用来验证引擎的证书。默认值是
/etc/pki/ovirt-engine/ca.pem
。 --insecure
- 不需要验证引擎。
--nossl
- 连接到引擎的时候不使用 SSL。
--quiet
- 把命令设为“安静”模式,从而把控制台的输出减到最小。
-v
,--verbose
- 把命令设为 verbose 模式,从而可以提供详细的控制台输出信息。
-f
,--force
- 当要上传的源文件的文件名和目标 ISO 域中的文件名相同时,可以使用强制模式,它会使用上传文件强制把目标 ISO 域中的同名文件覆盖。
Red Hat Enterprise Virtualization Manager 选项
-u [USER]
,--user=[USER]
- 指定这个命令所要使用的用户信息。[USER] 的格式为 [username]@[domain]。这个用户必须存在于指定的域中,并可以被 Red Hat Enterprise Virtualization Manager 识别。
-r [FQDN]
,--engine=[FQDN]
- 指定镜像文件将要被上传到的 Red Hat Enterprise Virtualization Manager 的 IP 地址或全局域名。系统会假设镜像上传程序是从 Red Hat Enterprise Virtualization Manager 所在的同一个机器上运行的。它的默认值是
localhost:443
。
ISO 存储域选项
-i
或 -n
。
-i
,--iso-domain=[ISODOMAIN]
- 把存储域 [ISODOMAIN] 设为上传的目标域。
-n
,--nfs-server=[NFSSERVER]
- 把 [NFSSERVER] 设置为上传目标的 NFS 服务器路径。
连接选项
--ssh-user=[USER]
- 把 [USER] 设置为用来上传的 SSH 用户名。它的默认值是
root
. --ssh-port=[PORT]
- 把 [PORT] 设置为 SSH 连接所使用的接口。
-k [KEYFILE]
,--key-file=[KEYFILE]
- 把 [KEYFILE] 设为用来进行 SSH 验证的公共密钥。如果没有设置密钥,您将会被提示输入
--ssh-user=[USER]
所指定的用户的密码。
16.7.3. 指定一个 NFS 服务器
例 16.10. 上传到一个 NFS 服务器
# engine-iso-uploader --nfs-server=storage.demo.redhat.com:/iso/path upload RHEL6.0.iso
16.7.4. ISO Uploader 的基本使用方法
admin@internal
将被使用。第二个命令使用 NFS 将 ISO 文件上传到指定的 ISO 域中。
例 16.11. 显示域列表并上传镜像
# engine-iso-uploader list
Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort):
ISO Storage Domain Name | Datacenter | ISO Domain Status
ISODomain | Default | active
# engine-iso-uploader --iso-domain=[ISODomain] upload [RHEL6.iso]
Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort):
16.7.5. 把 VirtIO 和客户端工具程序镜像文件上传到 ISO 存储域中
virtio-win.iso
、virtio-win_x86.vfd
、virtio-win_amd64.vfd
和 rhev-tools-setup.iso
镜像文件上传到 ISODomain
域。
例 16.12. 上传 VirtIO 和客户端工具程序镜像文件
# engine-iso-uploader --iso-domain=[ISODomain]
upload
/usr/share/virtio-win/virtio-win.iso
/usr/share/virtio-win/virtio-win_x86.vfd
/usr/share/virtio-win/virtio-win_amd64.vfd
/usr/share/rhev-guest-tools-iso/rhev-tools-setup.iso
16.7.6. VirtIO 和客户端工具程序镜像文件
/usr/share/virtio-win/virtio-win.iso
/usr/share/virtio-win/virtio-win_x86.vfd
/usr/share/virtio-win/virtio-win_amd64.vfd
/usr/share/rhev-guest-tools-iso/rhev-tools-setup.iso
engine-iso-uploader
命令把这些镜像上传到您的 ISO 存储域中。在上传完成后,这些镜像文件就可以被虚拟机使用。
部分 III. 收集环境的信息
第 17 章 日志文件
17.1. Red Hat Enterprise Virtualization Manager 安装日志文件
表 17.1. 安装
日志文件 | 描述 |
---|---|
/var/log/ovirt-engine/engine-cleanup_yyyy_mm_dd_hh_mm_ss.log | engine-cleanup 命令的日志文件。这个命令是被用来重新设置 Red Hat Enterprise Virtualization Manager 安装的,它在每次运行时都会产生一个日志文件。这个命令的日志文件的文件名中包括了运行的日期和时间,因此多个日志文件可以同时存在。 |
/var/log/ovirt-engine/engine-db-install-yyyy_mm_dd_hh_mm_ss.log | engine-setup 命令的日志文件。它包括了创建和配置 rhevm 数据库的详细信息。 |
/var/log/ovirt-engine/rhevm-dwh-setup-yyyy_mm_dd_hh_mm_ss.log | rhevm-dwh-setup 命令的日志文件。这个命令被用来创建 ovirt_engine_history 数据库,它在每次运行时都会产生一个日志文件。这个命令的日志文件的文件名中包括了运行的日期和时间,因此多个日志文件可以同时存在。 |
/var/log/ovirt-engine/ovirt-engine-reports-setup-yyyy_mm_dd_hh_mm_ss.log | rhevm-reports-setup 命令的日志文件。这个命令被用来安装 Red Hat Enterprise Virtualization Manager Reports 模块,它在每次运行时都会产生一个日志文件。这个命令的日志文件的文件名中包括了运行的日期和时间,因此多个日志文件可以同时存在。 |
/var/log/ovirt-engine/setup/ovirt-engine-setup-yyyymmddhhmmss.log | engine-setup 命令的日志文件。在每次运行这个命令时都会产生一个日志文件。这个命令的日志文件的文件名中包括了运行的日期和时间,因此多个日志文件可以同时存在。 |
17.2. Red Hat Enterprise Virtualization Manager 日志文件
表 17.2. 服务
日志文件 | 描述 |
---|---|
/var/log/ovirt-engine/engine.log | 记录 Red Hat Enterprise Virtualization Manager 图形用户界面故障、Active Directory 查询、数据库错误以及其它一些事件。 |
/var/log/ovirt-engine/host-deploy | 通过 Red Hat Enterprise Virtualization Manager 部署的主机上的日志文件。 |
/var/lib/ovirt-engine/setup-history.txt | 记录与 Red Hat Enterprise Virtualization Manager 的安装和升级相关的信息。 |
17.3. SPICE 日志文件
debugging
,然后指定日志的位置。
console.vv
文件会被下载),需要使用 remote-viewer
命令来启用故障排除功能并产生日志输出。
17.3.1. Hypervisor SPICE 服务器的 SPICE 日志
表 17.3. Hypervisor SPICE 服务器的 SPICE 日志
日志类型 | 日志位置 | 改变日志级别: |
---|---|---|
Host/Hypervisor SPICE Server
|
/var/log/libvirt/qemu/(guest_name).log
|
在启动 guest 前,在 host/hypervisor 上运行
export SPICE_DEBUG_LEVEL=5 。
|
17.3.2. 客户机的 SPICE 日志
表 17.4. 客户机的 SPICE 日志
日志类型 | 日志位置 | 改变日志级别: |
---|---|---|
Windows 客户机
|
C:\Windows\Temp\vdagent.log
C:\Windows\Temp\vdservice.log
|
不适用
|
Red Hat Enterprise Linux 客户机
|
/var/log/spice-vdagent.log
| 创建一个带有这个项的 /etc/sysconfig/spice-vdagentd 文件: SPICE_VDAGENTD_EXTRA_ARGS=”-d -d” |
17.3.3. 使用浏览器插件启动的 SPICE 客户端的 SPICE 日志
表 17.5. 客户端机器(浏览器插件)的 SPICE 日志
日志类型 | 日志位置 | 改变日志级别: |
---|---|---|
SPICE Client (Windows 7)
|
C:\Windows\Temp\spicex.log
|
|
SPICE Client (Red Hat Enterprise Linux 6)
|
~/home/.spicec/spice-xpi.log
|
编辑
/etc/spice/logger.ini 文件,把 log4j.rootCategory 变量从 INFO, R 改为 DEBUG, R 。
|
SPICE Client (Red Hat Enterprise Linux 7)
|
~/.xsession-errors
|
使用 debug 选项在命令行中启动 Firefox:
G_MESSAGES_DEBUG=all SPICE_DEBUG=1 firefox 。
创建
~/.xsession-errors 文件。
|
Windows 客户端上的 USB 重定向
|
C:\Windows\Temp\usbclerk.log
|
不适用。
|
17.3.4. 使用 console.vv 文件启动的 SPICE 客户端的 SPICE 日志
- 使用
--spice-debug
选项运行remote-viewer
命令来启用 SPICE 故障排除(debug)功能。在提示时,输入连接 URL,例如,spice://[virtual_machine_IP]:[port]。# remote-viewer --spice-debug
- 要查看日志,下载
console.vv
文件,使用--spice-debug
选项运行remote-viewer
命令,指定到console.vv
文件的完全路径。# remote-viewer --spice-debug /path/to/console.vv
- 下载
debug-helper.exe
文件,把它移remote-viewer.exe
文件所在的目录中。例如,C:\Users\[user name]\AppData\Local\virt-viewer\bin
目录。 - 执行
debug-helper.exe
文件来安装 GNU Debugger(GDB)。 - 执行
debug-helper.exe
文件来启用 SPICE 故障排除功能。debug-helper.exe remote-viewer.exe --spice-controller
- 要查看日志信息,连接到虚拟机,您将会看到运行 GDB 的命令提示,它会显示标准输出和 remote-viewer 的标准错误信息。
17.4. Red Hat Enterprise Virtualization 主机日志文件
表 17.6.
日志文件 | 描述 |
---|---|
/var/log/vdsm/libvirt.log | libvirt 的日志文件。 |
/var/log/vdsm/spm-lock.log | 日志文件详细记录了主机在 SPM 上获得租約(lease)的情况。它包括了主机获得(acquired)、释放(released)租約的详细时间,以及主机成功续约或续约失败的详细时间。 |
/var/log/vdsm/vdsm.log | VDSM(Red Hat Enterprise Virtualization Manager 在虚拟主机上的代理)的日志文件。 |
/tmp/ovirt-host-deploy-@DATE@.log | 主机部署日志。在主机被成功部署后,这个日志会被复制到引擎的 /var/log/ovirt-engine/host-deploy/ovirt-@DATE@-@HOST@-@CORRELATION_ID@。 |
17.5. 设置虚拟主机日志服务器
过程 17.1. 设置虚拟主机日志服务器
- 设置 SELinux 来允许 rsyslog 操作。
# semanage port -a -t syslogd_port_t -p udp 514
- 编辑
/etc/rsyslog.conf
来添加以下行:$template TmplAuth, "/var/log/%fromhost%/secure" $template TmplMsg, "/var/log/%fromhost%/messages" $RuleSet remote authpriv.* ?TmplAuth *.info,mail.none;authpriv.none,cron.none ?TmplMsg $RuleSet RSYSLOG_DefaultRuleset $InputUDPServerBindRuleset remote
去掉以下行的注释#$ModLoad imudp #$UDPServerRun 514
- 重新启动 rsyslog 服务:
# service rsyslog restart
messages
和 secure
日志文件。
第 18 章 代理服务器
18.1. SPICE 代理服务器
18.1.1. SPICE 代理(SPICE Proxy)介绍
SpiceProxyDefault
的值设为包括代理的名称和端口的值。关闭 SPICE 代理的操作包括在 Manager 上使用 engine-config 删除为 SpiceProxyDefault
所设置的值。
重要
18.1.2. SPICE 代理系统的设置
过程 18.1. 在 Red Hat Enterprise Linux 上安装 Squid。
- 在代理机器上安装 Squid:
#
yum install squid
- 打开
/etc/squid/squid.conf
,把以下内容:http_access deny CONNECT !SSL_ports
改为:http_access deny CONNECT !Safe_ports
- 启动代理:
#
service squid start
- 打开默认的 squid 端口:
#
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
- 保存这个 iptables 的规则:
#
service iptables save
18.1.3. 打开 SPICE 代理
过程 18.2. 激活 SPICE 代理
- 在 Red Hat Enterprise Virtualization Manager 中,使用 engine-config 工具设置一个代理:
#
engine-config -s SpiceProxyDefault=someProxy
- 重新启动 ovirt-engine 服务:
#
service ovirt-engine restart
代理必须使用以下格式来代表:protocol://[host]:[port]
注意
SPICE 客户端只支持 HTTP。如果使用 HTTPS,客户端将会忽略代理的设置,而尝试直接和 hypervisor 进行连接。
18.1.4. 关闭一个 SPICE 代理
过程 18.3. 关闭一个 SPICE 代理
- 登录到 Red Hat Enterprise Virtualization Manager:
$
ssh root@[IP of Manager]
- 运行以下命令来删除 SPICE 代理:
#
engine-config -s SpiceProxyDefault=""
- 重新启动 Red Hat Enterprise Virtualization Manager:
#
service ovirt-engine restart
18.2. Squid 代理服务器
18.2.1. 安装和配置一个 Squid 代理
以下介绍了如何为用户门户安装和配置一个 Squid 代理。Squid 代理服务器起到了一个内容加速的作用,它可以缓存经常被访问的内容,减少对带宽的消耗,并可以减少响应时间。
过程 18.4. 配置一个 Squid 代理
- 为 Squid 代理服务器的 HTTPS 端口获得一个密钥对和一个证书。获得这个密钥对的方法和获得其它 SSL/TLS 服务密钥对的方法完全相同。这个密钥对以两个 PEM 文件的形式出现,包括了私人密钥和一个签字的证书。我们在这里假设它们的名字是
proxy.key
和proxy.cer
。注意
密钥对和证书也可以通过引擎的证书认证机构产生。如果您的代理已经有了私人密钥和证书,而且不想使用引擎的证书认证机构重新产生它们,请跳过下一步。 - 为代理选择一个主机名。然后,选择代理证书的其它项。
注意
通常情况下,应该使用和引擎相同的国家名(C)和机构名(O)。要获得这些信息,请登录到 Manager 所在的机器,并运行以下命令:# openssl x509 -in /etc/pki/ovirt-engine/ca.pem -noout -subject
这个命令会输出和以下相似的内容:subject= /C=US/O=Example Inc./CN=engine.example.com.81108
这里相关的部分是/C=US/O=Example Inc.
。使用它来为代理的证书创建一个唯一的证书名:/C=US/O=Example Inc./CN=proxy.example.com
- 登录到代理所在的机器,并生成一个证书签署请求:
# openssl req -newkey rsa:2048 -subj '/C=US/O=Example Inc./CN=proxy.example.com' -nodes -keyout proxy.key -out proxy.req
重要
证书名外的引号非常重要,一定不能省掉它们。-nodes
选项确保了私人密钥没有被加密,您在启动代理时将不需要输入密码。这个命令会产生两个文件:proxy.key
和proxy.req
。proxy.key
是私人密钥,您需要把它保存在一个安全的地方。proxy.req
是证书签署请求,proxy.req
并不需要特殊的保护。 - 要产生签署的证书,使用以下命令把证书签署请求文件从代理所在的机器上复制到安装 Manager 的机器上:
# scp proxy.req engine.example.com:/etc/pki/ovirt-engine/requests/.
- 登录到 Manager 所在的机器上签署证书:
# /usr/share/ovirt-engine/bin/pki-enroll-request.sh --name=proxy --days=3650 --subject='/C=US/O=Example Inc./CN=proxy.example.com'
它将为证书进行签署,使它在 10 年(3650 天)内有效。您可以根据需要,为证书设置相应的有效期。 - 所产生的证书文件保存在
/etc/pki/ovirt-engine/certs
目录中,它的名字应该是proxy.cer
。把这个文件从 Manager 所在机器复制到代理所在机器的当前目录中:# scp engine.example.com:/etc/pki/ovirt-engine/certs/proxy.cer .
- 确认代理机器包括了
proxy.key
和proxy.cer
文件:# ls -l proxy.key proxy.cer
- 在代理机器上安装 Squid 代理服务器软件包:
# yum install squid
- 把私人密钥和签署的证书发到代理可以访问的地方,如
/etc/squid
目录:# cp proxy.key proxy.cer /etc/squid/.
- 设置权限,从而使
squid
用户可以读这些文件:# chgrp squid /etc/squid/proxy.* # chmod 640 /etc/squid/proxy.*
- Squid 代理需要验证引擎所使用的证书。把 Manager 的证书复制到代理所在的机器上。这个实例使用的文件路径是
/etc/squid
:# scp engine.example.com:/etc/pki/ovirt-engine/ca.pem /etc/squid/.
注意
默认的 CA 证书位于 Manager 所在机器的/etc/pki/ovirt-engine/ca.pem
。 - 设置权限,从而使
squid
用户可以读证书文件:# chgrp squid /etc/squid/ca.pem # chmod 640 /etc/squid/ca.pem
- 如果 SELinux 处于 enforcing 模式,使用 semanage 修改端口 443 的内容,从而使 Squid 可以使用端口 443。
# yum install policycoreutils-python # semanage port -m -p tcp -t http_cache_port_t 443
- 使用以下的内容替换存在的 Squid 配置文件:
https_port 443 key=/etc/squid/proxy.key cert=/etc/squid/proxy.cer ssl-bump defaultsite=engine.example.com cache_peer engine.example.com parent 443 0 no-query originserver ssl sslcafile=/etc/squid/ca.pem name=engine cache_peer_access engine allow all ssl_bump allow all http_access allow all
- 重启 Squid 代理服务器
# service squid restart
- 使用完整 URL 连接到用户门户,例如:
https://proxy.example.com/UserPortal/org.ovirt.engine.ui.userportal.UserPortal/UserPortal.html
注意
短的 URL(如https://proxy.example.com/UserPortal
)将无法正常工作。应用服务器会试图使用 302 response code 和 Location header 把这些短的 URL 重新定向到正确的 URL,但是 Red Hat Enterprise Linux 中所提供的 Squid 版本(Squid version 3.1)不支持这个功能。
注意
squid.conf
中的 read_timeout
选项(如把它设为 read_timeout 10 hours
)。
附录 A. VDSM 和 Hook
A.1. VDSM
A.2. VDSM Hook
/usr/libexec/vdsm/hooks/nn_event-name/
中的文件名的顺序执行其中可执行的 hook 脚本。每个 hook 脚本都会被分配给一个两位数的数字添加到文件名的前面,这样就可以清楚地知道这些 hook 脚本运行的顺序。在本章中所包括的实例使用 Python,但您可以使用任何编程语言来创建 hook 脚本。
警告
A.3. 使用 hook 对 VDSM 进行扩展
A.4. 支持的 VDSM 事件
表 A.1. 支持的 VDSM 事件
名称 | 描述 |
---|---|
before_vm_start | 虚拟机启动前。 |
after_vm_start | 虚拟机启动后。 |
before_vm_cont | 虚拟机继续运行前。 |
after_vm_cont | 虚拟机继续运行后。 |
before_vm_pause | 虚拟机暂停前。 |
after_vm_pause | 虚拟机暂停后。 |
before_vm_hibernate | 虚拟机挂起前。 |
after_vm_hibernate | 虚拟机挂起后。 |
before_vm_dehibernate | 在虚拟机取消挂起前。 |
after_vm_dehibernate | 在虚拟机取消挂起后。 |
before_vm_migrate_source | 在虚拟机迁移发生前,在迁移的原始主机上运行。 |
after_vm_migrate_source | 在虚拟机迁移发生后,在迁移的原始主机上运行。 |
before_vm_migrate_destination | 在虚拟机迁移发生前,在迁移的目标主机上运行。 |
after_vm_migrate_destination | 在虚拟机迁移发生后,在迁移的目标主机上运行。 |
after_vm_destroy | 虚拟机删除后。 |
before_vdsm_start | VDSM 在主机上运行前。before_vdsm_start hook 以 root 用户执行,它不会继承 VDSM 进程的环境参数。 |
after_vdsm_stop | VDSM 在主机上运行后。after_vdsm_stop hook 以 root 用户执行,它不会继承 VDSM 进程的环境参数。 |
before_nic_hotplug | 在网卡被熱插到虚拟机上以前。 |
after_nic_hotplug | 在网卡被熱插到虚拟机上以后。 |
before_nic_hotunplug | 在网卡被从虚拟机上热拔以前。 |
after_nic_hotunplug | 在网卡被从虚拟机上热拔以后。 |
after_nic_hotplug_fail | 在网卡被热插到虚拟机失败以后。 |
after_nic_hotunplug_fail | 在网卡被从虚拟机上热拔失败以后。 |
before_disk_hotplug | 在磁盘被熱插到虚拟机上以前。 |
after_disk_hotplug | 在磁盘被熱插到虚拟机上以后。 |
before_disk_hotunplug | 在磁盘被从虚拟机上热拔以前。 |
after_disk_hotunplug | 在磁盘被从虚拟机上热拔以后。 |
after_disk_hotplug_fail | 在磁盘被热插到虚拟机失败以后。 |
after_disk_hotunplug_fail | 在磁盘被从虚拟机上热拔失败以后。 |
before_device_create | 在创建一个支持自定义属性的设备前。 |
after_device_create | 在创建一个支持自定义属性的设备后。 |
before_update_device | 在更新一个支持自定义属性的设备前。 |
after_update_device | 在更新一个支持自定义属性的设备后。 |
before_device_destroy | 在删除一个支持自定义属性的设备前。 |
after_device_destroy | 在删除一个支持自定义属性的设备后。 |
before_device_migrate_destination | 在设备迁移发生前,在迁移的目标主机上运行。 |
after_device_migrate_destination | 在设备迁移发生后,在迁移的目标主机上运行。 |
before_device_migrate_source | 在设备迁移发生前,在迁移的原始主机上运行。 |
after_device_migrate_source | 在设备迁移发生后,在迁移的原始主机上运行。 |
A.5. VDSM Hook 环境
vdsm
用户运行并继承 VDSM 进程的环境参数,before_vdsm_start
和 after_vdsm_stop
事件所驱动的 hook 脚本是例外,它们会以 root
用户执行并不会继承 VDSM 进程的环境参数。
A.6. VDSM Hook Domain XML 对象
_hook_domxml
变量会被加到环境中。这个变量包括了相关虚拟机的 libvirt domain XML 对象的路径。以下所列出的 hook 会例外。
_hook_domxml
变量包括了 NIC 的 XML 对象而不是虚拟机的 XML 对象。
*_nic_hotplug_*
*_nic_hotunplug_*
*_update_device
*_device_create
*_device_migrate_*
重要
before_migration_destination
和 before_dehibernation
hook 当前接收原始主机上的 domain XML,而目标主机上的 domain XML 会有所不同。
vmId
也包括了它的值。
A.7. 设置自定义属性
engine-config
命令设置的。您需要在 Red Hat Enterprise Virtualization Manager 所在的主机上以 root
用户身份运行这个命令。
UserDefinedVMProperties
和 CustomDeviceProperties
这两个配置项被用来保存自定义属性的名称。每个自定义属性的有效值可以使用正则表达式来定义,它们也被保存在这些配置项中。
ovirt-engine
服务被重新启动后才会有效。
例 A.1. 虚拟机属性 - 定义 smartcard
自定义属性
- 使用以下命令显示
UserDefinedVMProperties
配置项所定义的自定义属性:# engine-config -g UserDefinedVMProperties
从下面的输出可以看到,自定义属性memory
已经被定义。其中的正则表达式^[0-9]+$
限定了这个定制属性只能包括数字。# engine-config -g UserDefinedVMProperties UserDefinedVMProperties: version: 3.0 UserDefinedVMProperties: version: 3.1 UserDefinedVMProperties: version: 3.2 UserDefinedVMProperties: version: 3.3 UserDefinedVMProperties : memory=^[0-9]+$ version: 3.2
- 因为
memory
自定义属性已经在UserDefinedVMProperties
配置项中被定义,新的自定义属性(smartcard
)就需要添加到它的上面。这个新的自定义属性的值只能是true
或false
。# engine-config -s UserDefinedVMProperties='memory=^[0-9]+$;smartcard=^(true|false)$' --cver=3.2
- 运行以下命令检查
UserDefinedVMProperties
配置项所定义的自定义属性是否已经被正确更新。# engine-config -g UserDefinedVMProperties UserDefinedVMProperties: version: 3.0 UserDefinedVMProperties: version: 3.1 UserDefinedVMProperties: version: 3.2 UserDefinedVMProperties: version: 3.3 UserDefinedVMProperties : memory=^[0-9]+$;smartcard=^(true|false)$ version: 3.2
- 最后,重新启动
ovirt-engine
服务来使所做的配置改变有效。# service ovirt-engine restart
例 A.2. 设备属性 - 定义 interface
自定义属性
- 使用以下命令显示
CustomDeviceProperties
配置项所定义的定制属性:# engine-config -g CustomDeviceProperties
从下面的输出可以看到,没有任何自定义属性被定义。# engine-config -g CustomDeviceProperties CustomDeviceProperties: version: 3.0 CustomDeviceProperties: version: 3.1 CustomDeviceProperties: version: 3.2 CustomDeviceProperties: version: 3.3
- 因为
interface
自定义属性还不存在,新的自定义属性可以被简单地添加。在这个例子中,speed
属性的有效值是 0 到 99999,duplex
属性的有效值是full
或half
。# engine-config -s CustomDeviceProperties="{type=interface;prop={speed=^([0-9]{1,5})$;duplex=^(full|half)$}}" --cver=3.3
- 运行以下命令检查
CustomDeviceProperties
配置项已经被正确更新。# engine-config -g CustomDeviceProperties UserDefinedVMProperties: version: 3.0 UserDefinedVMProperties: version: 3.1 UserDefinedVMProperties: version: 3.2 UserDefinedVMProperties : {type=interface;prop={speed=^([0-9]{1,5})$;duplex=^(full|half)$}} version: 3.3
- 最后,重新启动
ovirt-engine
服务来使所做的配置改变有效。# service ovirt-engine restart
A.8. 设置虚拟机自定义属性
A.9. 在 VDSM Hook 中检查虚拟机的自定义属性
例 A.3. 检查自定义属性
key1
是否存在。如果它被设置,它的值会被输出到标准的错误输出中;如果它没有被设置,则没有操作会被执行。
#!/usr/bin/python import os import sys if os.environ.has_key('key1'): sys.stderr.write('key1 value was : %s\n' % os.environ['key1']) else: sys.exit(0)
A.10. 使用 VDSM Hooking 模块
xml.dom
库 (http://docs.python.org/release/2.6/library/xml.dom.html) 就可以对这个项进行操作。
表 A.2. Hooking 模块功能
名称 | 参数 | 描述 |
---|---|---|
tobool | string | 把字符串 "true" 或 "false" 转换为一个布尔(Boolean)值 |
read_domxml | - | 读虚拟机的 libvirt XML,并把它转换为一个 DOM 项 |
write_domxml | DOM object | 根据 DOM 项写虚拟机的 libvirt XML |
A.11. 使用 VDSM hook
before_vm_start
脚本可以在 libvirt 前修改 domain XML。如需这样做,您需要非常的小心。hook 脚本可能会影响到 VDSM 的正常运行,一个有 bug 的脚本可能会导致整个 Red Hat Enterprise Virtualization 环境出现故障。特别需要注意的是,永远不要更改域的 UUID;在没有足够背景知识的情况下不要试图从域中删除一个设备。
before_vdsm_start
和 after_vdsm_stop
hook 脚本都是以 root
用户执行的。如果其它的 hook 脚本需要系统的 root
权限,您需要使用 sudo
命令来升级权限。因为 hook 脚本是以非交互的形式被运行的,您必须配置您的 /etc/sudoers
来允许 vdsm
用户在不需要重新输入密码的情况下使用 sudo
。
例 A.4. 为 VDSM hook 配置 sudo
sudo
命令被配置为允许 vdsm
用户以 root
的身份运行 /bin/chown
命令。
- 使用
root
用户登录到虚拟主机。 - 在文本编辑器中打开
/etc/sudoers
。 - 把以下行添加到文件中:
vdsm ALL=(ALL) NOPASSWD: /bin/chown
它设定了vdsm
用户可以以root
用户的身份运行/bin/chown
命令。NOPASSWD
参数指定了在调用sudo
时,用户不会被提示输入密码。
sudo
命令来以 root
用户的身份运行 /bin/chown
。以下的这段 Python 代码在 /my_file
文件中使用 sudo
来以 root
用户的身份执行 /bin/chown
。
retcode = subprocess.call( ["/usr/bin/sudo", "/bin/chown", "root", "/my_file"] )
A.12. VDSM Hook 返回代码
表 A.3. Hook 返回代码
代码 | 描述 |
---|---|
0 | hook 代码成功运行完毕 |
1 | hook 脚本运行失败,其它的 hook 脚本仍然需要被处理 |
2 | hook 脚本运行失败,其它的 hook 脚本不被处理 |
>2 | 保留 |
A.13. VDSM Hook 实例
例 A.5. NUMA 节点优化
这个 hook 脚本会根据 numaset
这个自定义属性的值在一个 NUMA 主机上优化内存分配。如果这个自定义属性没有被设置,则不会进行任何操作。
numaset=^(interleave|strict|preferred):[\^]?\d+(-\d+)?(,[\^]?\d+(-\d+)?)*$
numaset
自定义属性指定使用的分配模式(interleave
、strict
、preferred
)和节点,这两个值以冒号(:
)分隔。这个正则表达式还限定了 nodeset
的有效值为:
- 一个特定的节点(
numaset=strict:1
指定只使用节点 1),或 - 一个范围之内的节点(
numaset=strict:1-4
指定使用节点 1 到节点 4),或 - 一个特定的节点不能被使用(
numaset=strict:^3
指定节点 3 不被使用),或 - 以逗号分隔的以上值的组合。(
numaset=strict:1-4,6
指定使用节点 1 到节点 4,以及节点 6)。
/usr/libexec/vdsm/hooks/before_vm_start/50_numa
#!/usr/bin/python import os import sys import hooking import traceback ''' numa hook ========= add numa support for domain xml: <numatune> <memory mode="strict" nodeset="1-4,^3" /> </numatune> memory=interleave|strict|preferred numaset="1" (use one NUMA node) numaset="1-4" (use 1-4 NUMA nodes) numaset="^3" (don't use NUMA node 3) numaset="1-4,^3,6" (or combinations) syntax: numa=strict:1-4 ''' if os.environ.has_key('numa'): try: mode, nodeset = os.environ['numa'].split(':') domxml = hooking.read_domxml() domain = domxml.getElementsByTagName('domain')[0] numas = domxml.getElementsByTagName('numatune') if not len(numas) > 0: numatune = domxml.createElement('numatune') domain.appendChild(numatune) memory = domxml.createElement('memory') memory.setAttribute('mode', mode) memory.setAttribute('nodeset', nodeset) numatune.appendChild(memory) hooking.write_domxml(domxml) else: sys.stderr.write('numa: numa already exists in domain xml') sys.exit(2) except: sys.stderr.write('numa: [unexpected error]: %s\n' % traceback.format_exc()) sys.exit(2)
附录 B. Red Hat Enterprise Virtualization 用户界面插件
B.1. Red Hat Enterprise Virtualization 用户界面插件
B.2. Red Hat Enterprise Virtualization 用户界面插件的生命周期
B.2.1. Red Hat Enterprise Virtualization 用户界面插件的生命周期
- 插件发现(plug-in discovery)。
- 插件加载(plug-in loading)。
- 插件引导(plug-in bootstrapping)。
B.2.2. Red Hat Enterprise Virtualization 用户界面插件的发现
HTTP GET
)的一部分,用户界面插件系统会尝试从您的本地系统上发现并加载插件描述符。 对于每一个插件描述符,系统会尝试使用相应的插件用户配置来覆盖插件的默认配置,并调整插件运行时的行为。插件的用户配置是可选的。在插件描述符和用户额配置被加载后,oVirt 引擎会把所有的用户界面插件的数据进行综合,并把它们加入到管理门户的 HTML 页中。
$ENGINE_USR/ui-plug-ins
中,ENGINE_USR=/usr/share/ovirt-engine
是 oVirt 引擎本地配置的默认值。插件的描述符需要符合 JSON 格式的规则,但它同时也支持 Java/C++ 语言的注释风格(/*
和 //
)。
$ENGINE_ETC/ui-plug-ins
中,ENGINE_ETC=/etc/ovirt-engine
是 oVirt 引擎本地配置的默认值。插件的用户配置文件的格式规则和插件描述符的格式规则相同。
注意
<descriptorFileName>-config.json
的命名规则。
B.2.3. Red Hat Enterprise Virtualization 用户界面插件加载
B.2.4. Red Hat Enterprise Virtualization 用户界面插件引导
过程 B.1. 插件引导过程
- 为插件获得 pluginApi 项
- 获得运行时的插件配置项(可选)
- 注册相关的 event handler 函数
- 通知 UI 插件系统来处理插件的初始化
// Access plug-in API using 'parent' due to this code being evaluated within the context of an iframe element. // As 'parent.pluginApi' is subject to Same-Origin Policy, this will only work when WebAdmin HTML page and plug-in // host page are served from same origin. WebAdmin HTML page and plug-in host page will always be on same origin // when using UI plug-in infrastructure support to serve plug-in resource files. var api = parent.pluginApi('MyPlugin'); // Runtime configuration object associated with the plug-in (or an empty object). var config = api.configObject(); // Register event handler function(s) for later invocation by UI plug-in infrastructure. api.register({ // UiInit event handler function. UiInit: function() { // Handle UiInit event. window.alert('Favorite music band is ' + config.band); } }); // Notify UI plug-in infrastructure to proceed with plug-in initialization. api.ready();
B.3. 用户界面插件相关的文件和它们所在的位置
表 B.1. UI 插件相关的文件和它们所在的位置
文件 | 位置 | 注释 |
---|---|---|
插件描述符文件(元数据) | /usr/share/ovirt-engine/ui-plugins/my-plugin.json | |
插件用户配置文件 | /etc/ovirt-engine/ui-plugins/my-plugin-config.json | |
插件源文件 | /usr/share/ovirt-enging/ui-plugins/<resourcePath>/PluginHostPage.html | <resourcePath> 被插件描述符中的相关属性所定义。 |
B.4. 用户界面插件实现的实例
Hello World!
程序。
过程 B.2. 实现一个 Hello World!
插件
- 在 Manager 上添加以下的
/usr/share/ovirt-engine/ui-plugins/helloWorld.json
文件来创建一个插件描述符:{ "name": "HelloWorld", "url": "/ovirt-engine/webadmin/plugin/HelloWorld/start.html", "resourcePath": "hello-files" }
- 在 Manager 上添加以下的
/usr/share/ovirt-engine/ui-plugins/hello-files/start.html
文件来创建插件主页:<!DOCTYPE html><html><head> <script> var api = parent.pluginApi('HelloWorld'); api.register({ UiInit: function() { window.alert('Hello world'); } }); api.ready(); </script> </head><body></body></html>
Hello World!
插件,在您登录到管理门户的时候会看到以下显示:
图 B.1. 成功部署的 Hello World!
插件
B.5. 安装 Red Hat Support 插件
过程 B.3. 安装 Red Hat Support 插件
注意
- 使用 yum 安装 redhat-support-plugin-rhev 插件:
#
yum install redhat-support-plugin-rhev
B.6. 使用 Red Hat Support 插件
注意
图 B.2. Red Hat Support 插件 - 登录窗口
图 B.3. Red Hat Support 插件 - 左面导航列表中显示的查询结果
图 B.4. 在相关项上点鼠标右键来使用 Red Hat Support 插件
图 B.5. Red Hat Support 插件 - 打开一个新的支持档案
Red Hat Documentation
标签页打开和当前的管理门户所显示的内容相关的档案。
图 B.6. Red Hat Support 插件 - 访问文档
附录 C. Red Hat Enterprise Virtualization 和 SSL
C.1. 替换 Red Hat Enterprise Virtualization Manager SSL 证书
警告
/etc/pki
目录和它的所有子目录的访问权限和所有者权限。/etc/pki
和 /etc/pki/ovirt-engine
目录的权限必须保持为默认的值(755)。
注意
您需要一个商业证书授权机构签发的 PEM 格式的证书、一个 .nokey 文件和一个 .cer 文件。.nokey 和 .cer 文件有时以 P12 格式的证书密钥被发放。
过程 C.1. 替换 Red Hat Enterprise Virtualization Manager Apache SSL 证书
- Manager 已经被配置为使用
/etc/pki/ovirt-engine/apache-ca.pem
(到/etc/pki/ovirt-engine/ca.pem
的一个符号链接)。删除这个符号链接。# rm /etc/pki/ovirt-engine/apache-ca.pem
- 把您的商业证书授权机构签发的证书保存为
/etc/pki/ovirt-engine/apache-ca.pem
。证书链必须包括根证书,它的顺序非常重要,需要是从最后一个中间证书到根证书。mv YOUR-3RD-PARTY-CERT.pem /etc/pki/ovirt-engine/apache-ca.pem
- 把您的 P12 文件移到
/etc/pki/ovirt-engine/keys/apache.p12
。 - 从文件中展开密钥。
# openssl pkcs12 -in /etc/pki/ovirt-engine/keys/apache.p12 -nocerts -nodes > /etc/pki/ovirt-engine/keys/apache.key.nopass
- 从文件中展开证书
# openssl pkcs12 -in /etc/pki/ovirt-engine/keys/apache.p12 -nokeys > /etc/pki/ovirt-engine/certs/apache.cer
- 重新启动 Apache 服务器。
# service httpd restart
重要
- 从 CA 服务器输出 CA 证书,把它复制到 Red Hat Enterprise Virtualization Manager 服务器。
- 通过把一下内容添加到
/etc/ovirt-engine/logcollector.conf
文件来把日志收集程序指向新的位置:cert-file=/path/to/new/CA/file
C.2. 在 Manager 和一个 LDAP 服务器间设置 SSL 或 TLS 连接
注意
/usr/share/doc/ovirt-engine-extension-aaa-ldap-version
)的 X.509 CERTIFICATE TRUST STORE
一节。
/tmp
目录下。然后,使用以下流程在 Manager 上创建一个公共 keystore 文件。使用功能 keystore 文件的信息更新 LDAP 属性配置文件。
过程 C.2. 创建一个 keystore 文件
- 在 Red Hat Enterprise Virtualization Manager 上,导入证书并创建一个公共 keystore 文件。以下命令会在 /tmp/myrootca.pem 导入根 CA 证书,并在 /etc/ovirt-engine/aaa/ 中创建一个公共 keystore 文件(myrootca.jks)。
$ keytool -importcert -noprompt -trustcacerts -alias myrootca -file /tmp/myrootca.pem -keystore /etc/ovirt-engine/aaa/myrootca.jks -storepass changeit
- 使用 keystore 文件的信息更新
/etc/ovirt-engine/aaa/profile1.properties
文件。注意
${local:_basedir}
是 LDAP 属性配置文件所在的目录,它指向/etc/ovirt-engine/aaa
目录。如果您在不同的目录中创建了公共 keystore 文件,使用到公共 keystore 文件的完全路径替换${local:_basedir}
。- 使用 startTLS(推荐):
# Create keystore, import certificate chain and uncomment pool.default.ssl.startTLS = true pool.default.ssl.truststore.file = ${local:_basedir}/myrootca.jks pool.default.ssl.truststore.password = changeit
- 使用 SSL:
# Create keystore, import certificate chain and uncomment pool.default.serverset.single.port = 636 pool.default.ssl.enable = true pool.default.ssl.truststore.file = ${local:_basedir}/myrootca.jks pool.default.ssl.truststore.password = changeit
附录 D. 使用搜索、书签和标签
D.1. 搜索
D.1.1. 在 Red Hat Enterprise Virtualization 中进行搜索
D.1.2. 搜索语法和实例
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*
。
AND
和 OR
指定多个搜索条件,如:
Vms: users.name = m* AND status = Up
Vms: users.name = m* AND tag = "paris-loc"
AND
或 OR
时,这意味着 AND
被隐含使用。AND
的优先级高于 OR
,OR
的优先级高于隐含使用的 AND
。
D.1.7. 搜索:决定搜索结果的顺序
sortby
来指定搜索结果的顺序。您还可以指定是 asc
(升序)还是 desc
(降序)排列。
events: severity > normal sortby time desc
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 | 字符串 | 磁盘是否可以被引导。有效的值是 0 、1 、yes 或 no |
shareable | 字符串 | 磁盘是否可以被共享。有效的值是 0 、1 、yes 或 no |
format | 字符串 | 磁盘的格式。有效的值是 unused 、unassigned 、cow 或 raw 。 |
status | 字符串 | 磁盘的状态。有效的值是 unassigned 、ok 、locked 、invalid 或 illegal 。 |
disk_type | 字符串 | 磁盘的类型。有效的值是 image 或 lun 。 |
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
的虚拟机上的事件。
D.2. 书签
D.2.1. 把一个搜索条件保存为书签
过程 D.1. 把一个搜索条件保存为书签
- 在搜索栏中输入搜索条件并执行这个搜索。
- 点搜索栏右面的星形书签图标打开一个新书签窗口。
图 D.1. 书签图标
- 输入书签的名称。
- 如果需要的话,编辑搜索字符串中的内容。
- 点确定把搜索条件保存为一个书签,并关闭窗口。
- 这个搜索条件被保存为一个书签,并出现在书签框中。
D.2.2. 编辑一个书签
过程 D.2. 编辑一个书签
- 点屏幕左面的书签页。
- 选择您需要编辑的书签。
- 点编辑按钮打开编辑书签窗口。
- 根据需要修改名称和搜索字符串中的内容。
- 点确认保持所编辑的书签。
D.2.3. 删除一个书签
过程 D.3. 删除一个书签
- 点屏幕左面的书签页。
- 选择您需要删除的书签。
- 点删除键打开删除书签窗口。
- 点确认删除所选的书签。
D.3. 标签
D.3.1. 使用标签来定制和 Red Hat Enterprise Virtualization 进行交流的方式
D.3.2. 创建一个标签
过程 D.4. 创建一个标签
- 点屏幕左面的标签页。
- 选择您需要创建标签的节点。例如,您需要在最高级别创建标签,点 root 节点。
- 点新建按钮打开新建标签窗口。
- 输入新标签的名称和描述。
- 点确认来创建标签。
D.3.3. 修改一个标签
过程 D.5. 修改一个标签
- 点屏幕左面的标签页。
- 选择您需要修改的标签。
- 点编辑打开编辑标签窗口。
- 根据需要修改名称和描述项中的内容。
- 点确认保存所编辑的标签。
D.3.4. 删除一个标签
过程 D.6. 删除一个标签
- 点屏幕左面的标签页。
- 选择您需要删除的标签。
- 点删除打开删除标签窗口。这个窗口包括了删除标签将同时删除所有标签的依赖关系的警告信息。
- 点确认删除所选的标签。
D.3.5. 为项添加或删除标签
过程 D.7. 为项添加或删除标签
- 点资源标签页,选要添加或删除标签的项。
- 点分配标签按钮打开分配标签窗口。
- 选择相应的选择框来为这个项分配一个标签,或取消选择相应的选择框来为这个项删除标签。
- 点确定。
D.3.6. 使用标签进行搜索
- 在搜索查询中使用
tag
作为属性并指定特定的搜索条件。满足指定条件的标签所在的项会显示在结果列表中。
附录 E. 品牌化
E.1. 品牌化
E.1.1. 重新品牌化 Manager
/etc/ovirt-engine/branding/
目录下。这些文件包括了一组用来改变用户图形界面风格的 CSS 文件,以及一组包括了在 Manager 的不同组件中显示的信息和链接的属性文件。
E.1.2. 登录界面
- 边框
- 左面页头的图形
- 右面页头的图形
- 页头的信息
common.css
文件中。
E.1.3. 管理门户界面
- 徽标
- 左面的背景图形
- 中央的背景图形
- 右面的背景图形
- 徽标右面的文字
web_admin.css
文件中。
E.1.4. 用户门户界面
- 徽标
- 中央的背景图形
- 右面的背景图形
- 主界面的边框
- 登录用户信息上方的文字
user_portal.css
文件中。
E.1.5. 弹出窗口
- 边框
- 窗口头左面的图形
- 窗口头中间的图形(重复的)
common.css
。
E.1.6. 标签页
- 选中
- 没被选中
common.css
和 user_portal.css
文件中。
E.1.7. 欢迎页
- 页的标题
- 页头(左、中和右)
- 错误信息
- 向前的链接以及与那个链接相关的文字信息
welcome_style.css
文件中。
欢迎页的模板文件是一个名为 welcome_page.template
的普通 HTML 文件,它不包括 HTML
、HEAD
和 BODY
tag。这个文件会被直接插入到欢迎页中,作为要在欢迎页中显示的信息的容器。因此,您需要通过编辑这个文件来修改欢迎页中的信息或为它添加链接。另外,模板文件还提供了替代符(如 {user_portal}
),在欢迎页被处理的时候,这些替代符会被 messages.properties
文件中的信息所替代。
E.1.8. 未找到页面页
- 页的标题
- 页头(左、中和右)
- 错误信息
- 向前的链接以及与那个链接相关的文字信息
welcome_style.css
文件中。
附录 F. 修订历史
修订历史 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
修订 3.6-6.1 | Fri 12 Feb 2016 | Red Hat Localization Services | |||||||||||||||
| |||||||||||||||||
修订 3.6-6 | Thu 11 Feb 2016 | Red Hat Enterprise Virtualization Documentation Team | |||||||||||||||
| |||||||||||||||||
修订 3.6-5 | Thu 10 Dec 2015 | Red Hat Enterprise Virtualization Documentation Team | |||||||||||||||
| |||||||||||||||||
修订 3.6-4 | Wed 2 Dec 2015 | Red Hat Enterprise Virtualization Documentation Team | |||||||||||||||
| |||||||||||||||||
修订 3.6-3 | Wed 18 Nov 2015 | Red Hat Enterprise Virtualization Documentation Team | |||||||||||||||
| |||||||||||||||||
修订 3.6-2 | Wed 11 Nov 2015 | Red Hat Enterprise Virtualization Documentation Team | |||||||||||||||
| |||||||||||||||||
修订 3.6-1 | Tue 11 Aug 2015 | Red Hat Enterprise Virtualization Documentation Team | |||||||||||||||
|