OpenStack環境のストレージ選定ポイント【第1回】
OpenStackのブロックストレージ「Cinder」の押さえておきたい機能
OpenStackのブロックストレージ機能である「Cinder」は、OpenStackの企業利用に欠かせないコンポーネントだ。Cinderを中心に、ストレージ関連コンポーネントについて解説する。
一般企業での「OpenStack」採用検討が本格化しているようだ。実際に検証実施まではいかなくとも、相談の件数は着実に増えてきている。OpenStackが着目されている理由としては、アジリティ(俊敏性)、コスト削減、新規技術の採用、ベンダーロックイン回避などが挙げられる。その中でもアジリティについては一般企業も重要視し始めている。一般企業のITシステムも、追加/拡張/縮小をより短時間で行うことが求められてきているからだ。また、海外では米VMware製品からOpenStackに乗り換えるユーザー事例(米PayPalなど)も出てきている。国内市場においても、サーバ仮想化は本格的な普及期に入っている中、次期リプレースを見据えて、OpenStackは今から注目すべき技術トピックといえるだろう。
本連載「OpenStack環境のストレージ選定ポイント」では、OpenStack環境のインフラとして、ストレージに着目して選定のポイントを紹介する。最終ゴールは、OpenStackを導入する際のストレージ製品の選定ポイントを明確化することである。本題に入る前に、今回はOpenStackのストレージ関連コンポーネントについての理解を深め、次回では各ストレージベンダーの取り組み、独自性を紹介したい。
今回の内容は下記の通りである。
- OpenStackに適したストレージはOSS? それとも商用ストレージ?
- OpenStackのストレージ関連コンポーネント
- Cinderを深く理解しよう
OpenStackに適したストレージはOSS? それとも商用ストレージ?
OpenStackは多数のコンポーネントが連係して動作する。その中でも、ベンダーの開発貢献度や、インターネット記事の豊富さなどを見ると、サーバ管理(Nova)、ネットワーク管理(Neutron)に注目が集まっていることは疑う余地がない。ただ、最も重要なはずのデータを保持するためのストレージ観点でまとめられた情報はあまり存在しない。
「OpenStack」と「ストレージ」のキーワードでインターネット検索すると、SwiftやCephなどオープンソースソフトウェア(OSS)の記事ばかりが目立つように思える。OpenStack自体もOSSだが、サポート付きのディストリビューションという形での提供にも注目が集まっている。データを格納するストレージも、果たして本当にOSSでいいのだろうか? トラブルが発生した際に、ソースコードから原因を究明し、修正/解決できるのであればいいかもしれない。しかし、今後、一般の企業でOpenStackが利用されることを考えると、ベンダーが提供するサポートが充実している商用ストレージの使用が進むと考えられる。ストレージに関わるOpenStackのコンポーネントは多く、データの格納先に使用できるストレージの種類もOSSや商用製品など多岐にわたる。OpenStackの利用用途、利用者の業種やスキルによっても向き不向きがある。OSSが商用製品の全てを置き換えることにならなかったのと同様に、OpenStack環境でもOSSとベンダーストレージの選択が適材適所で行われていくことになるだろう。
ストレージを選定するに当たっての事前準備として、ストレージ関連のコンポーネントとそれらの機能について見ていこう。
OpenStackのストレージ関連コンポーネント
OpenStackのストレージに関連するコンポーネントといえば、真っ先にSwift、Cinderを思い描く方は多いと思う。だが、それら以外にNovaやGlanceもデータの格納先(バックエンドストレージ)に外部ストレージを使用できる。そういう意味ではNova、Glanceも広い意味でストレージ関連コンポーネントといえるだろう。
OpenStackをデフォルトの設定で構築すると、各ストレージ関連コンポーネントのバックエンドストレージは、サーバの内蔵ディスクのディレクトリやLVMのボリュームが使用される。だが機能面や性能面から、その他のストレージを使用することも可能だ。以下にそれぞれのコンポーネントの動作を記述する。
Novaコンピュートノード
Novaコンピュートノードのバックエンドストレージは、ローカルストレージ、NFSストレージ、Cephなどから選択可能である。これらの領域はエフェメラルストレージ領域と呼ばれ、仮想マシンインスタンスのOSが格納される。ただ、インスタンスを終了すると、データが消失する。
インスタンスを作成すると、OSイメージを保持しているGlanceからNovaコンピュートノードにデータがコピーされる。採用するストレージによっては、データのコピーがネットワーク経由で行われるのではなく、ストレージ側にオフロードできる。オフロードできるとOpenStackを構成する各サーバ間のネットワークを経由してデータを転送するのではなく、ストレージの機能を使用してストレージ内やストレージ間でデータを転送できるため、効率が良い。
Glance
GlanceはインスタンスのOSイメージとスナップショットの保持、管理を行う。バックエンドストレージは、ローカルストレージ、NFSストレージ、Ceph、Swiftなどが選択可能である。
GlanceのイメージからCinderのボリュームを作成し、そのボリュームからのインスタンスを起動することも可能だ。それにより、OS領域も永続的に保持することが可能になり、Novaコンピュートノード障害時もOS領域を保護することが可能になる。
Swift
SwiftはOpenStackの1つのコンポーネントというより、Glanceのイメージ保存先、Cinderボリュームのバックアップ先など、コンポーネントのバックエンドに配置できるストレージの1つと理解する方が分かりやすい。Swiftは公開されている情報が多いので、詳細については本稿では割愛する。
Cinderを深く理解しよう
Cinderとは
Cinderはインスタンスに永続的なブロックストレージを提供するコンポーネントだ。Cinderで作成されたボリュームはインスタンスのOSからブロックデバイスとして認識され、ファイルシステムの作成、マウントが可能である。ただし、CinderのバックエンドストレージがSANストレージである必要はなく、NASも使用可能であることには注意されたい。バックエンドストレージには、LVM、NFSストレージ、各ベンダーのNAS、SANストレージおよび分散ストレージが設定できる。
各ストレージのCinderドライバはOpenStackに含まれており、一般的には別途インストールは不要である。だが、有償サポートを購入することで機能追加されたドライバを提供しているベンダーもある。そのドライバを検証したい場合は、別途ベンダーと調整する必要がある。
Cinder機能一覧
Cinderは機能が多く、バージョンアップの度に頻繁に機能追加が行われている。下記の情報を基に、機能一覧を書き出してみた。
- cinderコマンドのヘルプ
- Cinderサポートマトリックス
- OpenStackのリリースノート(Cinderの項目)
・cinderコマンドのヘルプ
「cinder --help」の出力から代表的なオプションをまとめたものである。なお、インスタンスへのボリュームのアタッチ、デタッチはnovaコマンドで行う。表内の「xxx」の表記は複数の関連オプションを便宜上まとめて表示している。
| コマンドのオプション | 意味 |
|---|---|
| create、rename、delete、extend、list | 基本操作(作成、リネーム、削除、拡張、一覧表示) |
| metadata-xxx | メタデータ設定 |
| extra-spec-list、type-xxx | ボリュームの種別(Volume Type)設定 |
| quota-xxx | クォータ設定 |
| qos-xxx | QoS設定 |
| encryption-xxx | 暗号化の設定 |
| snapshot-xxx | スナップショットの操作 |
| backup-xxx | バックアップの操作 |
| migrate-xxx | マイグレーションの操作 |
| transfer-xxx | 転送の操作 |
・Cinderサポートマトリックス
「Cinderサポートマトリックス」では、Cinderの全機能について網羅されているわけではないが、各ベンダーのストレージとCinderの機能が、どのOpenStackのバージョンからサポートされるかを一覧で確認できる。内容については、各ベンダーが自己申告で書き込んでいるようだ。同じ「サポート」でも、機能差がある可能性がある。2015年3月時点では無かったQoSの列が現在は追加されている。今後も機能名の列は追加されていくと思われる。
・OpenStackのリリースノート(Cinderの項目)
OpenStackの各バージョンのリリースノートを確認すると、Cinderの機能追加、改善について記載されている。以下にリリースノートへのリンクを記載する。
Cinder各機能の動作
Cinderの基本的かつ重要な下記の機能について、動作と用途を紹介する。
- ボリュームの種別(Volume Type)
- スナップショット
- バックアップ
- マイグレーション
- 転送(transfer)
- レプリケーション
- コンシステンシーグループ
- QoS(Quality of Service)
極力、動作確認を行った上での筆者の理解を図式化して紹介しているが、全ての機能について動作確認は行えてはいない。公開されている複数の情報を基に、記述している箇所もある。そのため、使用されるOpenStackのバージョンで想定通りの動作が行われるかは、実際の環境での検証をお願いしたい。
1.ボリュームの種別(Volume Type)
管理者はボリュームに種別(Volume Type)を定義することができる。ユーザーはボリュームを作成する際に、種別を選択できる。ユーザーは、QoS、シン/シック、重複排除/圧縮の有無などを指定してボリュームを作成できる。ただし、どのような設定が可能かは、ストレージの機種とCinderドライバの実装に依存する。
複数ストレージをバックエンドに設定する際にも使用する概念である。下記のように、cinder.confを設定することで、GUIよりボリューム作成時に指定できる。
…<省略>…
enabled_backends=ceph,netapp
[ceph]
volume_backend_name=ceph
…<省略>…
[netapp]
volume_backend_name=netapp
…<省略>…
cinder.confの例
# cinder type-create netapp
# cinder type-create ceph
# cinder type-key netapp set volume_backend_name=netapp
# cinder type-key ceph set volume_backend_name=ceph
# cinder extra-specs-list
…<省略>…
ボリュームの種別 設定コマンドの例
2.スナップショット
Cinderのスナップショットは、同一バックエンドストレージ内でボリュームのスナップショットが取得される。使用するストレージによっては、ストレージ機能のスナップショットまたはクローンが実行される。通常はスナップショットからは直接リストアできず、スナップショットからボリュームを作成する必要がある。しかし、ベンダーストレージによっては、直接リストアができるものもある。
3.バックアップ
バージョンGrizzlyでボリュームをSwiftにバックアップする機能が追加された。スナップショットは同一バックエンドストレージ内で取得されるが、バックアップは別のバックエンドストレージに保存される。現在は常にフルバックアップの動作になる。保存先はSwiftの他、Ceph、「IBM Tivoli Storage Manager」(TSM)、NFSストレージが指定可能だ。
4.マイグレーション
マイグレーションは、バックエンドストレージ間でボリュームを移行する機能だ。ストレージのメンテナンス/リプレース時に使用できる。ストレージ間(ストレージ内)で移行できるStorage assisted migrationと、ホストを経由するHost assisted migrationがある。前者をサポートしているストレージの方が効率は良いといえる。
5.転送(transfer)
転送(transfer)は、OpenStackのテナント間でボリュームを移動する機能である。用途はボリューム修復サービスや、データインポートサービスなどが考えられる。(図8ではテナントBがサービス提供ベンダー想定)
6.レプリケーション
レプリケーションは、米IBMが開発した機能だ。Cinderのボリューム種別により、レプリケーションの有効/無効を設定できる。現在は、IBMのストレージでのみサポートされる。
7.コンシステンシーグループ
コンシステンシーグループは、ボリューム間の整合性を確保しながら、データの保護(スナップショット、バックアップ、レプリケーション)が可能になる機能だ。米EMCが本機能を開発した。バージョンKiloでEMC以外のストレージでも対応され始めている。
8.QoS(Quality of Service)
QoSは、インスタンスの性能保証を実現する機能である。ストレージが本機能を有していることに加え、Cinderドライバが対応している必要がある。現在は、数種類のベンダーストレージが対応しているようだ。大規模なクラウドサービスの基盤をOpenStackで構築する際は必要になる。
コラム:Cephは万能ストレージか?
Cephは、OpenStackの各コンポーネントのバックエンドストレージの全てを兼任させることができる。各コンポーネントからCephへのアクセス経路は下記の通りだ(Cephの機能概要や構成要素については、本家のWebサイトを参考にしてほしい)。
データのコピーをCeph内にオフロードできるメリットはある。ただ、Cinderのバックアップ先を同じCeph内に取得することは、本当の意味でバックアップにはならない。そもそも、大事なデータをOSSに保存しても大丈夫かというサポート面での不安は残る。
OpenStackはOSSのため、機能追加にドキュメント整備が追いついておらず、リリースノートに記載のある機能でも設定が不明確なものもある。新機能として記載があっても、コマンドやOpenStackのGUI(Horizon)のどちらにも実装されていない場合がある。実際に機能が存在し、正しく動作するかは、APIの理解やソースコードレベルでの確認が必要である。また、ストレージにシンプロビジョニングやQoSの機能があっても、ボリューム種別で指定しCinderから使用できるかは実環境にて確認する必要がある。今後も、進化の早いCinderの機能追加や、各ベンダーの取り組みは引き続きウオッチする必要がある。
今回は、OpenStackのストレージ関連のコンポーネントと、Cinderの機能、動作について紹介した。次回以降、主要ベンダーの取り組み状況、各社ストレージの機能比較とストレージ選定ポイントについて解説する予定である。ぜひ最後までお付き合いいただきたい。
Copyright © ITmedia, Inc. All Rights Reserved.
OpenStack環境のストレージ選定ポイント
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社うるる] 「入札市場」攻略ガイド:効率的に落札するためのポイントを徹底解説 -
製品資料
[株式会社うるる] 入札情報に特化した「販路拡大」「効率化」のためのサポートツールとは? -
市場調査・トレンド
[株式会社うるる] 公共入札に成功する企業と失敗する企業の「5つの違い」 -
製品資料
[日本ビジネスシステムズ株式会社] 専門家が教える、Microsoft 365の「テナント統合/分離」を成功に導く秘訣 -
製品資料
[rakumo株式会社] Microsoft 365での情報埋没を防ぐ、社内ナレッジを資産化する情報ポータル活用
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
2
PHP脆弱性「PHP2Shell」で2260万件に影響 情シスの緊急チェックリスト
-
3
「Microsoft 365」が乗っ取られる MFAを破る“本物の画面”の恐怖
-
4
「Windows」の不要なファイルを安全に消して容量を空ける方法
-
5
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
6
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
7
「テザリング依存」に潜む落とし穴 “遅いVPN”を解消するネット構築術
-
8
積水化学工業が「SAP S/4HANA Cloud」の“全グループ導入”に踏み切った訳
-
9
データセンター事業者が「脱VMware」をした“例のライセンス問題”じゃない理由
-
10
OpenAIやAnthropicでさえ制御不能 2026年夏「3大サイバー攻撃」の衝撃
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
3
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
4
「IT史に名を残すシステム障害」8選
-
5
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
6
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
7
Microsoft 365のメールセキュリティ、3つの“死角”と追加で検討すべき対策とは
-
8
AI駆動開発のスピードと安全性を両立 「品質・セキュリティ管理」の実践ガイド
-
9
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
10
「標的型攻撃メール」事例・サンプル集
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー