2.4. 高级卷配置


以下流程描述了如何执行高级卷管理步骤。

重要

您必须在使用块存储服务(cinder)和光纤通道(FC)后端的任何部署中,在所有 Controller 节点和 Compute 节点上安装主机总线适配器(HBA)。

2.4.1. 迁移卷

使用 Block Storage 服务(cinder),您可以在可用区和跨可用区(AZ)之间迁移卷。这是将卷从一个后端移到另一个后端的最常用方法。默认策略仅允许管理员迁移卷。不要更改默认策略。

在高度自定义部署或必须停用存储系统的情况下,管理员可以迁移卷。在这两种用例中,多个存储系统共享相同的 volume_backend_name,或者未定义。

限制

  • 无法复制卷。
  • 目标后端必须与卷的当前后端不同。
  • 现有卷类型必须对新后端有效,这意味着必须满足以下条件:

    • 卷类型不能在其额外 specs 中定义 backend_volume_name,或者两个块存储后端都必须使用相同的 backend_volume_name 配置。
    • 两个后端都必须支持卷类型中配置的相同功能,如支持精简配置、密集置备或其他功能配置。
注意

将卷从一个后端移动到另一个后端可能需要大量时间和资源。更多信息请参阅 第 2.3.13 节 “在后端之间移动卷”

2.4.1.1. 在后端之间迁移

使用仪表板 UI 在后端之间迁移卷。

流程

  1. 在控制面板中,选择 Admin > Volumes
  2. 在您要迁移的卷的 Actions 列中,选择 Migrate Volume
  3. Migrate Volume 对话框中,从 Destination Host 下拉列表中选择目标主机。

    注意

    要绕过主机迁移的任何驱动程序优化,请选择 Force Host Copy 复选框。

  4. Migrate 开始迁移。

2.4.1.2. 从命令行在后端之间迁移

流程

  1. 输入以下命令来检索目标后端的名称:

    $ cinder get-pools --detail
    
    Property                      | Value
    
    ...
    
    | name                        | localdomain@lvmdriver-1#lvmdriver-1
    | pool_name                   | lvmdriver-1
    
    ...
    
    | volume_backend_name         | lvmdriver-1
    
    ...
    
    Property                      | Value
    
    ...
                                                          |
    | name                        | localdomain@lvmdriver-2#lvmdriver-1
    | pool_name                   | lvmdriver-1
    
    ...
    
    | volume_backend_name         | lvmdriver-1
    
    ...

    后端名称的格式是 host@volume_backend_name#pool

    在示例输出中,块存储服务中有两个 LVM 后端:localdomain@lvmdriver-1#lvmdriver-1localdomain@lvmdriver-2#lvmdriver-1。请注意,两个后端都共享相同的 volume_backend_name,lvmdriver-1

    注意

    使用 LVM 只适用于。在生产环境中不支持 LVM。

  2. 输入以下命令将卷从一个后端迁移到另一个后端:

    $ cinder migrate <volume id or name> <new host>

2.4.1.3. 验证卷迁移

当您创建卷时,migration_status 值等于 None。当您启动 迁移时,状态会更改为迁移。迁移完成后,状态会更改为 successerror

在块存储服务接受迁移请求后,cinder 客户端会以 Request to migrate volume <volume id> 类似的消息进行响应。但是,迁移需要时间完成。作为管理员,您可以验证迁移的状态。

流程

  1. 输入以下命令并查看 migration_status 字段:

    $ cinder show <volume id>
    注意

    当您启动通用卷迁移时,卷名称会被重复。如果您输入了带有卷名称的 cinder show 命令,cinder 客户端会返回一个类似于 ERROR: Multiple volume match found for '<volume name>' 的错误。要避免这个错误,请使用卷 ID。

迁移成功后,host 字段与 cinder migrate 命令中设置的 &lt ;new host > 值匹配。

2.4.2. 加密未加密的卷

要加密未加密的卷,您必须备份未加密的卷,然后将其恢复到新的加密卷,或者从未加密卷创建镜像服务(glance)镜像,然后从镜像创建一个新的加密卷。

前提条件

  • 要加密的未加密的卷。

流程

  1. 如果 cinder-backup 服务可用,备份当前未加密的卷:

    $ cinder backup-create <unencrypted_volume>
    • <unencrypted_volume > 替换为未加密的卷的名称或 ID。
  2. 创建新加密卷:

    $ cinder create <encrypted_volume_size> --volume-type <encrypted_volume_type>
    • <encrypted_volume_size > 替换为新卷的大小(以 GB 为单位)。这个值必须于未加密卷的大 1 GB,以便容纳加密元数据。
    • <encrypted_volume_type > 替换为您需要的加密类型。
  3. 将未加密的卷的备份恢复到新的加密卷:

    $ cinder backup-restore <backup> --volume <encrypted_volume>
    • <backup > 替换为未加密的卷备份的名称或 ID。
    • <encrypted_volume > 替换为新加密卷的 ID。

如果 cinder-backup 服务不可用,请使用 upload-to-image 命令创建未加密的卷的镜像,然后从镜像创建一个新的加密卷。

  1. 创建未加密的卷的镜像服务镜像:

    $ cinder upload-to-image <unencrypted_volume> <new_image>
    • <unencrypted_volume > 替换为未加密的卷的名称或 ID。
    • <new_image > 替换为新镜像的名称。
  2. 从比镜像大 1 GB 的镜像创建一个新卷:

    $ cinder volume create --size <size> --volume-type luks --image <new_image> <encrypted_volume_name>
    • < size> 替换为新卷的大小。这个值必须比旧的未加密的卷大 1GB。
    • <new_image > 替换为您从未加密的卷创建的镜像的名称。
    • <encrypted_volume_name > 替换为新加密卷的名称。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.