NetApp Tech OnTap NetApp Logo
NetApp Tech OnTap
     
NetApp Docker Volume Plugin (nDVP for ONTAP 編)
シェアするNetAppオフィシャルFacebook   ツイート

 

はじめに

2016/10/05 に開催された Red Hat Forum 2016 で発表した。

「"なぜストレージベンダーが Docker に取り組んでいるのか?"」 で紹介した セッションでお話させていただいた内容としては、次世代データセンター構築のために必要な要素、ストレージはどのようなものが求められるかということをお話させていただきました。この記事では、プレゼンテーションの中で説明した NetApp Docker Volume Plugin のインストール方法、設定方法、実行方法について紹介します。

データ永続化というテーマはコンテナエコシステムの中で出てきている概念です。 最近では MESOSPHERE 社から Welcome to the era of Container 2.0 のタイトルでブログがポストされています。

概要としてステートレス・ステートフルなサービスを同一のリソースないでオーケストレーションする必要があるという内容でした。

本記事の記載に沿って実施いただければ nDVP を一通り試していただけるようになっています。なお、本記事は NFS のサービスを提供する SVM を作成済みである前提です。

NetApp Docker Volume Plugin (nDVP) とは

NetApp が提供しているすべてのフラッシュストレージ (All Flash FAS, E-series, SolidFire) を Docker へ統合し Docker Engine を拡張出来るようにしたものです。

nDVP の実現には Docker 社から提供されている Docker Volume Plugin という仕組みを使用しています。Docker Volume Plugin は永続化の仕組み である「 Docker Volume 」 のデータ保存先をホストOSだけではなく外部ストレージへのデータ永続化を提供する仕組みです。

当初は Docker からホスト OS 上にデータを永続化する仕組みを提供していましたが、 Docker version 1.8 から Docker Volume の保存先を外部ストレージへ永続化できるようにプラグインフレームワーク (Docker Volume Plugin) が提供されました。(図1:Docker Volume Plugin と nDVP の関係)

nDVP はストレージプラットフォームからストレージリソースのプロビジョニング (Volume の作成、データ管理機能の設定)、Docker ホスト OS へ自動マウントし、Docker コンテナから外部ストレージを透過的に使用できるようにします。

OCI Image

図 1NetApp Docker Volume pluginとnDVPの関係

Docker Volume pluginの詳細な説明は本家を参照してください。

現状使える volume plugin は以下の URL に一覧があります。

インストール

今回準備した動作環境は以下の通りです。(図2:構成図 参照

OCI Image

図 2構成図

各 OS のバージョン、ストレージ、ソフトウェアのバージョン

•    Docker ホスト OS

OCI Image

•    Docker バージョン

•    NetApp ONTAP バージョン

Docker のインストール

OCI Image

バージョンによって変わるためDocker 公式のドキュメントを参照してください。 今回は Ubuntu 16.04 で構築しています。

NetApp Docker Volume Plugin (nDVP) のインストール

OCI Image

注意事項

OS のバージョンやディストリビューションによっては NFS クライアントが導入されていませんので留意ください。

後半の docker volume を指定した docker 起動時にマウントができない旨のエラーが発生した場合は NFS クライアントがインストール済みであるかを確認してください。

設定例

ホストOS (Ubuntu 16.04)

設定ファイル作成

OCI Image

ontap-nas.json の内容

OCI Image

上記 json ファイルに定義する “managementLIF”, “dataLIF”, “svm”, “username”, “password”, “aggregate” は事前に作成が必要な項目です。

“managementLIF” にはクラスタのマネジメントポートの IP、SVM のマネジメントポートの IP どちらも設定可能です。 今回は SVM のマネジメントポートの IP を使用してアクセスします

テスト用に起動する場合は debug モードでの起動をおすすめします。 どのように動作しているかの理解と想定どおり動作しない場合の調査に使えます。

上記の “username” には managementLIF で指定したIPでログイン可能なユーザは指定します、今回は SVM の管理ユーザを指定しています。

“aggregate” に指定するアグリゲートは SVM の aggr_list に登録が必要です。

ONTAP にログインし以下のコマンドを実行します。

OCI Image

以下の vserver show コマンドを実行し結果を確認します。

OCI Image

動作確認

Docker Volume Plugin 起動

OCI Image

ログは以下のパスに出力されています。想定どおり動作しないときには以下のログを参照しトラブルシューティングをします。

  • ログディレクトリ: /var/log/netappdvp
  • ファイル名: ontap-nas.json内の "storageDriverName" で指定した名称でログファイル名が作成されます。

Docker Volume の作成 / Docker Volume マウント

Docker Volume の作成、Docker コンテナ起動時に Docker Volume をマウントする方法について確認します コンテナの起動前に Docker Volume の作成を行います。

OCI Image

上記の ontap-nas.json で vsadmin でアクセスするように設定した場合はに以下のエラーが発生した場合には、対象の SVM の aggr-list に ontap-nas.json で登録した ”aggregate” が登録されているかを見直します。

OCI Image

docker volume 作成時にサイズの指定、スナップショットディレクトリの参照有無の設定等が可能です。オプションは “-o” で指定します。

OCI Image

docker 起動時に存在しない docker volume を指定した場合は自動で作成されます。

OCI Image

alpine linux にログインした状態になるので df でマウント先を確認します。

OCI Image

今までの操作で作成されたボリュームは以下の通りです。

OCI Image

ONTAP にログインし、ONTAP上にどのようにボリュームが作成されたかを確認します。

OCI Image

ONTAP 上での FlexVol 名は標準で "netappdvp_" がプレフィックスとして付与されます。

設定と動作確認については以上となります。

まとめ

NetApp のコンテナエコシステムの中での取り組みで提供している NetApp Docker Volume Plugin の設定方法、実行方法について説明いたしました。

ユーザ視点からは 通常の Docker Volume を作成するオペレーションで外部ストレージへのデータ永続化が可能となり、エンタープライズストレージのデータ管理機能を活用することが可能となります。

技術情報

次回予告

今回は ONTAP の場合の Docker Volume Plugin の設定方法、使い方を説明しました。

次回は SolidFire 編を予定しています。

 

2016年 11月

Go further, faster
お問い合わせ   |   購入方法   |   フィードバック   |   採用情報  |   登録   |   プライバシーポリシー   |   © 2016 NetApp