NetApp Tech OnTap NetApp Logo
NetApp Tech OnTap
「ネットアップの強みをオープンクラウドにも活かす!」
~NetApp with OpenStack の姿~

シェアする NetAppオフィシャルFacebook

今回は「NetApp with OpenStack」を具体的に見ていきます。前回もお話したように、ネットアップはストレージベンダですので、OpenStackの中でストレージが活躍するところになにかいろいろやっていることになります。種明かしをすると、主にBlock Storage Serviceである「Cinder」に対してのバックエンドストレージとして活用の場を広げています。

では以下のようなステップでお話していきます。

  • Cinder(Block Storage Service)とは
  • バックエンドストレージとは
  • ネットアップをどう組み合わせるのか
  • Why NetApp for OpenStack

Cinder(Block Storage Service)とは

OpenStackはいくつかのプログラム(プロジェクト)で成り立っています。Cinderはその内の1つでブロックストレージを提供します。理解しやすい1つの利用例としては稼働しているインスタンス(仮想マシン)に対して外部ストレージのようにブロックストレージデバイスとして接続するケースで使われます。通常インスタンスをテンプレートイメージから起動させた場合、そのイメージ内のデバイスには一時的にしかデータを持つことができません。インスタンスを終了させるとデータは破棄されます。Cinderを使って外部ストレージのように接続し、そこへデータを保存すれば永続的に格納して利用することができます。このCinderから作られたブロックデバイスに対してスナップショットを使うこともできます。また、インスタンスのテンプレートイメージを永続的に保存する形にしてから起動するといった場合にもCinderを活用することができます。

バックエンドストレージとは

ここで、「バックエンドストレージ」について話をしておきます。いったんOpenStackを忘れて通常、普通の物理サーバは当然様々なストレージデバイスを使うことができます。それは接続方式にFCやiSCSI、NFS、SMB/CIFSを使う事ができたり、SATA、SAS、SSDなどメディアのタイプも様々利用することができます。同じように、Cinderはブロックストレージを提供するための"大元のデバイス"として様々なベンダーのストレージや、OSSで構成する分散ファイルシステムなどを利用することができます。この"大元のデバイス"がバックエンドストレージと呼ばれます。

OpenStackでは使う側、ユーザにとってはあまり物理環境を意識しません。ですが、クラウドサービスとして活用するケースでとってみると、例えばユーザは「容量単価が安いものを大量」にほしいとか、「SSDのように高速なブロックデバイス」がほしいとかといった要求が自然に発生することでしょう。このような多様な要求に対応するべくOpenStackのいくつかのプログラムはデータを格納する場所に複数の選択肢をもっています。有名なところではテンプレートイメージを扱うGlanceもバックエンドストレージとしてローカルファイルシステムの他NFSやSwiftオブジェクトストレージ、Amazon S3、VMware データストア等を選択することができます。OpenStackはこのような選択肢のおかげで様々な環境に適用できる柔軟性を持っている点も特徴です。

ネットアップをどう組み合わせるか

はじめに種明かしをしてしまっているので、お気づきかとはおもいますがネットアップのストレージをCinderのバックエンドストレージとして利用します。一方、使わない場合はどうなのか?というと、通常何も考えないで構成したのであれば、それはCinderが稼働する(正確にはcinder-volume)ホスト上のローカルディスクを利用することになります。LinuxのDevice Mapper(LVM)が使われ、Cinderはリクエストに応じてボリュームを切り出したり、スナップショットを取ったりします。なお、Cinderが一度に使えるバックエンドストレージは1種類でなくマルチで利用することができます。当然ネットアップストレージだけでなく、他社ストレージ等も扱うことができます。いわゆるSoftware Defined Storageの姿がここに存在しているわけです。Cinderは「Volume Driver」という名のものとにとても多くをサポートしています。ネットアップはこれを「NetApp Unified Driver(以降NUD)」と名付けています。最新版のJuno での各ドライバ対応は下記のページから参照することができます。

http://docs.openstack.org/juno/config-reference/content/ch_configuring-openstack-block-storage.html

