2.3. 使用卷类型的组卷配置
通过 Red Hat OpenStack Platform,您可以创建卷类型,以便将关联的设置应用到卷类型。您可以在卷创建过程中应用设置,请参阅 第 3.1 节 “创建块存储卷”。您还可以在创建卷后应用设置,请参阅 第 4.5 节 “块存储卷重新处理”。以下列表显示了您可以应用到卷类型的一些关联设置:
- 卷的加密。更多信息请参阅 第 2.7.2 节 “使用 CLI 配置块存储服务卷加密”。
- 卷使用的后端。如需更多信息,请参阅 第 2.10 节 “指定创建卷的后端” 和 第 4.8 节 “使用 CLI 在后端间迁移卷”。
- 服务质量(QoS) Specs
设置使用名为 Extra Specs 的键值对与卷类型关联。当您在卷创建过程中指定卷类型时,块存储调度程序会将这些键值对应用为设置。您可以将多个键值对与同一卷类型关联。
卷类型提供为不同的用户提供存储层的功能。通过将特定性能、弹性和其他设置作为键值对与卷类型关联,您可以将特定于层的设置映射到不同的卷类型。然后,您可以通过指定对应的卷类型来在创建卷时应用层设置。
2.3.1. 列出后端驱动程序功能 复制链接链接已复制到粘贴板!
可用的 Extra Specs 因后端驱动程序而异。有关有效 Extra Specs 列表,请参阅驱动程序文档。
或者,您可以直接查询块存储主机,以确定其驱动程序支持哪个定义良好的标准 Extra Spec。首先,通过命令行登录到托管块存储服务的节点。
先决条件
- 成功安装 undercloud。如需更多信息,请参阅 Director 安装和使用 中的 在 undercloud 上安装 director。
流程
# cinder service-list
此命令将返回一个包含每个块存储服务主机的列表(cinder-backup、cinder-scheduler 和 cinder-volume)。例如:
+------------------+---------------------------+------+---------
| Binary | Host | Zone | Status ...
+------------------+---------------------------+------+---------
| cinder-backup | localhost.localdomain | nova | enabled ...
| cinder-scheduler | localhost.localdomain | nova | enabled ...
| cinder-volume | *localhost.localdomain@lvm* | nova | enabled ...
+------------------+---------------------------+------+---------
要显示块存储服务的驱动程序功能(及确定支持的 Extra Specs),请运行:
# cinder get-capabilities _VOLSVCHOST_
其中 VOLSVCHOST 是 cinder-volume 主机的完整名称。例如:
# cinder get-capabilities localhost.localdomain@lvm
+---------------------+-----------------------------------------+
| Volume stats | Value |
+---------------------+-----------------------------------------+
| description | None |
| display_name | None |
| driver_version | 3.0.0 |
| namespace | OS::Storage::Capabilities::localhost.loc...
| pool_name | None |
| storage_protocol | iSCSI |
| vendor_name | Open Source |
| visibility | None |
| volume_backend_name | lvm |
+---------------------+-----------------------------------------+
+--------------------+------------------------------------------+
| Backend properties | Value |
+--------------------+------------------------------------------+
| compression | {u'type': u'boolean', u'description'...
| qos | {u'type': u'boolean', u'des ...
| replication | {u'type': u'boolean', u'description'...
| thin_provisioning | {u'type': u'boolean', u'description': u'S...
+--------------------+------------------------------------------+
Backend properties 列显示您可以设置的 Extra Spec Keys 列表,而 Value 列则提供有关有效对应值的信息。
可用的 Extra Specs 因后端驱动程序而异。有关有效 Extra Specs 列表,请参阅驱动程序文档。
或者,您可以直接查询块存储主机,以确定其驱动程序支持哪个定义良好的标准 Extra Spec。首先,通过命令行登录到托管块存储服务的节点。然后:
# cinder service-list
此命令将返回一个包含每个块存储服务主机的列表(cinder-backup、cinder-scheduler 和 cinder-volume)。例如:
+------------------+---------------------------+------+---------
| Binary | Host | Zone | Status ...
+------------------+---------------------------+------+---------
| cinder-backup | localhost.localdomain | nova | enabled ...
| cinder-scheduler | localhost.localdomain | nova | enabled ...
| cinder-volume | *localhost.localdomain@lvm* | nova | enabled ...
+------------------+---------------------------+------+---------
要显示块存储服务的驱动程序功能(及确定支持的 Extra Specs),请运行:
# cinder get-capabilities _VOLSVCHOST_
其中 VOLSVCHOST 是 cinder-volume 主机的完整名称。例如:
# cinder get-capabilities localhost.localdomain@lvm
+---------------------+-----------------------------------------+
| Volume stats | Value |
+---------------------+-----------------------------------------+
| description | None |
| display_name | None |
| driver_version | 3.0.0 |
| namespace | OS::Storage::Capabilities::localhost.loc...
| pool_name | None |
| storage_protocol | iSCSI |
| vendor_name | Open Source |
| visibility | None |
| volume_backend_name | lvm |
+---------------------+-----------------------------------------+
+--------------------+------------------------------------------+
| Backend properties | Value |
+--------------------+------------------------------------------+
| compression | {u'type': u'boolean', u'description'...
| qos | {u'type': u'boolean', u'des ...
| replication | {u'type': u'boolean', u'description'...
| thin_provisioning | {u'type': u'boolean', u'description': u'S...
+--------------------+------------------------------------------+
Backend properties 列显示您可以设置的 Extra Spec Keys 列表,而 Value 列则提供有关有效对应值的信息。
2.3.2. 创建并配置卷类型 复制链接链接已复制到粘贴板!
创建卷类型,以便您可以将关联的设置应用到卷类型。
如果将 Block Storage 服务(cinder)配置为使用多个后端,则必须为每个后端创建一个卷类型。
卷类型提供为不同的用户提供存储层的功能。通过将特定性能、弹性和其他设置作为键值对与卷类型关联,您可以将特定于层的设置映射到不同的卷类型。然后,您可以通过指定对应的卷类型来在创建卷时应用层设置。
先决条件
- 成功安装 undercloud。如需更多信息,请参阅 Director 安装和使用 中的 在 undercloud 上安装 director。
- 成功部署 overcloud。如需更多信息,请参阅 Director 安装和使用中的使用 CLI 工具创建基本 overcloud。
- 访问 Red Hat OpenStack Platform (RHOSP) Dashboard (horizon)。有关更多信息,请参阅 Director 安装和使用中的 Overcloud 部署输出。
流程
- 在仪表板中作为 admin 用户,选择 Admin > Volumes > Volume Types。
- 单击 Create Volume Type。
- 在 Name 字段中输入卷类型名称。
- 单击 Create Volume Type。新类型会出现在 卷类型 表中。
- 选择卷类型的 View Extra Specs 操作。
-
点 Create 并指定 Key 和 Value。键值对必须有效;否则,在卷创建过程中指定卷类型将导致错误。例如,要为这个卷类型指定一个后端,请添加
volume_backend_nameKey,并将 Value 设置为所需后端的名称。 - 点 Create。相关的设置(键值对)现在会出现在 Extra Specs 表中。
默认情况下,所有卷类型都可被所有 OpenStack 项目访问。如果需要创建具有受限访问权限的卷类型,则需要通过 CLI 完成此操作。具体说明请查看 第 2.3.4 节 “创建并配置私有卷类型”。
您还可以将 QoS 规格与卷类型关联。更多信息请参阅 第 2.6.3 节 “将服务质量规格与卷类型关联”。
2.3.3. 编辑卷类型 复制链接链接已复制到粘贴板!
编辑仪表板中的卷类型,以修改卷类型的 Extra Specs 配置。
先决条件
- 成功安装 undercloud。有关更多信息,请参阅在 undercloud 上安装 director。
- 成功部署 overcloud。如需更多信息,请参阅使用 CLI 工具创建基本 overcloud。
- 访问 Red Hat OpenStack Platform (RHOSP) Dashboard (horizon)。有关更多信息,请参阅 Overcloud 部署输出。
流程
- 在仪表板中作为 admin 用户,选择 Admin > Volumes > Volume Types。
- 在 卷类型 表中,选择卷类型的 View Extra Specs 操作。
在这个页面的 Extra Specs 表中,您可以:
- 在卷类型中添加新设置。要做到这一点,点 Create 并指定您要与卷类型关联的新设置的键/值对。
- 选择设置的 Edit 操作来编辑与卷类型关联的现有设置。
- 选中额外 specs' 复选框,然后点击 Delete Extra Specs 以及下一个对话框中,来删除与卷类型关联的现有设置。
要删除卷类型,请从卷类型表中选中其对应的复选框,然后点 Delete Volume Types 。
2.3.4. 创建并配置私有卷类型 复制链接链接已复制到粘贴板!
默认情况下,所有卷类型都可用于所有项目。您可以通过将其标记为 私有 来创建受限卷类型。为此,请将 type 的 is-public 标志设置为 false。
私有卷类型可用于限制对具有特定属性的卷的访问。通常,这些设置应该只能被特定的项目使用;示例包括要测试的新后端或巨等性能配置。
先决条件
- 成功安装 undercloud。如需更多信息,请参阅 Director 安装和使用 中的 在 undercloud 上安装 director。
- 成功部署 overcloud。如需更多信息,请参阅 Director 安装和使用中的使用 CLI 工具创建基本 overcloud。
流程
$ cinder type-create --is-public false <TYPE-NAME>
默认情况下,私有卷类型只能被其创建者访问。但是,管理员用户可以使用以下命令查找并查看私有卷类型:
$ cinder type-list
此命令列出公共和私有卷类型,同时还包括每种卷的名称和 ID。您需要卷类型的 ID 来提供对其的访问。
在项目级别授予私有卷类型的访问权限。要授予项目对私有卷类型的访问权限,请运行:
$ cinder type-access-add --volume-type <TYPE-ID> --project-id <TENANT-ID>
要查看哪些项目有权访问私有卷类型,请运行:
$ cinder type-access-list --volume-type <TYPE-ID>
要从私有卷类型的访问列表中删除项目,请运行:
$ cinder type-access-remove --volume-type <TYPE-ID> --project-id <TENANT-ID>
默认情况下,只有具有管理特权的用户才能为私有卷类型创建、查看或配置访问权限。