LXD とは?

LXD は次世代のシステムコンテナマネージャです。 仮想マシンと同じようなユーザ体験を提供しますが、仮想マシンではなく Linux コンテナを使います。

LXD は、多数の Linux ディストリビューションが利用できる、あらかじめビルドされたイメージをベースとしています。そして、とてもパワフルでありながら、とてもシンプルな REST API を中心に構成されています。

LXD がどのようなもので、何ができるのかをよく理解するために、オンラインで使ってみることができます! さらに、LXD をローカルで実行したい場合は、「はじめに」 のページをご覧ください。

LXD プロジェクトは Canonical Ltd によって設立され、現在は様々な企業や個人のコントリビュータの貢献のもとで Canonical Ltd が主導しています。

デザイン

LXD のコアは、ローカルの UNIX ソケットとネットワーク経由 (有効になっている場合) で REST API を提供する特権デーモンです。

LXD に付属するコマンドラインツールのようなクライアントは、この REST API を通してすべての操作を行います。 つまり、ローカルホストに対する操作であろうが、リモートサーバに対する操作であろうが、すべて同じように動作するということです。

機能

LXDの主要な特長には以下のようなものがあります:

  • セキュアなデザイン (非特権コンテナ、リソース制限、その他)
  • 拡張性 (あなたのラップトップ機から数千のコンピュートノードまで)
  • 直感的 (シンプルでクリアな API、きびきびしたコマンドライン体験)
  • イメージをベースにしている (毎日ビルドされる多数の Linux ディストリビューションのイメージ)
  • ホストをまたいだコンテナやイメージの転送 (CRIU を使ったライブマイグレーションを含む)
  • 高度なリソースコントロール (cpu、メモリ、ネットワーク I/O、ブロック I/O、ディスク使用量、カーネルリソース)
  • デバイスパススルー (USB、GPU、キャラクタデバイス、ブロックデバイス、NIC、ディスク、パス)
  • ネットワーク管理 (ブリッジの作成と設定、ホスト間のトンネルなど)
  • ストレージ管理 (複数のストレージバックエンド、ストレージプール、ストレージボリュームのサポート)

OpenStack との統合

"nova-lxd" プロジェクトが提供する OpenStack Nova プラグインは、システムコンテナを通常の OpenStack のデプロイメントにシームレスに統合します。

これにより、ユーザは選択したイメージまたはインスタンスタイプに応じて、仮想マシンまたはコンテナが得られます。完全に透過的で、通常の OpenStack API で動作します。

LXD と OpenStack について更に知りたい場合は、「はじめに - OpenStack」 をご覧ください。

可用性

LXD は最近の Linux ディストリビューションで動作します。LXD 開発元は、直接 Ubuntu のパッケージのメンテナンスを行っています。そして、主要な Linux ディストリビューションのほとんどで使える snap パッケージのリリースも行っています。

さらに詳しく知りたい場合は 「はじめに」 をご覧ください。

LXC との関係

LXD は LXC の書き直しではありません。実際 LXD は新しい、より良いユーザ体験を提供するために LXC 上で構築されています。 LXD はコンテナを作成したり管理したりするために liblxc とその Go バインディングを通して LXC を利用しています。

LXD は基本的には LXC ツールとディストリビューションテンプレートの仕組みの代わりとなる新しいもので、ネットワーク経由でコントロールできる特長を追加したものです。

言語、ラインセンス、コントリビューション

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

LXD に貢献するのに必要な CLA や同様の法的合意はありません。しかし、コミットを signed-off する必要があります (DCO - Developer Certificate of Ownership に従います)。

サポート

LXD には二種類のリリースがあります:

  • LTS リリース
  • Feature (新機能) リリース

現在の LTS は LXD 2.0 で、2021 年 6 月までサポートされます。LTS ではバグフィックスとセキュリティアップデートを受けられますが、機能の追加は行われません。

Feature リリースは毎月リリースされ、バグフィックスと新機能が含まれています。通常のサポート期間は約一ヶ月か、次のリリースが行われるまでです。 ディストリビューションによっては、自身がリリースした特定の Feature リリースについては、より長いサポートを提供するかもしれません。

Ubuntu LTS リリースに含まれる LXD に対する商用サポートは Canonical Ltd から受けることができます。

Canonical logo