2.3. 使用卷类型组卷配置
通过 Red Hat OpenStack Platform,您可以创建卷类型,以便您可以将相关的设置应用到每种卷类型。您可以在创建卷前和之后分配所需的卷类型。如需更多信息,请参阅创建块存储卷和 块存储卷 重新清理。以下列表显示了您可以应用到卷类型的一些相关设置:
- 卷的加密。如需更多信息,请参阅 块存储服务(cinder)卷加密。
 - 卷使用的后端。如需更多信息,请参阅多个后端上的卷分配 和在后端间移动卷。
 - 卷的相关服务质量(QoS)性能限制或 QoS 规格列表。如需更多信息,请参阅 块存储服务(cinder)服务质量规格。
 
使用名为 Extra Specs 的键值对与卷类型关联设置。当您在卷创建过程中指定卷类型时,块存储调度程序会将这些键值对作为设置应用。您可以将多个键值对与同一卷类型关联。
您可以创建卷类型来为云用户提供不同级别的性能:
- 为每个卷类型添加特定的性能、弹性和其他 Extra Specs 作为键值对。
 - 将不同的 QoS 性能限制或 QoS 规格列表与您的卷类型关联。
 
当您的用户创建卷时,他们可以选择适当的卷类型来满足其性能要求。
如果您创建卷且没有指定卷类型,则块存储将使用默认卷类型。您可以使用 Block Storage (cinder)配置文件定义适用于所有项目(租户)的一般默认卷类型。但是,如果您的部署使用特定于项目的卷类型,请确保为各个项目定义默认卷类型。在这种情况下,块存储使用特定于项目的卷类型,而不是常规的默认卷类型。如需更多信息,请参阅 定义特定于项目的默认卷类型。
2.3.1. 列出后端驱动程序属性 复制链接链接已复制到粘贴板!
与卷类型关联的属性使用键值对,称为 Extra Specs。每个卷类型后端驱动程序都支持自己的一组 Extra Specs。有关驱动程序支持的 Extra Specs 的更多信息,请参阅后端驱动程序文档。
或者,您可以直接查询块存储主机,以列出其后端驱动程序的定义明确的标准 Extra Spec。
先决条件
- 您必须是项目管理员,才能直接查询块存储主机。
 
流程
提供 overcloud 凭证文件:
source ~/<credentials_file>
$ source ~/<credentials_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 
									将 
<credentials_file> 替换为您的凭证文件的名称,如overcloudrc。 
- 
									将 
 确定 cinder-volume 的主机:
cinder service-list
$ cinder service-listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令将返回一个包含每个块存储服务的主机的列表(cinder-backup、cinder-scheduler 和 cinder-volume)。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示驱动程序功能以确定块存储服务支持的 Extra Specs:
cinder get-capabilities <volsvchost>
$ cinder get-capabilities <volsvchost>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<volsvchost>替换为 cinder-volume 的主机。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Backend 属性 列显示您可以设置的 Extra Spec Keys 列表,而 Value 列提供了有关有效对应值的信息。
2.3.2. 创建并配置卷类型 复制链接链接已复制到粘贴板!
您可以创建卷类型,以便您可以将关联的设置应用到每种卷类型。
如果块存储服务(cinder)配置为使用多个后端,则必须为每个后端创建一个卷类型。
例如,您可以创建卷类型来为云用户提供不同级别的性能:
- 为每个卷类型添加特定的性能、弹性和其他 Extra Specs 作为键值对。
 - 将不同的 QoS 性能限制或 QoS 规格列表与您的卷类型关联。如需更多信息,请参阅 块存储服务(cinder)服务质量规格。
 
当您的用户创建卷时,他们可以选择适当的卷类型来满足其性能要求。
先决条件
- 您必须是一个项目管理员,才能创建和配置卷类型。
 - 访问 Red Hat OpenStack Platform (RHOSP) Dashboard (horizon)。如需更多信息,请参阅使用 OpenStack 控制面板管理云资源。
 
流程
- 以 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.3. 编辑卷类型 复制链接链接已复制到粘贴板!
在仪表板中编辑卷类型,以修改卷类型的 Extra Specs 配置。您还可以删除卷类型。
先决条件
- 您必须是项目管理员才能编辑或删除卷类型。
 - 访问 Red Hat OpenStack Platform (RHOSP) Dashboard (horizon)。如需更多信息,请参阅使用 OpenStack 控制面板管理云资源。
 
流程
- 以 admin 用户身份登录控制面板。
 - 选择 Admin > Volumes > Volume Types。
 - 在 卷类型 表中,选择卷类型的 View Extra Specs 操作。
 在这个页面的 Extra Specs 表中,您可以:
- 向卷类型添加新设置。要做到这一点,点 Create 并指定您要与卷类型关联的新设置的键/值对。
 - 选择 设置的 Edit 操作,以编辑与卷类型关联的现有设置。
 - 选择额外 specs 复选框并点 Delete Extra Specs 以及下一个对话框屏幕,删除与卷类型关联的现有设置。
 
