OpenStack Cinder 介绍

本系列文章同步发布於笔者网站


今天我们要来介绍最後一项 OpenStack 元件,Cinder。Cinder 也是常见 OpenStack 部属会提供的服务,也是 OpenStack 核心专案之一,我们就来一起看看 Cinder 提供了什麽服务以及其架构长得怎麽样。

Cinder 是什麽?

官方文件中是这麽说的:

Cinder 是 OpenStack Block Storage 服务,用於为 Nova 虚拟机、Ironic baremetal、container 等提供 volume。

你可以把 Cinder 想像成一个提供硬碟的服务,他提供了一个 API 让你可以在 Instance 上挂载硬碟,以提供储存空间。除了单纯的提供区块式储存到硬碟外,Cinder 额外的也提供了 volume snapshots 跟备份的功能,同时也能利用 volume type 管理不同的後端或储存空间。

Cinder 本身设计的目标是:

  • 基於 microservice 的架构:让开发者能够快速添加新功能
  • 高度可用:可扩展到非常高的工作负载
  • 容错:隔离的 process 避免连动式的故障
  • Recoverable:Admin 可以很容易的发现,调整,解决问题
  • 开放标准:成为社区驱动的 API 的参考实作

Cinder 架构

Cinder 包含以下几个元件:

cinder-api

负责提供最前端的 API 处理,并且将使用者请求送往 cinder-volume

cinder-volume

Cinder 的核心元件,直接与 cinder-api 以及 cinder-scheduler 等 process 透过 message queue 互动。 cinder-volume 负责处理发送到 cinder-api 的读写请求来维护 cinder 的状态。 它可以透过不同的 driver 与各种存储 backend 串接。

cinder-scheduler daemon

与 nova-scheduler 类似,负责选择最适合提供 volume 的 storage provider。

cinder-backup daemon

cinder-backup daemon 负责提供 cinder volume 的备份服务。跟 cinder-volume 类似,它也可以透过不同的 driver 与各种存储 backend 串接。

Messaging queue

Cinder 服务内部各元件沟通都是透过 message queue,通常是 RabbitMQ。

小结

本篇介绍了 Cinder,也就是目前预计会介绍的最後一个 OpenStack 元件。其提供的是 VM persistant volume storage 的服务,虽然并非 OpenStack 要提供 VM 服务中必须的元件,但是大部分 OpenStack 部属都会提供 Cinder 服务。而除了能够提供 OpenStack 相关服务区块储存外,cinder 也可以透过其 CSI driver 为 K8S 提供 persistant volume。


<<:  Day21,Prometheus Operator

>>:  Angular 深入浅出三十天:表单与测试 Day06 - 单元测试实作 - 登入系统 by Template Driven Forms

Day1 启蒙

近年来软件业越来越风行,常常可以在网路上看到许多文章有着耸动的标题:「让你三个月成功转职年薪百万工程...

初学者跪着学JavaScript Day5 : 资料型别:Primitive values 和 Non-primitive values

一日客家话:月饼 捏ㄅ一ㄤˇngied5biang31 今日学习 primitives 是不可变 n...

无限风光在险峰 结案会议

无限风光在险峰 结案会议 to-do-List PLus 可以多人协作 to-do-list , 在...

治理结构(Governance Structure)-稽核委员会(Audit Committee)

-治理结构(Governance Structure) 稽核委员会(Audit Committee...

Day51. 职责链模式

本文同步更新於blog Chain Of Responsibility Pattern 使多个物件...