第10章:虚拟磁盘 了解虚拟机存储 oVirt支持三种存储类型:NFS,iSCSI和FCP。 在每种类型中,称为存储池管理器(SPM)的主机管理主机与存储之间的访问。SPM主机是唯一在存储池中具有完全访问权限的节点。SPM可以修改存储域元数据和池的元数据。所有其他主机只能访问虚拟机硬盘映像数据。 默认情况下,在NFS,本地或POSIX兼容数据中心中,SPM使用精简配置格式将虚拟磁盘创建为文件系统中的文件。 在iSCSI和其他基于块的数据中心中,SPM在提供的逻辑单元号(LUN)之上创建一个卷组,并使逻辑卷用作虚拟机磁盘。默认情况下,基于块的存储上的虚拟机磁盘是预先分配的。 如果预分配了虚拟磁盘,则会创建指定大小(以GB为单位)的逻辑卷。可以使用kpartx,将虚拟机安装在Red Hat Enterprise Linux服务器上vgscan,vgchange或者mount调查虚拟机的进程或问题。 如果对虚拟磁盘进行了精简配置,则会创建一个1 GB的逻辑卷。逻辑卷由运行虚拟机的主机连续监视。一旦使用量接近阈值,主机就会通知SPM,并且SPM会将逻辑卷扩展1 GB。扩展逻辑卷后,主机负责恢复虚拟机。如果虚拟机进入暂停状态,则意味着SPM无法及时扩展磁盘。如果SPM太忙或没有足够的存储空间,则会发生这种情况。 与具有精简配置(QCOW2)格式的虚拟磁盘相比,具有预分配(RAW)格式的虚拟磁盘具有显着更快的写入速度。精简资源调配花费的时间大大少于创建虚拟磁盘的时间。精简配置格式适用于非I / O密集型虚拟机。对于具有高I / O写入的虚拟机,建议使用预分配的格式。如果虚拟机每四秒钟能够写入1 GB以上的内存,请尽可能使用预分配的磁盘。 了解虚拟磁盘 oVirt具有预分配(精简配置)和稀疏(精简配置)存储选项。
预先分配的虚拟磁盘会预先分配虚拟机所需的所有存储。例如,为虚拟机的数据分区创建的20 GB的预分配逻辑卷在创建后将立即占用20 GB的存储空间。
稀疏分配允许管理员定义要分配给虚拟机的总存储,但是仅在需要时才分配存储。 例如,一个20 GB的精简配置逻辑卷在首次创建时将占用0 GB的存储空间。安装操作系统后,它可能会占用已安装文件的大小,并且随着将数据添加到最大20 GB的大小而将继续增长。 您可以在存储 → 磁盘中查看虚拟磁盘的ID。该ID用于标识虚拟磁盘,因为其设备名称(例如/ dev / vda0)可能会更改,从而导致磁盘损坏。您还可以在/ dev / disk / by-id中查看虚拟磁盘的ID 。 您可以在存储 → 磁盘以及详细信息视图的磁盘选项卡中查看存储域,虚拟机和模板的磁盘虚拟大小。的虚拟大小是的是,虚拟机可以使用的磁盘空间的总量。它是您在创建或编辑虚拟磁盘时在Size(GB)字段中输入的数字。 您可以在详细信息视图的“ 磁盘”选项卡中查看存储域和模板的磁盘实际大小。这是到目前为止已分配给虚拟机的磁盘空间量。预分配的磁盘的“ 虚拟大小”和“ 实际大小”显示相同的值。稀疏磁盘可能显示不同的值,具体取决于已分配了多少磁盘空间。 **Note:** When creating a Cinder virtual disk, the format and type of the disk are handled internally by Cinder and are not managed by oVirt. 下表描述了存储类型和格式的可能组合。 允许的存储组合
删除后擦除虚拟磁盘的设置 该wipe_after_delete标志,在政府门户网站作为观察擦拭后删除复选框会当虚拟磁盘被删除与替换零使用的数据。如果将其设置为false(默认值),则删除磁盘将打开这些块以供重用,但不会擦除数据。因此,由于块尚未恢复为零,因此有可能恢复该数据。 该wipe_after_delete标志仅适用于块存储。在文件存储(例如NFS)上,该选项不执行任何操作,因为文件系统将确保不存在任何数据。 启用wipe_after_delete虚拟磁盘更加安全,如果虚拟磁盘包含任何敏感数据,则建议启用虚拟磁盘。这是一个更密集的操作,用户可能会遇到性能下降和删除时间延长的问题。 **Note:** The wipe after delete functionality is not the same as secure delete, and cannot guarantee that the data is removed from the storage, just that new disks created on same storage will not expose data from old disks. 该wipe_after_delete标志默认是可以改变的,以true在安装过程中(见在“配置oVirt引擎” 安装指南),或通过对oVirt引擎发动机的配置工具。重新启动引擎以使设置更改生效。 **Note:** Changing the `wipe_after_delete` flag’s default setting will not affect the **Wipe After Delete** property of disks that already exist. 使用引擎配置工具将SANWipeAfterDelete设置为默认设置为True
该/var/log/vdsm/vdsm.log位于主机上的文件可以进行检查,以确认虚拟磁盘被成功消灭和删除。 为了成功擦除,日志文件将包含条目storage_domain_id/volume_id was zeroed and will be deleted。例如: a9cb0625-d5dc-49ab-8ad1-72722e82b0bf/a49351a7-15d8-4932-8d67-512a369f9d61 was zeroed and will be deleted 为了成功删除,日志文件将包含条目finished with VG:storage_domain_id LVs: list_of_volume_ids, img: image_id。例如: finished with VG:a9cb0625-d5dc-49ab-8ad1-72722e82b0bf LVs: {'a49351a7-15d8-4932-8d67-512a369f9d61': ImgsPar(imgs=['11f8b3be-fa96-4f6a-bb83-14c9b12b6e0d'], parent='00000000-0000-0000-0000-000000000000')}, img: 11f8b3be-fa96-4f6a-bb83-14c9b12b6e0d 擦除失败将显示一条日志消息zeroing storage_domain_id/volume_id failed. Zero and remove this volume manually,并且删除将失败Remove failed for some of VG: storage_domain_id zeroed volumes: list_of_volume_ids。 oVirt中的共享磁盘 某些应用程序需要在服务器之间共享存储。oVirt允许您将虚拟机硬盘标记为可共享,并将这些磁盘附加到虚拟机。这样,单个虚拟磁盘便可以被多个支持群集的客户机使用。 并非在所有情况下都使用共享磁盘。对于群集数据库服务器之类的应用程序以及其他高可用性服务,共享磁盘是合适的。将共享磁盘附加到不支持群集的多个guest虚拟机可能会导致数据损坏,因为它们对磁盘的读取和写入不协调。 您不能对共享磁盘进行快照。带有快照的虚拟磁盘以后无法标记为可共享。 您可以在创建磁盘时将其标记为可共享磁盘,也可以稍后对其进行编辑。 oVirt中的只读磁盘 某些应用程序要求管理员共享具有只读权限的数据。在创建或编辑附加到虚拟机的磁盘时,可以通过虚拟机详细信息窗格中的“ 磁盘”选项卡并选择“ 只读”复选框来执行此操作。这样,多个支持群集的来宾可以读取单个磁盘,而管理员则拥有写入权限。 虚拟机运行时,您无法更改磁盘的只读状态。 **Important:** Mounting a journaled file system requires read-write access. Using the **Read Only** option is not appropriate for virtual machine disks that contain such file systems (e.g. `EXT3`, `EXT4`, or `XFS`). 虚拟磁盘任务 创建浮动虚拟磁盘 映像磁盘的创建完全由引擎管理。直接LUN磁盘需要已经存在的外部准备的目标。Cinder磁盘需要访问使用“ 外部提供程序”窗口添加到oVirt环境中的OpenStack卷实例;有关更多信息,请参阅为存储管理添加OpenStack Volume Cinder实例。 您可以创建附加到特定虚拟机的虚拟磁盘。如下面的“新虚拟磁盘窗口中的设置说明”部分所指定,在创建附加的虚拟磁盘时可以使用其他选项。 创建附加到虚拟机的虚拟磁盘
您还可以创建不属于任何虚拟机的浮动虚拟磁盘。您可以将此磁盘附加到单个虚拟机,或者如果该磁盘是可共享的,则附加到多个虚拟机。如在“新建虚拟磁盘窗口中的设置说明”部分中指定的,创建虚拟磁盘时某些选项不可用。 创建浮动虚拟磁盘
“新建虚拟磁盘”窗口中的设置说明 新虚拟磁盘和编辑虚拟磁盘设置:映像
可以在“ 目标”>“ LUN”或“ LUN”>“目标”中显示“ 直接LUN”设置。目标> LUN根据发现它们的主机对可用LUN进行排序,而LUN>目标则显示一个LUN列表。 填写“ 发现目标”部分中的字段,然后单击“ 发现”以发现目标服务器。然后,您可以单击全部登录按钮以列出目标服务器上的可用LUN,然后使用每个LUN旁边的单选按钮选择要添加的LUN。 直接将LUN用作虚拟机硬盘映像可消除虚拟机及其数据之间的抽象层。 将直接LUN用作虚拟机硬盘映像时,必须注意以下事项:
新虚拟磁盘和编辑虚拟磁盘设置:直接
该煤渣,如果有您拥有的权限来创建在相关数据中心的磁盘没有可用的OpenStack卷的存储域的设置形式将被禁用。Cinder磁盘需要访问使用“ 外部提供程序”窗口添加到oVirt环境中的OpenStack卷实例;有关更多信息,请参阅为存储管理添加OpenStack Volume Cinder实例。 新虚拟磁盘和编辑虚拟磁盘设置:Cinder </ tr>
**Important:** Mounting a journaled file system requires read-write access. Using the **Read-Only** option is not appropriate for virtual disks that contain such file systems (e.g., **EXT3**, **EXT4**, or **XFS**). 实时存储迁移概述 当虚拟机磁盘连接到的虚拟机正在运行时,可以将其从一个存储域迁移到另一个存储域。这称为实时存储迁移。迁移与运行中的虚拟机连接的磁盘时,将在源存储域中创建该磁盘的映像链的快照,然后在目标存储域中复制整个映像链。因此,请确保在源存储域和目标存储域中都有足够的存储空间来承载磁盘映像链和快照。即使迁移失败,也会在每次实时存储迁移尝试时创建一个新快照。 使用实时存储迁移时,请考虑以下事项:
移动虚拟磁盘 将连接到虚拟机或充当浮动虚拟磁盘的虚拟磁盘从一个存储域移动到另一个存储域。您可以移动连接到正在运行的虚拟机的虚拟磁盘。这称为实时存储迁移。或者,在继续之前关闭虚拟机。 移动磁盘时,请考虑以下事项:
移动虚拟磁盘
虚拟磁盘将移至目标存储域。在移动过程中,将显示“ 状态”列Locked和一个进度条,以指示移动操作的进度。 更改磁盘接口类型 创建磁盘后,用户可以更改磁盘的接口类型。这使您可以将现有磁盘连接到需要其他接口类型的虚拟机。例如,使用该VirtIO接口的磁盘可以连接到需要VirtIO-SCSIor IDE接口的虚拟机。这提供了为备份和还原或灾难恢复目的而迁移磁盘的灵活性。共享磁盘的磁盘接口也可以针对每个虚拟机进行更新。这意味着使用共享磁盘的每个虚拟机可以使用不同的接口类型。 要更新磁盘接口类型,必须首先停止使用该磁盘的所有虚拟机。 更改磁盘接口类型
您可以将磁盘连接到需要不同接口类型的其他虚拟机。 使用不同的接口类型将磁盘附加到不同的虚拟机
复制虚拟磁盘 您可以将虚拟磁盘从一个存储域复制到另一个存储域。复制的磁盘可以连接到虚拟机。 复制虚拟磁盘
虚拟磁盘Locked在复制时的状态为。 将磁盘映像上载到存储域 您可以在管理门户中或使用REST API将虚拟磁盘映像和ISO映像上载到数据存储域。 可以将与QEMU兼容的虚拟磁盘连接到虚拟机。虚拟磁盘类型必须为QCOW2或原始磁盘。从QCOW2虚拟磁盘创建的磁盘不能共享,并且QCOW2虚拟磁盘文件必须没有备份文件。 ISO映像可以作为CDROM附加到虚拟机,也可以用于引导虚拟机。 先决条件: 上载功能使用HTML 5 API,这要求您的环境具有以下功能:
要导入证书颁发机构,请浏览至https:// engine_address / ovirt-engine / services / pki-resource?resource = ca-certificate&format = X509-PEM-CA并启用所有信任设置。请参阅说明,以在Firefox,Internet Explorer或Google Chrome中安装证书颁发机构。
将映像上传到数据存储域
进度条指示上传状态。您可以从“ 上传”菜单暂停,取消或恢复上传。 增加上传超时值
从导入的存储域导入磁盘映像 使用详细信息窗格的“ 磁盘导入”选项卡从导入的存储域中导入浮动虚拟磁盘。 **Note:** Only QEMU-compatible disks can be imported into the Engine. 导入磁盘映像
从导入的存储域中导入未注册的磁盘映像 使用详细信息窗格的“ 磁盘导入”选项卡从存储域中导入浮动虚拟磁盘。在oVirt环境之外创建的浮动磁盘未在引擎中注册。扫描存储域以标识要导入的未注册浮动磁盘。 注意:只能将QEMU兼容磁盘导入到引擎中。 导入磁盘映像
从OpenStack映像服务导入虚拟磁盘映像 如果已将OpenStack映像服务作为外部提供程序添加到该引擎,则可以将由OpenStack映像服务管理的虚拟磁盘映像导入oVirt Engine。
现在可以将磁盘连接到虚拟机。 将虚拟机磁盘导出到OpenStack映像服务 可以将虚拟机磁盘导出到已作为外部提供程序添加到引擎的OpenStack映像服务。 **Important:** Virtual disks can only be exported if they do not have multiple volumes, are not thin provisioned, and do not have any snapshots.
回收虚拟磁盘空间 使用精简配置的虚拟磁盘在删除文件后不会自动收缩。例如,如果实际磁盘大小为100GB,而您删除了50GB的文件,则分配的磁盘大小将保持为100GB,并且剩余的50GB不会返回给主机,因此无法被其他虚拟机使用。主机可以通过在虚拟机的磁盘上执行稀疏操作来回收未使用的磁盘空间。这会将可用空间从磁盘映像转移到主机。您可以并行稀疏多个虚拟磁盘。 oVirt Project建议在克隆虚拟机,基于虚拟机创建模板或清理存储域的磁盘空间之前执行此操作。 局限性
稀疏磁盘
一个Started to sparsify事件出现在事件的sparsify操作过程中标签和磁盘的状态显示为Locked。操作完成后,Sparsified successfully事件将显示在“ 事件”选项卡中,并且磁盘的状态显示为OK。未使用的磁盘空间已返回给主机,可供其他虚拟机使用。 (责任编辑:IT) |