22

OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供
Page 2: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

OpenStack Block Storage って何?

● OpenStack Compute(Nova:IaaS基盤)から独立したブロックストレージサービス機能

– VMインスタンス用の(追加)仮想ディスクを提供

類似: Amazon Elastic Block Store(EBS)

– 2012/9 OpenStack Folsom リリースで登場

本資料では以後Cinder と表記します。

Page 3: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

Cinder って何?

● OpenStack Block Storage の開発プロジェクト名

– https://launchpad.net/cinder

– https://github.com/openstack/cinder

● 「Cinder」(英語)

– [名]燃え殻、消し炭、灰● シンデレラ(Cinderella)の

語源

● 「Cinder Block」

– 穴あきのコンクリートブロック

Page 4: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

Cinderの機能

Cinder

ボリューム ボリューム

ボリューム ボリューム

● ボリュームの作成/削除

● VMインスタンスへのボリューム接続/切断

● ボリュームのスナップショット作成/削除

● スナップショットからのボリューム作成

● Glance連携

Page 5: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

ボリュームの作成/削除

Cinder

ボリューム ボリューム

Cinderが管理するストレージ上に、VM用のボリューム(仮想ストレージ)を作成/削除します

ボリュームの実体● Linux LVM● NFS上のファイル● 商用ストレージ上の

論理ディスク● 分散ストレージ基盤上の

ボリューム

Page 6: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

VMインスタンスへのボリューム接続/切断

Cinderが管理するボリュームを、Nova上のVMインスタンスが利用できるようにします

※VMのゲストOSには単なるローカルストレージに見える

Page 7: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

スナップショットの作成/削除

Cinder

ボリューム

Cinderが管理するボリュームのスナップショットを作成します

※スナップショットはVMからアタッチ不可

スナップショット

ボリューム

Page 8: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

スナップショットからのボリューム作成

Cinder

ボリューム

Cinderが管理するスナップショットから新規のボリュームを作成します

※ボリュームはVMからアタッチ可

スナップショット

ボリューム 新規ボリューム

Page 9: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

Glance 連携

Cinder

ボリューム

● Glance のディスクイメージからCinder のボリュームを作成します

● Cinder のボリュームからGlance のディスクイメージを作成します

新規ボリューム

Glance

ディスクイメージ

新規ディスクイメージ

New!

Page 10: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

Cinder誕生の背景

● OpenStack プロジェクトの方向性

● OpenStack の歴史

単独利用可能な単機能コンポーネントの組み合わせによる完全OSSのクラウド基盤を提供

単独利用可能な単機能コンポーネントの組み合わせによる完全OSSのクラウド基盤を提供

オールインワンな Nova の機能分割オールインワンな Nova の機能分割

Page 11: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

Nova

OpenStack発足当時のNova

VM管理

仮想テナントネットワーク

管理

オブジェクトストレージ

ディスクイメージテンプレート管理

ブロックストレージ

管理

ユーザ・プロジェクト

管理

Swiftオブジェクトストレージ

Page 12: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

Nova

OpenStack Bexarリリース

VM管理

仮想テナントネットワーク

管理

ブロックストレージ

管理

ユーザ・プロジェクト

管理

Swift

Glance

オブジェクトストレージ

ディスクイメージテンプレート管理

Page 13: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

Nova

OpenStack Diabloリリース

VM管理

仮想テナントネットワーク

管理ブロック

ストレージ管理

Keystone

ユーザ・プロジェクト管理

Swift

Glance

オブジェクトストレージ

ディスクイメージテンプレート管理

※Novaの元機能は他コンポーネントのリリース後しばらく存続する

Page 14: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

Nova

Quantum Cinder Swift

Glance

OpenStack Folsomリリース

VM管理

仮想テナントネットワーク

管理

オブジェクトストレージ

ディスクイメージテンプレート管理

ブロックストレージ

管理

Keystone

ユーザ・プロジェクト

管理

※Cinder だけ Nova のソースコードから派生した

Page 15: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

Novaの構成(Essex)

nova-api

DBnova-scheduler

nova-compute

nova-network

nova-volume

nova-cert

Com

pu teA

PI

Volum

e A

PI

Page 16: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

Cinderの構成(Folsom)

cinder-api

DBcinder-scheduler cinder-

volume

Vo

lum

e A

PI +

アタッチ/デタッチ操作関連APIを追加

Page 17: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

Cinderの新機能(Folsom)

● 専用クライアントライブラリ・コマンド

– python-cinderclient

– cinder● アベイラビリティゾーン

● Glance連携

● ドライバ追加

– NetApp NFS/iSCSI

– Zadara

– Linux NFS

Page 18: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

Cinder 次期リリース開発項目(抜粋)

● API拡張(ver.2)

● ボリュームタイプスケジューラー● ボリュームの複製● 起動可能ボリュームの一覧表示

● 1つの cinder-volume による複数ストレージ管理

Page 19: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

Cinder 次期リリース開発項目(抜粋)

● 新ドライバ

– HP 3PAR

– Fibre Channel

– VMホスト上のQCOW2 +定期的なスナップショットのSwiftバックアップ

● メータリング・課金

● Nova 同様のサービス管理

Page 20: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

Question ?Question ?

Page 21: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供
Page 22: OpenStack Block Storage · OpenStack Block Storage って何? OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供

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