10.6. 虚拟磁盘任务

10.6.1. 创建浮动虚拟磁盘

在创建虚拟磁盘时,您可以创建一个不属于任何虚拟机的虚拟磁盘。在创建后,您可以把它附加到一个虚拟机上;或者如果这个虚拟磁盘是可共享的,您还可以把它附加到多个虚拟机上。
镜像磁盘的创建完全由 Manager 管理,而直接 LUN 磁盘则需要已存在的、由外部准备好的目标设备。Cinder 磁盘需要可以访问通过外部供应商界面添加到 Red Hat Enterprise Virtualization 环境中的 OpenStack Volume 实例。如需了解更多相关信息,请参阅 第 11.2.5 节 “为存储管理添加一个 OpenStack Volume(Cinder)实例”

过程 10.2. 创建浮动虚拟磁盘

  1. 选择磁盘资源标签页。
  2. 新建
    添加虚拟磁盘

    图 10.1. 添加虚拟磁盘

  3. 选择虚拟磁盘是镜像直接 LUNCinder 磁盘。
  4. 选择虚拟磁盘所需的选项。选项的改变会根据所选的磁盘类型的不同而不同。如需了解更多相关信息,请参阅 第 10.6.2 节 “添加虚拟磁盘窗口中的设置介绍”
  5. 确定

10.6.2. 添加虚拟磁盘窗口中的设置介绍

表 10.2. 新建虚拟机设置:镜像

描述
大小 (GB)
您创建的虚拟磁盘的大小(以 GB 为单位)
别名
虚拟磁盘的别名,最长为 40 个字符。
描述
虚拟磁盘的描述。这个项可以是空,但我们推荐您为这个项输入相应的信息。
接口
在虚拟机上代表这个虚拟磁盘的虚拟接口。VirtIO 接口速度比较快,但需要驱动程序。Red Hat Enterprise Linux 5 和更高的版本中包括了这些驱动程序。Windows 并不包括这些驱动,但可以通过客户端工具程序 ISO 或虚拟软盘进行安装。IDE 设备不需要特殊的驱动程序。
数据中心
虚拟磁盘所在的数据中心。
存储域
虚拟磁盘被保存的存储域。下拉列表列出了所选数据中心中的所有可用存储域,以及存储域中可用的存储空间。
分配策略
新虚拟磁盘的部署策略。
  • 预分配(Preallocated) 会在创建虚拟磁盘时为它在存储域中分配一个容量大小相等的磁盘空间。它的虚拟大小值和实际大小值是相同的。Preallocated 虚拟磁盘比 thinly provisioned 虚拟磁盘需要更长的时间来创建,但它的读写性能会更好。如果一个虚拟机需要可以满足每 4 秒写多于 1GB 的数据,我们推荐在条件允许的情况下使用预分配磁盘的形式。
  • Thin Provision 会在创建虚拟磁盘时分配 1GB 的存储空间,并设置在扩展磁盘容量时每次可以增加的最大限制。它的虚拟大小的值反映了磁盘的最大容量限制,而实际大小的值是磁盘当前实际分配的磁盘空间。使用 thin provision 格式创建磁盘的时间会被使用预分配格式要快,并允许使用存储过度分配(storage over-commitment)的功能。我们推荐桌面系统使用 thin provision 格式的虚拟磁盘。
Disk Profile
分配给虚拟磁盘的磁盘配置集。磁盘配置集定义了在一个存储域中的虚拟磁盘的最大吞吐级别和输入、输出操作的最大级别。它是基于数据中心中的存储配置集而创建的。
删除后清理
在虚拟磁盘被删除后,删除上面敏感的数据。这可以增强数据的安全性。
可引导
在虚拟磁盘中启用可引导标识
可共享
可以把这个虚拟磁盘同时附加到多个虚拟机上。
直接 LUN 的设置可以在 Targets > LUNsLUNs > Targets 标签页中显示。 Targets > LUNs 页根据所发现的主机为可用的 LUN 进行排序;而 LUNs > Targets 显示了一个单一的 LUN 列表。

