Glanceの動作と仕組み~Novaのインスタンスイメージを柔軟に管理
マイクロサービスアーキテクチャが支えるOpenStackの動作と仕組み 第3回
異なるタイプのストレージサービスを選択・併用できる
Glanceでは、イメージの保管先に様々なストレージサービスを選べます(利用可能なストレージサービスについては後述)。様々なストレージサービスが使えることで、どのような利点が生まれるのでしょうか。
例えば、運用中のストレージをそのまま使うことができます。イメージの量が限られていることが明白なら、ファイルシステムに保存するという手段も採用できます。この場合、イメージを保管するためのストレージを増やす必要がなく、管理するサーバーが減ります。また、イメージの喪失が運用上きわめて大きなリスクとなる場合、Amazon S3の利用も選択できます。
また、Glanceは異なるタイプのストレージサービスを併用することも可能です。例えば、失ったときの被害が甚大なイメージはAmazon S3に保存するけれども、そうでもないイメージはファイルシステムに保存する、といった使い分けができます。
Amazon S3は極めて高い耐久性を備えていますが、利用にはお金がかかりますし、組織によっては利用申請といった準備が大変かもしれません。そのため、全てのイメージをAmazon S3に保管するという選択は避けたいところです。Glanceなら、目的に応じて最適なイメージを選べます。
このように、利用目的や状況によって保管先のストレージサービスを切り替えられるのは、イメージの実体とメタ情報の管理が切り離されているGlanceだから実現可能な強みです。この強みは、用途別にサービスが切り離されているマイクロサービスアーキテクチャの特徴によって実現されています。
Glanceで使用可能なストレージサービスには次表のものがあります。どれを使用するかは、glance-apiの設定ファイル(glance-api.conf)の中で指定します。
| ファイルシステム | Glanceがインストールされているサーバのファイルシステムにイメージを保管する |
|---|---|
| HTTP | ウェブ上に配置されたイメージを直接参照する |
| Amazon S3 | Amazon Web ServiceのAmazon Simple Storage Serviceに配置されたイメージを直接参照する |
| RBD | Rados Block Deviceによって作成されたストレージにイメージを保管する |
| Sheepdog | Sheepdog によって作成されたストレージにイメージを保管する |
| VMWARE | VMWARE の持つストレージにイメージを保管する |
| SWIFT | OpenStackのコアサービスSWIFTによって作成されたオブジェクトストレージにイメージを保管する |
| CINDER | OpenStackのコアサービスCINDERによって作成されたブロックストレージにイメージを保管する |
おわりに
Glanceは、Novaがインスタンスを作成するときに使用するイメージを、メタ情報とイメージの実体に分けて管理します。
ユーザーはglance-apiにイメージに付与されたIDを渡すことで、イメージのメタ情報や実体を利用できます。
イメージのメタ情報は、あらゆるサービスやユーザーから頻繁に使われます。これはglance-registryによって管理されており、高速で参照できます。
イメージの実体は様々なタイプのストレージに保管可能です。そのため、構築する際の状況や目的に応じて、最も使いやすいストレージを選択できます。異なるタイプのストレージを併用し、使い分けることも可能です。
これらの利点は、Glanceそのものがマイクロサービスの集合体として作られていることで実現されています。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- マイクロサービスアーキテクチャが支えるOpenStackの動作と仕組み連載記事一覧
-
- Glanceの動作と仕組み~Novaのインスタンスイメージを柔軟に管理
- Novaの動作と仕組み~複数のノード・仮想化方式でも効率的にインスタンス管理
- Keystoneの動作と仕組み~エンドポイントと認証認可
- この記事の著者
-
大嶋 俊祐(株式会社ワークスアプリケーションズ)(オオシマ シュンスケ)
株式会社ワークスアプリケーションズ所属。 社内では技術研修を担当しながら、OpenStackを使ってプライベートクラウドを作っています。 自分が運営する研修を自分が作ったプライベートクラウドを使って運営するのがマイブーム。 あだ名はひよこ。TRPGが趣味なのでどなたかお誘いください。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
