外部ストレージのデータをDockerのコンテナから利用したいこともある。外部ストレージ利用には賛否両論あるが、それでも利用したい場合はどうすればよいのか。
前編(Computer Weekly日本語版 2月21日号掲載)では、Dockerで永続ストレージを実現するための方法と、その選択のために検討すべき要件について解説した。
後編では、外部ストレージを使う方法について検討する。
本記事は、プレミアムコンテンツ「Computer Weekly日本語版 3月7日号」(PDF)掲載記事の抄訳版です。本記事の全文は、同プレミアムコンテンツで読むことができます。
なお、同コンテンツのEPUB版およびKindle(MOBI)版も提供しています。
外部のストレージアレイに格納されているデータを使いたい場合はどうなるのか。
共有ストレージを使用すると、ホストで障害が発生しても、それを切り抜けられるようになる。コンテナのコンテキストで、共有ストレージを使用する場合は多少の作業が必要だ。この技法を使うには、共有ストレージプラットフォームの開発をどこから着手すべきか、理解しておかなければならないからだ。
従来のSAN(ストレージエリアネットワーク)は、多数の物理サーバに分散したストレージを集約する必要性から考案された仕組みだった。1つに集約することで、管理、セキュリティ、保守、効率性が向上した。例えば、共有アレイの物理LUNまたはボリュームは、ホスト内の物理アダプターにマッピングされ、マスクされる。
仮想化への移行に伴い、ストレージはハイパーバイザーにマッピングされ、LUNやボリュームはハイパーバイザーで分割されるようになった。例えば物理LUNは、「VMware vSphere」ではデータストアとなる。通常、そのデータストア内で各仮想マシンのディスクはVMDKファイルだ。NASのファイル共有では、こうしたディレクトリ内にVMディレクトリとVMDKファイルを格納するようになるだろう。
コンテナの観点から見ると、物理ホストにマッピングされたストレージは、ブロックデバイスのように見える。つまり、そのストレージはファイルシステムでフォーマットしなければならない。このファイルシステムをコンテナにマウントすることで、永続的なストレージが提供される。
しかしこうした一連の手続きはどう見ても扱いにくい。そのため、プロセスをより効果的に管理するためにDockerはボリュームプラグインを導入した。サプライヤーは、Dockerの仕様に対応するプラグインソフトウェアを開発している。その仕様とは、LUNまたはボリュームの作成プロセスを自動化し、ホストおよび最終的にはコンテナに正しくマッピングするためのものだ。
外部ストレージを使用すると、当然ながらレジリエンスと永続性という利点を享受することになる。コンテナを廃棄しても、ボリュームを再接続することができる。ホストを廃止する場合は、LUNまたはボリュームを移動させて、別のホストにマウントすることができる。パフォーマンスは、システムがQoS(Quality of Service)などの機能を提供するLUNレベルで判断することになる。
セキュリティの実装は、もう少し慎重な対応が必要だ。特定のコンテナホストに外部ボリュームをマッピングすることはできる。ただし、ホストやコンテナのオーケストレーションソフトウェアが提供しているものを除けば、ボリュームをコンテナに割り当てる際にセキュリティを確保できる仕組みは、ストレージには備わっていない。
本記事は抄訳版です。全文は、以下で無料で閲覧できます。
■Computer Weekly日本語版 最近のバックナンバー
Computer Weekly日本語版 2月21日号 Spectre&Meltdownの見つけ方
Computer Weekly日本語版 2月7日号 キャッシュレス先進国の現実
Computer Weekly日本語版 1月24日号 “侵入者をだますセキュリティ”のススメ
ピザハットが新展開 まさかのTikTok動画活用法とは?
Pizza HutがUAEを中心に「トレンド払い」キャンペーンを展開している。TikTokのトレンド...
「レシピチェック」「少額決済」はデジタルが多数派に 逆にアナログでないとだめな活動とは?
博報堂生活総合研究所は、直近1年間における暮らし全般のデジタル化の度合いを調べる「生...
ホワイトペーパー制作が続かない! 苦しまず量産するため、どうすればいい?
前編ではB2B企業にとって本来あるべきホワイトペーパーの役割と成果を出すための3つの使...