LXCFS について

LXCFS は、現在の Linux カーネルの制限のいくつかを回避するために設計された、シンプルなユーザスペースのファイルシステムです。

具体的には以下の 2 つを提供します。

  • /proc のファイルに重ねてバインドマウントできる、Cgroup を元にした値を提供するファイル群
  • コンテナ向けの cgroupfs のようなツリー

コードはとてもシンプルで、libfuse を使って C 言語で書かれています。

この動作を行うメインのドライバーは、コンテナ内の systemd が cgroup を扱いながら、通常の非特権ユーザが systemd ベースのコンテナを実行するのに必要でした。

Linux カーネルへの cgroup namespace の導入により、この機能は新しいカーネルでは不要になりました。そして、proc をマスキングする機能により、コンテナを本当の独立したシステムを使っているように見せる機能にフォーカスを当てています。(訳注: vanilla kernel であれば 4.6 以上、Ubuntu であれば 4.4 以上のカーネルで cgroup namespace が使えます。)

ライセンス

LXCFS はフリーソフトウェアで、Apache 2 ライセンスのもとで開発されています。