要删除卷类型,请从卷类型表中选中其对应的复选框,然后点 Delete Volume Types 。
2.3.4. 创建并配置私有卷类型 复制链接链接已复制到粘贴板!
					默认情况下,所有卷类型都可用于所有项目(租户)。您可以通过标记 私有 来创建受限卷类型。为此,请将卷类型的 is-public 标志设为 false,因为此标志的默认值为 true。
				
私有卷类型可用于限制对具有特定属性的卷的访问。通常,这些设置应该只可供特定项目使用。例如,要测试的新后端或巨型性能配置。
先决条件
- 您必须是创建、查看或配置私有卷类型访问权限的项目管理员。
 
流程
提供 overcloud 凭证文件:
source ~/<credentials_file>
$ source ~/<credentials_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 
									将 
<credentials_file> 替换为您的凭证文件的名称,如overcloudrc。 
- 
									将 
 创建新的 cinder 卷类型,并将
is-public标志设置为 false :cinder type-create --is-public false <type_name>
$ cinder type-create --is-public false <type_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 
									将 
<type_name> 替换为您要调用这个新私有卷类型的名称。 
- 
									将 
 
默认情况下,私有卷类型只能供其创建者访问。但是,管理员用户可使用以下命令查找并查看私有卷类型:
cinder type-list
$ cinder type-list
此命令列出公共和私有卷类型的名称和 ID。您需要卷类型的 ID 来提供对其的访问。
在项目级别授予私有卷类型的访问权限。因此,您需要知道所需项目的 ID。如果您不知道这个租户 ID,但您知道此项目的名称,请运行:
						如果您不确定此用户名,openstack user list 命令会列出所有配置的用户的名称和 ID。
					
openstack user show <user_name>
$ openstack user show <user_name>
- 
							将 < 
;user_name> 替换为所需项目的用户名称,以显示用户详情的列表,包括与此用户关联的项目的tenantId。 
要授予项目对私有卷类型的访问权限,请运行:
cinder type-access-add --volume-type <type_id> --project-id <tenant_id>
$ cinder  type-access-add --volume-type <type_id> --project-id <tenant_id>
- 
							将 
<type_id>替换为所需的私有卷类型的 ID。 - 
							将 
<tenant_id> 替换为所需的租户 ID。 
要查看哪些项目有权访问私有卷类型,请运行:
cinder type-access-list --volume-type <type_id>
$ cinder  type-access-list --volume-type <type_id>
要从私有卷类型的访问列表中删除项目,请运行:
cinder type-access-remove --volume-type <type_id> --project-id <tenant_id>
$ cinder  type-access-remove --volume-type <type_id> --project-id <tenant_id>
2.3.5. 定义特定于项目的默认卷类型 复制链接链接已复制到粘贴板!
可选: 对于复杂的部署,项目管理员可以为各个项目(租户)定义默认卷类型。
如果您创建卷且没有指定卷类型,则块存储将使用默认卷类型。
					您可以使用 Block Storage (cinder) 配置文件 cinder.conf 的 default_volume_type 选项定义应用到所有项目的通用默认卷类型。
				
但是,如果您的 Red Hat OpenStack Platform (RHOSP)部署使用特定于项目的卷类型,请确保为每个项目定义默认卷类型。在这种情况下,块存储使用特定于项目的卷类型,而不是常规的默认卷类型。以下 RHOSP 部署示例需要特定于项目的默认卷类型:
- 跨越多个可用区(AZ)的分布式 RHOSP 部署。每个 AZ 都位于自己的项目中,且具有自己的卷类型。
 - 一个 RHOSP 部署,用于公司的三个不同部门。每个部门都在自己的项目中,且具有自己的专用卷类型。
 
先决条件
- 每个项目中至少有一个卷类型,它将是特定于项目的默认卷类型。如需更多信息,请参阅 创建和配置卷类型。
 - 块存储 REST API 微版本 3.62 或更高版本。
 - 只有项目管理员才能为其项目定义、清除或列出默认卷类型。
 
流程
提供 overcloud 凭证文件:
source ~/<credentials_file>
$ source ~/<credentials_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 
									将 
<credentials_file> 替换为您的凭证文件的名称,如overcloudrc。 
- 
									将 
 定义、清除或列出项目的默认卷类型:
注意您必须将这些命令中的 <
project_id> 替换为所需项目的 ID。要查找每个租户的 ID 和名称,请运行openstack project list命令。为项目定义默认卷类型:
cinder --os-volume-api-version 3.62 default-type-set <volume_type> <project_id>
$ cinder --os-volume-api-version 3.62 default-type-set <volume_type> <project_id>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 
											将 
<volume_type>替换为所需卷类型的名称或 ID。您可以运行cinder type-list命令来列出所有卷类型的名称和 ID。 
- 
											将 
 清除项目的默认卷类型:
cinder --os-volume-api-version 3.62 default-type-unset <project_id>
$ cinder --os-volume-api-version 3.62 default-type-unset <project_id>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 列出项目的默认卷类型:
cinder --os-volume-api-version 3.62 default-type-list --project <project_id>
$ cinder --os-volume-api-version 3.62 default-type-list --project <project_id>Copy to Clipboard Copied! Toggle word wrap Toggle overflow