表 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 类型。您可以选择 iSCSIFibre Channel
发现目标
这个项会在您使用 iSCSI 外部 LUN 并选择了 Targets > LUNs 时被展开。
地址 - 目标服务器的主机名或 IP 地址。
端口 - 连接到目标服务器所使用的端口。默认值是 3260。
用户验证 - iSCSI 服务器所需的用户验证。当您使用 iSCSI 外部 LUN 时,用户验证项会被显示。
CHAP 用户 - 有权限登录到 LUN 上的用户的用户名。这个项在选择了用户验证项后才有效。
CHAP 密码 - 有权限登录到 LUN 上的用户的密码。这个项在选择了用户验证项后才有效。
可引导
在虚拟磁盘中启用可引导标识
可共享
可以把这个虚拟磁盘同时附加到多个虚拟机上。
发现目标项中输入相应的信息并点发现来发现目标服务器。您然后可以点登录全部按钮来列出目标服务器上的所有可用的 LUN,选择需要被添加的 LUN。
直接使用 LUN 作为虚拟机的硬盘镜像将会省掉您的虚拟机和它们的数据间的一个抽象层。
在直接使用 LUN 作为一个虚拟机硬盘镜像时需要考虑以下因素:
  • 实时迁移直接 LUN 硬盘镜像的功能不被支持。
  • 直接 LUN 磁盘不包括在虚拟机的导出中。
  • 直接 LUN 磁盘不包括在虚拟机的快照中。
如果在有权限创建创建磁盘的相关数据中心中没有可用的 OpenStack 卷存储域,则 Cinder 的设置表格会被禁用。Cinder 磁盘需要可以访问一个通过外部供应商窗口创建添加到 Red Hat Enterprise Virtualization 环境中的 OpenStack 卷实例。如需了解更多相关信息,请参阅第 11.2.5 节 “为存储管理添加一个 OpenStack Volume(Cinder)实例”

表 10.4. 新建虚拟磁盘设置:Cinder

描述
大小 (GB)
您创建的虚拟磁盘的大小(以 GB 为单位)
别名
虚拟磁盘的别名,最长为 40 个字符。
描述
虚拟磁盘的描述。这个项可以是空,但我们推荐您为这个项输入相应的信息。
接口
在虚拟机上代表这个虚拟磁盘的虚拟接口。VirtIO 接口速度比较快,但需要驱动程序。Red Hat Enterprise Linux 5 和更高的版本中包括了这些驱动程序。Windows 并不包括这些驱动,但可以通过客户端工具程序 ISO 或虚拟软盘进行安装。IDE 设备不需要特殊的驱动程序。
数据中心
虚拟磁盘所在的数据中心。
存储域
虚拟磁盘被保存的存储域。下拉列表列出了所选数据中心中的所有可用存储域,以及存储域中可用的存储空间。
卷类型
虚拟磁盘的卷类型。下拉列表列出了全部可用的卷类型。卷类型在 OpenStack Cinder 上管理并配置。
可引导
在虚拟磁盘中启用可引导标识
可共享
可以把这个虚拟磁盘同时附加到多个虚拟机上。

10.6.3. 实时存储迁移介绍

您可以把附加在一个正在运行的虚拟机上的虚拟磁盘迁移到另外一个存储域中,这被称为实时存储迁移(live storage migration)。当进行存储实时迁移时,被迁移磁盘的镜像链快照会在源存储域中创建,整个镜像链会在目标存储域中被复制。因此,您需要保证在源存储域和目标存储域中都有足够的空间来保存这些快照和磁盘镜像链。在每次进行实时存储迁移操作时,一个新快照都会被创建,即使这个迁移操作失败。

重要

在数据中心的兼容版本低于 3.5、主机运行早于 Red Hat Enterprise Linux 7.1 和 Red Hat Enterprise Virtualization Hypervisor 7.1 的操作系统上时不支持实时快照迁移。如需删除其它数据中心或主机配置中的实时存储迁移快照,则需要在虚拟机关闭的情况下手工删除它们。如需了解更多与快照删除相关的信息,请参阅技术参考指南文档中的 Snapshot Deletion 一节。
在进行实时存储迁移时请考虑以下因素:
  • 实时存储迁移会创建一个快照。
  • 您可以同时迁移多个磁盘。
  • 同一个虚拟机的多个磁盘可以存在于不同的存储域中,但每个磁盘的镜像链必须位于同一个存储域中。
  • 在兼容版本为 3.6 的数据中心中,可以在同一个数据中心中的任何两个存储域间移动附加到正在运行的虚拟机上的磁盘。在兼容版本为 3.1、3.2、3.3、3.4 或 3.5 的数据中心中,只能在同一个数据中心中的两个基于文件的(NFS、POSIX 和 GlusterFS)存储域间,或两个基于块的(FCP 和 iSCSI)存储域间,移动附加到正在运行的虚拟机上的磁盘。兼容版本为 3.0 的数据中心不支持实时存储迁移。
  • 您不能实时迁移直接 LUN 硬盘镜像,也不能实时迁移标记为可共享的磁盘。