私はこの記事を書いているだけあって、数多くの中でもネットアップストレージを当然推したいと思います。特に、clustered Data ONTAP をNFSで接続する形でバックエンドストレージとして活用していただきたいです。それは下記のような特徴があるためです。

  • 多数のボリュームタイプをカタログ化
  • データ保護の堅牢化
  • データ管理のオフロード
  • ブロックストレージをLogical Unit単位でなくファイルで管理
  • 他のドライバよりも適用が容易
多数のボリュームタイプをカタログ化

OpenStackプロジェクト全体(の主なもの)

Cinderでブロックストレージを作成する際、「Type」を選択できます。これがバックエンドストレージの選択肢になるわけです。更にここではバックエンドストレージに加えて、特殊なカタログタイプとして定義されているものも選択することができます。Cinderではこれを「Extra Specs」と呼んでいます。ネットアップストレージclustered Data ONTAPをバックエンドに添えた場合、そのExtra Specsを特定のFlexVolと紐付ける事ができます。FlexVolとはclustered Data ONTAPの中で定義されるボリュームです。clustered Data ONTAPのFlexVolはその名のとおり非常に柔軟性のあるボリュームであり、様々な属性・機能を付与することができます。重複排除、圧縮、ミラーリング、QoS、シンプロビジョニング、ディスクのタイプなどです。例えば、ユーザがRDBMS用のデータドライブとしてハイパフォーマンスなストレージを要求したとします。その際、SSDで構成されるFlexVolを「Diamond」とカタログ付しておくことで、ユーザはそれを選んで期待するブロックストレージを得ることができます。図ではCinder Volumeのグレードでカタログを表現していますが、もっと実用的な「アーカイブ」「データベース」「データ分析」「ストリーミング」など用途で定義してしまうのもありでしょう。 

データ保護の堅牢化

OpenStackの各プログラムではデータ保護の観点での機能が不十分です。バックアップという観点も含まれます。ユーザは大切なデータは自ら守るような方式を個別に検討する必要があります。一方、ネットアップclustered Data ONTAPは物理ディスクの保護はRAID-DP(パフォーマンス劣化の少ないRAID-6)で守り、論理障害はSnapshot、災害対策に対してもSnapMirror(リモートミラーリング)で保護することができるエンタープライズストレージです。OpenStackで欠けている部分を実績のある機能等で補うことでエンタープライズユーザにとってはこれまでのインフラストラクチャ同様の安心感を持つことができます。

データ管理のオフロード

Cinder(cinder-volume)が通常行っているボリュームの切り出しやスナップショットなどの処理はclustered Data ONTAPが受け持つことになります。これらはclustered Data ONTAPが得意な処理でありサーバに負荷をかけずに非常に高速に行うことができます。たかだか1つ、2つ程度の切り出しでは大した差はないかもしれませんが、OpenStackはクラウド基盤です。複数のユーザがランダム、また同時に利用し、開発環境やサービス拡張時などは複数のインスタンスやボリュームがプロビジョニングされる事になるでしょう。そういった場合にサーバ側の処理は非常に大きくまた、それぞれIOの負荷も多大になってきます。結果プロビジョニング完了までに多くの時間がかかってしまう事が予測されます。ネットアップはこれを肩代わりして迅速なスナップショット(実はクローニング技術を応用)やAPI連携時のバックグラウンドのコピーを迅速に完了することができます。規模が大きくなるにつれて「標準的な機能や構成」というのは往々にして課題になってきます。既にエンタープライズユーザのニーズを捉え成長・拡張してきたclustered Data ONTAP は当初から痒いところに手が届くバックエンドストレージとして、ユーザのオペレーションスピードも阻害しない環境へと導きます。

ブロックストレージをLogical Unit単位でなくファイルで管理

Clustered Data ONTAP のNUD はNFSとiSCSIの両方に対応しています。ネットアップをよくご存知な方であればなんとなくおわかりかもしれませんが、柔軟性に差があります。ことCinder として適用した観点で2点ほど申し上げますと、まずプロビジョニング時のパフォーマンスに差があります(例えば複数のブロックデバイスを作成するときなど)。また、iSCSIはLUで管理されますが、NFSはファイルとしてCinderのブロックデバイスが管理されるため、作成可能な数の上限に大きな差があります。これはスナップショットの数に対しても同じように制限がかかります。これらの点によりクラウド基盤として活用する場合はすぐに頭打ちになってしまう可能性があるためNFSでの利用を推奨しています。

