CephFSのOpenStack Manila対応
現在、OpenStackでは、NFSによるファイル保存領域をオンデマンドに提供する「OpenStack Manila」の開発が進められている。ただし、既存のファイルサーバアプライアンスをバックエンドとする場合、仮想マシンインスタンスとファイルサーバの間のネットワーク経路をテナントごとに用意する必要があり、ネットワーク構成が複雑になるという課題があった。このセッションでは、CephFSを利用することで、テナント側でネットワーク経路を用意せずに、仮想マシンインスタンスから透過的にファイル保存領域へのアクセスが可能になるアーキテクチャの提案がなされた。
ManilaのCephFSを用いたアーキテクチャ(発表スライドから引用)
このアーキテクチャでは、仮想マシンインスタンスが起動するコンピュートノードにCephFSのクライアントモジュールを導入して、まずは、コンピュートノード上にCephFSのファイルシステムをマウントする。その上で、ホストLinuxのNFSデーモンでゲストOSに対するNFSアクセスを提供する。
ホストLinuxとゲストOSの間は、AF_VSOCKを用いた仮想ソケット通信で接続する。これにより、テナントの利用者は、ネットワーク経路を気にすることなく、CephFSのファイルシステム領域を仮想マシンインスタンスから利用可能になる。
筆者の印象としては、技術的にも自然なアーキテクチャになっており、ManilaのCephFS対応ドライバーの開発には、それほど時間はかからないものと想像される。当日のセッション資料では、このアーキテクチャにおいて、ManilaとNovaが提供するべき機能の詳細な分析まで示されており、CephFSのManila対応は本気度が高いものと感じられた。
CephFSのコンテナ対応にも言及
セッションの最後では、コンテナ対応への可能性についても言及がなされた。コンテナのディスクイメージの実体は、コンテナに割り当てるルートファイルシステム一式をまとめたものにすぎない。CephFSのファイルシステム上にイメージの内容をディレクトリツリーとして展開しておけば、そこからコンテナを起動するのは、技術的にはそれほど難しくはないというわけだ。
CephFSからコンテナを起動するアーキテクチャ(発表スライドから引用)
ただし、OpenStackからコンテナを利用するためのアーキテクチャについては、OpenStackの開発コミュニティーでもまだ議論がまとまっておらず、これは、あくまでも技術的な可能性を紹介したものと捉えておくのがよいだろう。
会場では、OpenStackのコンテナオーケストレーション機能の開発を目指す「OpenStack Magnum」とのインテグレーションについての質問が出たところ、「うーん。Magnumのことはあまりよく知らないんだけど……」と返答に困るSageの姿が見られる一幕もあった。当日のセッションの動画が公開されているので、興味のある読者は、このあたりのやり取りも確認すると面白いだろう。