OpenStack Block Storage って何?
● OpenStack Compute(Nova:IaaS基盤)から独立したブロックストレージサービス機能
– VMインスタンス用の(追加)仮想ディスクを提供
類似: Amazon Elastic Block Store(EBS)
– 2012/9 OpenStack Folsom リリースで登場
本資料では以後Cinder と表記します。
Cinder って何?
● OpenStack Block Storage の開発プロジェクト名
– https://launchpad.net/cinder
– https://github.com/openstack/cinder
● 「Cinder」(英語)
– [名]燃え殻、消し炭、灰● シンデレラ(Cinderella)の
語源
● 「Cinder Block」
– 穴あきのコンクリートブロック
Cinderの機能
Cinder
ボリューム ボリューム
ボリューム ボリューム
● ボリュームの作成/削除
● VMインスタンスへのボリューム接続/切断
● ボリュームのスナップショット作成/削除
● スナップショットからのボリューム作成
● Glance連携
ボリュームの作成/削除
Cinder
ボリューム ボリューム
Cinderが管理するストレージ上に、VM用のボリューム(仮想ストレージ)を作成/削除します
ボリュームの実体● Linux LVM● NFS上のファイル● 商用ストレージ上の
論理ディスク● 分散ストレージ基盤上の
ボリューム
VMインスタンスへのボリューム接続/切断
Cinderが管理するボリュームを、Nova上のVMインスタンスが利用できるようにします
※VMのゲストOSには単なるローカルストレージに見える
スナップショットの作成/削除
Cinder
ボリューム
Cinderが管理するボリュームのスナップショットを作成します
※スナップショットはVMからアタッチ不可
スナップショット
ボリューム
スナップショットからのボリューム作成
Cinder
ボリューム
Cinderが管理するスナップショットから新規のボリュームを作成します
※ボリュームはVMからアタッチ可
スナップショット
ボリューム 新規ボリューム
Glance 連携
Cinder
ボリューム
● Glance のディスクイメージからCinder のボリュームを作成します
● Cinder のボリュームからGlance のディスクイメージを作成します
新規ボリューム
Glance
ディスクイメージ
新規ディスクイメージ
New!
Cinder誕生の背景
● OpenStack プロジェクトの方向性
● OpenStack の歴史
単独利用可能な単機能コンポーネントの組み合わせによる完全OSSのクラウド基盤を提供
単独利用可能な単機能コンポーネントの組み合わせによる完全OSSのクラウド基盤を提供
オールインワンな Nova の機能分割オールインワンな Nova の機能分割
Nova
OpenStack発足当時のNova
VM管理
仮想テナントネットワーク
管理
オブジェクトストレージ
ディスクイメージテンプレート管理
ブロックストレージ
管理
ユーザ・プロジェクト
管理
Swiftオブジェクトストレージ
Nova
OpenStack Bexarリリース
VM管理
仮想テナントネットワーク
管理
ブロックストレージ
管理
ユーザ・プロジェクト
管理
Swift
Glance
オブジェクトストレージ
ディスクイメージテンプレート管理
Nova
OpenStack Diabloリリース
VM管理
仮想テナントネットワーク
管理ブロック
ストレージ管理
Keystone
ユーザ・プロジェクト管理
Swift
Glance
オブジェクトストレージ
ディスクイメージテンプレート管理
※Novaの元機能は他コンポーネントのリリース後しばらく存続する
Nova
Quantum Cinder Swift
Glance
OpenStack Folsomリリース
VM管理
仮想テナントネットワーク
管理
オブジェクトストレージ
ディスクイメージテンプレート管理
ブロックストレージ
管理
Keystone
ユーザ・プロジェクト
管理
※Cinder だけ Nova のソースコードから派生した
Novaの構成(Essex)
nova-api
DBnova-scheduler
nova-compute
nova-network
nova-volume
nova-cert
Com
pu teA
PI
Volum
e A
PI
Cinderの構成(Folsom)
cinder-api
DBcinder-scheduler cinder-
volume
Vo
lum
e A
PI +
アタッチ/デタッチ操作関連APIを追加
Cinderの新機能(Folsom)
● 専用クライアントライブラリ・コマンド
– python-cinderclient
– cinder● アベイラビリティゾーン
● Glance連携
● ドライバ追加
– NetApp NFS/iSCSI
– Zadara
– Linux NFS
Cinder 次期リリース開発項目(抜粋)
● API拡張(ver.2)
● ボリュームタイプスケジューラー● ボリュームの複製● 起動可能ボリュームの一覧表示
● 1つの cinder-volume による複数ストレージ管理
Cinder 次期リリース開発項目(抜粋)
● 新ドライバ
– HP 3PAR
– Fibre Channel
– VMホスト上のQCOW2 +定期的なスナップショットのSwiftバックアップ
● メータリング・課金
● Nova 同様のサービス管理
Question ?Question ?
API拡張(ver.2)
● 必須項目– Add capability to update metadata for volumes and snapshots– Add filtering of API requests by attributes and metadata (for example list volumes or
snapshots by name, date, etc.)– Add Markers and Pagination in line with the other openstack projects– Add capability to delete volumes that have snapshots– Add capability to list snapshots filtred by volume ID– Update /volumes and /volumes/details to match behavior of other openstack projects– Update limits and quotas to key on volume_type and not be global– Change ID of volume types to be a UUID and change all references to volume type in the
API to use the UUID rather than the volume type name– Change "display_name" attribute to "name" in the API for consistency with other services.– Add a field to display what instance is being attached to when in the "attaching" state.
● 推奨項目– Add capability to create a volume and attach to an instance in a single API call– 2. Add better error messaging when an attach or detach fails