OpenStack Block Storage (Cinder)

8,056 views

Published on

Published in: Technology

OpenStack Block Storage (Cinder)

  1. 1. OpenStack Block Storage って何?● OpenStack Compute(Nova:IaaS基盤)から 独立したブロックストレージサービス機能 – VMインスタンス用の(追加)仮想ディスクを提供 類似: Amazon Elastic Block Store(EBS) – 2012/9 OpenStack Folsom リリースで登場 本資料では以後 Cinder と表記します。
  2. 2. Cinder って何?● OpenStack Block Storage の開発プロジェクト名 – https://launchpad.net/cinder – https://github.com/openstack/cinder● 「Cinder」(英語) – [名]燃え殻、消し炭、灰 ● シンデレラ(Cinderella)の 語源● 「Cinder Block」 – 穴あきのコンクリートブロック
  3. 3. Cinderの機能● ボリュームの作成/削除● VMインスタンスへの ボリューム接続/切断 ボリューム ボリューム● ボリュームのスナップ ショット作成/削除 ボリューム ボリューム● スナップショットからの ボリューム作成● Glance連携 Cinder
  4. 4. ボリュームの作成/削除Cinderが管理するストレージ上に、VM用のボリューム(仮想ストレージ)を作成/削除します ボリュームの実体 ● Linux LVM ボリューム ボリューム ● NFS上のファイル ● 商用ストレージ上の 論理ディスク ● 分散ストレージ基盤上の Cinder ボリューム
  5. 5. VMインスタンスへの ボリューム接続/切断Cinderが管理するボリュームを、Nova上のVMインスタンスが利用できるようにします※VMのゲストOSには単なるローカルストレージに見える
  6. 6. スナップショットの作成/削除Cinderが管理するボリュームのスナップショットを作成します※スナップショットはVMからアタッチ不可 ボリューム ボリューム スナップ ショット Cinder
  7. 7. スナップショットからのボリューム作成Cinderが管理するスナップショットから新規のボリュームを作成します※ボリュームはVMからアタッチ可 ボリューム ボリューム 新規 スナップ ボリューム ショット Cinder
  8. 8. New! Glance 連携● Glance のディスクイメージから Cinder のボリュームを作成します● Cinder のボリュームから Glance のディスクイメージを作成します 新規 新規 ディスク ボリューム ディスク ボリューム イメージ イメージ Cinder Glance
  9. 9. Cinder誕生の背景● OpenStack プロジェクトの方向性 単独利用可能な単機能コンポーネントの 単独利用可能な単機能コンポーネントの 組み合わせによる完全OSSのクラウド基盤を提供 組み合わせによる完全OSSのクラウド基盤を提供● OpenStack の歴史 オールインワンな Nova の機能分割 オールインワンな Nova の機能分割
  10. 10. OpenStack発足当時のNovaNova ユーザ・ VM管理 プロジェクト ディスクイメージ テンプレート管理 管理 仮想テナント ブロック オブジェクト ネットワーク ストレージ 管理 管理 ストレージ オブジェクトストレージ Swift
  11. 11. OpenStack BexarリリースNova Glance ユーザ・ ディスクイメージ VM管理 プロジェクト テンプレート管理 管理 Swift 仮想テナント ブロック ネットワーク ストレージ 管理 管理 オブジェクト ストレージ
  12. 12. OpenStack DiabloリリースNova Keystone Glance ユーザ・ ディスクイメージ プロジェクト管理 テンプレート管理 VM管理 Swift 仮想テナント ネットワーク ブロック 管理 ストレージ オブジェクト 管理 ストレージ ※Novaの元機能は他コンポーネントのリリース後しばらく存続する
  13. 13. OpenStack Folsomリリース Nova Keystone Glance ユーザ・ ディスクイメージ VM管理 プロジェクト テンプレート管理 管理 Quantum Cinder Swift仮想テナント ブロックネットワーク ストレージ オブジェクト 管理 管理 ストレージ ※Cinder だけ Nova のソースコードから派生した
  14. 14. Compute Novaの構成(Essex) Volume API APInova-api nova- computenova-cert nova- network nova- DBscheduler nova- volume
  15. 15. Cinderの構成(Folsom) アタッチ/デタッチ操作 Volume API + 関連APIを追加cinder-api cinder- DBscheduler cinder- volume
  16. 16. Cinderの新機能(Folsom)● 専用クライアントライブラリ・コマンド – python-cinderclient – cinder● アベイラビリティゾーン● Glance連携● ドライバ追加 – NetApp NFS/iSCSI – Zadara – Linux NFS
  17. 17. Cinder 次期リリース開発項目(抜粋)● API拡張(ver.2)● ボリュームタイプスケジューラー● ボリュームの複製● 起動可能ボリュームの一覧表示● 1つの cinder-volume による複数ストレージ管理
  18. 18. Cinder 次期リリース開発項目(抜粋)● 新ドライバ – HP 3PAR – Fibre Channel – VMホスト上のQCOW2 + 定期的なスナップショットのSwiftバックアップ● メータリング・課金● Nova 同様のサービス管理
  19. 19. Question ?
  20. 20. 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

×