コンテナとマイクロサービスを基盤とした分散ブロックストレージ「Longhorn」をRancher Labsが発表
Rancher Labsは、コンテナ型仮想化の技術とマイクロサービスの構造を基盤とした分散ブロックストレージを実現するソフトウェア「Longhorn」を発表しました。オープンソースで開発されています。
Longhornは複数のサーバ内のストレージをソフトウェアで束ね、仮想的に巨大なストレージを構成。ユーザーはその仮想的なストレージに対してボリュームサイズやIOPS性能、レプリカ数などを指定し、仮想マシンやコンテナにマウントして利用を開始することができます。
また、ボリュームのスナップショットをとることも可能。ただしまだ重複排除や圧縮、ストレージの性能や容量に合わせた自動階層化などの機能は備えていません。
仮想ストレージを構成するストレージコントローラソフトウェアは、それぞれのサーバ上のコンテナ内で実行。多数のストレージコントローラがオーケストレーションされて、Longhornを実現しています。これがLonghornがコンテナとマイクロサービスを基盤にしていると称される理由となっています。
また、Longhronのストレージ管理にはWebブラウザから利用できる管理画面が用意されています。
Longhornの展開としては、それぞれのサーバがアプリケーションもストレージも実装されるハイパーコンバージドインフラ的なやり方と、アプリケーションを実行するサーバと分散ストレージを提供するサーバを分ける専用ストレージサーバ的なやり方の2通りがあると説明されています。
Longhornは現時点では実験的実装と位置づけられており、開発元のRancher Labsは、Longhornを、ストレージをコンテナとマイクロサービスで実装するうえでのたたき台になればよいと、次のように書いています。
We built Longhorn to be simple and composable, and hope that it can serve as a testbed for ideas around building storage using containers and microservices. It is written entirely in Go (commonly referred to as golang), the language of choice for modern systems programming.
私たちはLonghornをシンプルで組み立て可能なかたちで開発した。できればこれがストレージをコンテナとマイクロサービスによって開発するというアイデアのたたき台として活かされればと考えている。Longhornはモダンなシステム言語としての選択肢であるGoで全体が記述されている。
コンテナを活用した分散ストレージの実装はこれまでもいくつか存在しています。
例えば、CoreOSが開発していたTorusは十分なコミュニティとの連係ができないという理由で2月に開発が終了。一方、Dockerは昨年12月に分散ストレージを開発する企業「Infinit」を買収。現在、オープンソース化に向けて作業をしていると見られます。
現時点ではコンテナに向けた分散ストレージの主導権はまだ誰も握っていないといえるでしょう。
そうした中でRancher LabsがLonghornを発表したのは(同社は同時にRancherOS正式版も発表しています)、日本時間で今晩からアトランタで開催されるDockerのイベント「DockerCon 17」に先んじて発表することで、Dockerコミュニティのなかで話題にしてもらい、注目を集める狙いがあるのだと思われます。
関連記事
あわせて読みたい
GitHub、無料アカウントのユーザーにもDeveloper Programを解放。APIを使ったGitHub連携アプリを開発可能に
≪前の記事
Dockerコンテナに特化した「RancherOS」正式版リリース。Linuxカーネル上でDockerを実行、システムもユーザーもすべてをコンテナ空間に