他のドライバよりも適用が容易

Cinderとclustered Data ONTAPの連携はAPIによるものです。といっても難しいことはなく、NUDはCinderのパッケージの中に入っていますので、そこをつなぐためのパラメータさえセットしまえば基本的には設定はおしまいです。「他と比べて容易か否か」というのは様々な観点があるかとおもいますが、記事掲載時点においてここでは単純にOpenStackドキュメントの文章数、コマンドラインやオペレーション数というざっくりとした指標を元に考えると、実現できる多さの割に導入にかかる工数は少なくて済むような気がします。(ここはかなり私見ですので、ふわっとした表現で恐縮ですが)

Why NetApp for OpenStack

ここでなぜネットアップを組み合わせるのかを考えてみましょう。シンプルに思いつくのがいざ使う、検討するとなった時に「素のOpenStackのみで大丈夫か?」ということかとおもいます。「OSSの寄せ集めだけで・・・」と思われる方もいるかもしれません。果たして自身の実現したい内容・要件を十分満たすことができるのか。これはOpenStackのCinderに限ったことではなくとっても重要なポイントです。先にも述べましたが標準機能・構成では不十分であり、もはや多様化したエンタープライズストレージを通常活用されているユーザからするとチープに見え、不安はぬぐいきれないでしょう。ただ一方で多様な機能もったOSSの分散ファイルシステムやユニファイドなストレージソフトウェアが多くOpenStackでは活用されているのも事実です。しかしながら注意しなければならないのは、勢いはあれどこれらがまだ比較的新しく歴史も浅く未熟であるという点です。昨年のOpenStack Summitで開発環境などでの採用がほとんどという見方もできるレポートもありました。裏を返すと、よりエンタープライズユーザが利用するようになるためには、「素のOpenStack」だけではなく補完するものがまだ必要な状況にあるということです。その選択肢を広げる基盤がOpenStackにはあります。ネットアップは性能を維持しつつデータを保護し効率よく扱うデータ管理の仕組みを備え20年以上もの実績を積み重ねてきています。加えてAPI連携をできる素養も備えていたため今回の組み合わせはとても自然に早期から実現できています。

おわりに

今回紹介したOpenStackにおけるネットアップのインテグレーションは一部です。今現在目玉なものは新プロジェクト(プログラム)として掲げられている「Manila」です。これは共有ファイルシステムをOpenStackで実現するものです。これまではブロックストレージ、オブジェクトストレージのみでしたがここにようやく共有ファイルシステム、いわゆるNASを利用可能になります。

OpenStackプロジェクト全体(の主なもの)

ご存知の通りネットアップはNASを得意としており、今日も多くのユーザがNASをベースに様々な用途で利用しています。多くの経験とノウハウが蓄積されています。ネットアップのOpenStackチームはこのManilaの開発を中心となって進めており、2014年11月にIncubated になり、現在はコアプロジェクトへの昇格に向けて開発が活発に進められています。

最後になりますが、2015年からOpenStack FoundationのボードメンバにネットアップのRobert Eskerが参加することになりました。もともとボードメンバにハードウェアベンダが少ないこともあり、非常に貴重なポジションを得たと考えられます。今後のOpenStackの中でのストレージの方向性を検討する上で大きな影響を及ぼすことになるでしょう。NUDやManilaプロジェクトだけでなく、新しい取り組みも含め貢献していくネットアップから目が話せなくなるでしょう。

参考:

倉持健史(くらもちたけし)

倉持健史(くらもちたけし)
システム技術本部 システムズエンジニア
NetApp




東京電機大学情報科学科卒、UNIX 系 SIer、Linux HA クラスタソフトウェアメーカを経て 2011 年 9 月パートナー SE として入社
Soution SE 社内外の技術支援を中心に活動、clustered Data ONTAP はもとより、BigData関連他、Flash技術、
IaaS Platform(OpenStack)等担当
1978 年 8 月 22 日 東京生まれ
基本はインドアだが登山も好き、TEKKEN はポールでゴリ押し
関連情報
関連情報
関連情報
Go further, faster TRUSTe
お問い合わせ   |   購入方法   |   フィードバック   |   採用情報  |   登録   |   プライバシーポリシー   |   © 2015 NetApp