LoginSignup
3
1

More than 1 year has passed since last update.

OpenStack Cinderについて

Last updated at Posted at 2022-12-16

OpenStack Cinderについてまとめています。OpenStackとは何か?は書いていないので、知っている前提です。

OpenStack Cinderとは

AWSで言うとAmazon Elastic Block Store(EBS)相当のサービスを提供します。
仮想マシンインスタンスに対して、永続的なブロックストレージを割り当てるために使用します。

アーキテクチャ

image.png

上の図の①~③の説明は以下の通りです。

  1. Cinderのサービス(cinder-volume service)によってAPIを通じてボリュームが作成される
  2. Novaのサービス(nova-compute service)はストレージネットワーク経由でComputeホストのハイパーバイザーをボリュームに接続する
  3. ハイパーバイザーはボリュームに接続された後、ボリュームをローカルハードウェアデバイスとしてインスタンスに提供する

もう少し細かい話

Cinderの裏ではストレージバックエンドソフトウェア存在しており、物理ストレージとのやり取りを担います。
Cinderはストレージバックエンドに対して要求に応じたボリュームを作成するよう指示を行います。
イメージは以下です。(この図ではLinux Volume Managerがストレージバックエンド)

image.png

上のアーキテクチャの図で「Infrastructure control plane host」がこの図のCinderのホスト、「Compute host」がNovaのホストに対応します。

Cinderのコンポーネント

Cinderには以下の4つのコンポーネントが存在します。

  • cinder-api
    • 要求に応答し、メッセージキューに配置します。APIサービスはブロックストレージ要求のためのHTTPエンドポイントを提供します。
  • cinder-scheduler
    • タスクをキューに割り当て、プロビジョニングするボリュームサーバーを決定します。
  • cinder-volume
    • 仮想マシン用にストレージを指定します。
  • cinder-backup
    • ブロックストレージボリュームを外部のストレージリポジトリーにバックアップします。デフォルトでは、OpenStack Object Storageサービス(Swift)を使用してバックアップを保管します。

それぞれの関係は以下のようになります。

image.png

ストレージバックエンド

ストレージバックエンドは、Cinderがドライバをサポートしている必要があります。
以下にサポート対象のドライバ一覧があります。

LVMの他にCephやストレージベンダーのドライバなどが対応していますが、統計調査ではCinderのバックエンドとしてはCephが73%であり、圧倒的です。

image.png

おわりに

Cinderをきっかけにストレージ回りに興味が出てきたので、そのうちLVMやCephについてもアーキテクチャを調べて書いてみたいと思います。
また、OpenStackの他のストレージサービス(以下)についても機会があれば書きたいと思います。

  • オブジェクトストレージ(Swift)
  • ファイルストレージ(Manila)
  • データベース(Trove)
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1