块存储服务介绍

块存储服务提供持久化的块存储资源,供计算实例使用。这包括类似于 Amazon Elastic Block Storage (EBS) 提供的辅助附加存储。此外,您可以将镜像写入块存储设备,供计算用作可引导的持久实例。

块存储服务与 Amazon EBS 提供的服务略有不同。块存储服务不提供像 NFS 那样的共享存储解决方案。使用块存储服务,您只能将设备附加到一个实例。

块存储服务提供

  • cinder-api - 一个 WSGI 应用,用于验证身份并路由块存储服务中的请求。它仅支持 OpenStack APIs,尽管可以通过计算的 EC2 接口进行翻译,该接口会调用块存储客户端。

  • cinder-scheduler - 将请求调度并路由到合适的卷服务。根据您的配置,这可能是对正在运行的卷服务的简单轮询调度,或者可以通过使用过滤器调度器来实现更复杂的功能。过滤器调度器是默认配置,它允许对容量、可用区、卷类型和功能以及自定义过滤器进行过滤。

  • cinder-volume - 管理块存储设备,特别是后端设备本身。

  • cinder-backup - 提供将块存储卷备份到 OpenStack 对象存储 (swift) 的方法。

块存储服务包含以下组件

  • 后端存储设备 - 块存储服务需要某种形式的后端存储,服务构建在其之上。默认实现是在名为“cinder-volumes”的本地卷组上使用 LVM。除了基本的驱动程序实现之外,块存储服务还提供支持其他存储设备的方法,例如外部 Raid 阵列或其他存储设备。这些后端存储设备在使用 KVM 或 QEMU 作为虚拟机监控程序时可能具有自定义块大小。

  • 用户和租户(项目) - 块存储服务可供许多不同的云计算消费者或客户(共享系统上的租户)使用,并使用基于角色的访问分配。角色控制用户允许执行的操作。在默认配置中,大多数操作不需要特定的角色,但系统管理员可以在 cinder 策略文件中配置它,该文件维护规则。

    注意

    有关配置 cinder 策略的更多信息,请参阅 策略配置

    用户对特定卷的访问权限受租户限制,但用户名和密码是每个用户分配的。授予对卷访问权限的密钥对是每个用户启用的,但配额用于控制跨可用硬件资源的资源消耗是每个租户的。

    对于租户,可以使用配额控制来限制

    • 可以创建的卷的数量。

    • 可以创建的快照的数量。

    • 每个租户允许的总 GB 数(在快照和卷之间共享)。

    您可以使用块存储 CLI 修改默认配额值,因此配额施加的限制可以由管理员用户编辑。

  • 卷、快照和备份 - 块存储服务提供的基本资源是卷和从卷派生的快照以及卷备份

    • - 分配的块存储资源,可以附加到实例作为辅助存储,或者可以用作引导实例的根存储。卷是持久的 R/W 块存储设备,最常见的是通过 iSCSI 附加到计算节点。

    • 快照 - 卷在某个时间点的只读副本。快照可以从当前正在使用的卷(通过使用 --force True)或处于可用状态的卷创建。然后可以使用快照创建新卷。

    • 备份 - 当前存储在对象存储 (swift) 中的卷的存档副本。