4.3. 验证 Block Storage (cinder) 卷镜像
Block Storage Service (cinder)会在从镜像创建卷过程中自动验证任何已下载的已签名。签名在镜像写入卷前进行验证。要提高性能,您可以使用 Block Storage Image-Volume 缓存存储验证的镜像以创建新卷。
Red Hat Ceph Storage 或 RBD 卷不支持 Cinder 镜像签名验证。
流程
- 登录到 Controller 节点。
选择以下选项之一:
查看
卷
日志中的 cinder 镜像验证活动/var/log/containers/cinder/cinder-volume.log
。例如,您可以在实例引导时预期以下条目:
2018-05-24 12:48:35.256 1 INFO cinder.image.image_utils [req-7c271904-4975-4771-9d26-cbea6c0ade31 b464b2fd2a2140e9a88bbdacf67bdd8c a3db2f2beaee454182c95b646fa7331f - default default] Image signature verification succeeded for image d3396fa0-2ea2-4832-8a77-d36fa3f2ab27
使用
openstack volume list
和cinder volume show
命令:-
使用
openstack volume list
命令找到卷 ID。 在计算节点上运行
cinder volume show
命令:cinder volume show <VOLUME_ID>
-
使用
找到
volume_image_metadata
部分,其中包含验证了 : True 的行签名
。$ cinder show d0db26bb-449d-4111-a59a-6fbb080bb483 +--------------------------------+-------------------------------------------------+ | Property | Value | +--------------------------------+-------------------------------------------------+ | attached_servers | [] | | attachment_ids | [] | | availability_zone | nova | | bootable | true | | consistencygroup_id | None | | created_at | 2018-10-12T19:04:41.000000 | | description | None | | encrypted | True | | id | d0db26bb-449d-4111-a59a-6fbb080bb483 | | metadata | | | migration_status | None | | multiattach | False | | name | None | | os-vol-host-attr:host | centstack.localdomain@nfs#nfs | | os-vol-mig-status-attr:migstat | None | | os-vol-mig-status-attr:name_id | None | | os-vol-tenant-attr:tenant_id | 1a081dd2505547f5a8bb1a230f2295f4 | | replication_status | None | | size | 1 | | snapshot_id | None | | source_volid | None | | status | available | | updated_at | 2018-10-12T19:05:13.000000 | | user_id | ad9fe430b3a6416f908c79e4de3bfa98 | | volume_image_metadata | checksum : f8ab98ff5e73ebab884d80c9dc9c7290 | | | container_format : bare | | | disk_format : qcow2 | | | image_id : 154d4d4b-12bf-41dc-b7c4-35e5a6a3482a | | | image_name : cirros-0.3.5-x86_64-disk | | | min_disk : 0 | | | min_ram : 0 | | | signature_verified : False | | | size : 13267968 | | volume_type | nfs | +--------------------------------+-------------------------------------------------+
快照保存为镜像服务(glance)镜像。如果您将 Compute 服务(nova)配置为检查已签名的镜像,则必须从 glance 手动下载镜像,为镜像签名,然后重新上传镜像。无论快照来自使用签名镜像创建的实例,还是从从签名镜像创建的卷引导的实例,都是如此。
卷可以上传为镜像服务(glance)镜像。如果原始卷是可引导的,则镜像可用于在块存储服务(cinder)中创建可引导卷。如果您将块存储服务配置为检查已签名的镜像,则必须从 glance 中手动下载镜像,计算镜像签名并更新所有适当的镜像签名属性,然后才能使用镜像。更多信息请参阅 第 4.5 节 “验证快照”。
其他资源
4.3.1. 自动删除卷镜像加密密钥
将加密卷上传到镜像服务(glance)时,块存储服务(cinder)在密钥管理服务(barbican)中创建一个加密密钥。这会在加密密钥和存储的镜像之间创建一个 1:1 关系。
加密密钥删除可防止密钥管理服务无限度地消耗资源。块存储、密钥管理和镜像服务自动管理加密卷的密钥,包括删除密钥。
块存储服务会自动将两个属性添加到卷镜像中:
-
cinder_encryption_key_id
- 密钥管理服务为特定镜像存储的加密密钥的标识符。 -
cinder_encryption_key_deletion_policy
- 告知镜像服务是否删除与此镜像关联的密钥的策略。
这些属性的值会被自动分配。为避免意外的数据丢失,请不要调整这些值。
当您创建卷镜像时,块存储服务会将 cinder_encryption_key_deletion_policy
属性设置为 on_image_deletion
。当您删除卷镜像时,如果 cinder_encryption_key_deletion_policy
等于 on_image_deletion
_policy,则镜像服务会删除对应的加密密钥。
红帽不推荐手动操作 cinder_encryption_key_id
或 cinder_encryption_key_deletion_policy
属性。如果您使用由 cinder_encryption_key_id
值标识的加密密钥用于任何其他目的,则风险数据丢失。