10.6.4. 移动一个虚拟磁盘

您可以把一个浮动虚磁盘或一个附加在虚拟机上的磁盘从一个存储域移到另一个存储域中。您可以移动附加在一个正在运行的虚拟机上的虚拟磁盘,这被称为实时存储迁移(live storage migration);或在移动虚拟磁盘前关闭它所在的虚拟机。如需了解更多与实时迁移相关的信息,请参阅 第 10.6.3 节 “实时存储迁移介绍”
在移动一个磁盘时请考虑以下因素:
  • 您可以同时移动多个磁盘。
  • 如果虚拟机已被关闭,则可以在同一个数据中心中的任何两个存储域间移动磁盘。在兼容版本为 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. 移动一个虚拟磁盘

  1. 选择磁盘标签页。
  2. 选择一个或多个需要移动的虚拟磁盘。
  3. 移动打开移动磁盘页。
  4. 目标下拉菜单中选择这个虚拟磁盘需要被移到的存储域。
  5. 磁盘配置集列表中为磁盘选择一个配置集。
  6. 确定
虚拟磁盘被移到目标存储域中,在移动的过程中它的状态为 Locked。如果您所移动的磁盘与一个正在运行的虚拟机相连接,这个磁盘的快照会被自动创建,并会在所连接的虚拟机的快照标签页中显示。如需了解更多与删除快照相关的信息,请参阅 Deleting a Snaphot

10.6.5. 复制一个虚拟磁盘

介绍

您可以把一个虚拟磁盘从一个存储域复制到另一个存储域。被复制的磁盘可以被添加到虚拟机上。

过程 10.4. 复制一个虚拟磁盘

  1. 选择磁盘标签项。
  2. 选择需要复制的磁盘。
  3. 复制打开复制磁盘窗口。
  4. 另外,还可以在别名项中输入一个别名。
  5. 使用目标下拉菜单选择这个虚拟磁盘需要被复制到的存储域。
  6. 确定
结果

虚拟磁盘被复制到目标存储域中,在复制过程中它的状态为 Locked

10.6.6. 从 OpenStack 镜像服务中导入一个虚拟机磁盘镜像

介绍

当一个 OpenStack 镜像服务作为一个“外部供应商”被添加到 Red Hat Enterprise Virtualization Manager 中后,这个 OpenStack 镜像服务所管理的虚拟镜像就可以被导入到 Manager 中。

  1. 存储标签页,选择 OpenStack 镜像服务域。
  2. 镜像标签页中选择需要被导入的镜像。
  3. 导入打开导入镜像窗口。
  4. 使用数据中心下拉菜单选择虚拟磁盘镜像要导入的数据中心。
  5. 使用域名下拉菜单选择虚拟磁盘镜像要导入的存储域。
  6. 另外,还可以使用配额菜单来为虚拟磁盘镜像设置一个配额。
  7. 确定导入虚拟磁盘镜像。
结果

镜像作为浮动虚拟磁盘被导入,并在磁盘标签页中被显示。它可以被附加到虚拟机上。

10.6.7. 把虚拟机磁盘输出到一个 OpenStack 镜像服务中

介绍

如果一个 OpenStack 镜像服务已经被作为外部“供应商”添加到 Manager 中,虚拟机的磁盘可以被导出到这个 OpenStack 镜像服务中。

  1. 选择磁盘标签页。
  2. 选择需要导出的磁盘。
  3. 导出打开导出镜像窗口。
  4. 使用域名菜单选择磁盘要被输出到的 OpenStack 镜像服务。
  5. 如果需要设置虚拟磁盘配额,使用配额菜单来为磁盘镜像设置一个配额。
  6. 确定
结果

虚拟机磁盘被输出到指定的 OpenStack 镜像服务中,并作为虚拟机磁盘镜像被它管理。

重要

虚拟机磁盘只有在没有多个卷、不是自动精简配置的(thinly provisioned)并且没有任何快照的情况下才能被导出。