lxdlxcについて#

LXDはよくLXCと混同されます。そしてLXDがlxdコマンドとlxcコマンドを提供するという事実が混同の一因となっています。

LXD対LXC#

LXDとLXCはLinuxコンテナの2つの全く別の実装です。

LXCはLinuxカーネルのコンテナ機能に対する低レベルのユーザー空間のインタフェースです。 LXCはツール(lxc-*コマンド)、テンプレート、そしてライブラリと言語バインディングから構成されます。

LXDはLinuxコンテナの取り扱いを簡単にする目的で作られている、より直観的でユーザーフレンドリなツールです。 LXDはLXCのツールとディストリビューションのテンプレートシステムの代替となるものであり、ネットワーク上で制御可能なことにより実現される機能も追加されています。 内部では、LXDはコンテナの作成と管理にLXCを使用しています。

LXDはLXCがサポートする機能のスーパーセットを提供し、より簡単に使えます。 ですので、どちらのツールを使うべきかわからない場合は、LXDを選ぶのが良いでしょう。 LXCはLXDをサポートしないディストリビューション上でLinuxコンテナを稼働させたい上級ユーザーへの選択肢としてとらえるべきです。

LXDデーモン#

LXDの中心的な部分はLXDデーモンです。 それは持続的にバックグラウンドで稼働し、インスタンスを管理し、全てのリクエストを処理します。 デーモンはREST APIを提供し、直接アクセスすることもクライアント経由(例えば、LXDに同梱のデフォルトのコマンドラインクライアント)でアクセスすることもできます。

LXDデーモンについての詳細な情報はデーモンの動作を参照してください。

lxdlxc#

LXDを制御するには、通常lxdlxcという2つの異なるコマンドを使います。

LXDデーモン

lxdコマンドはLXDデーモンを制御します。 通常デーモンは自動的に起動しますので、ほとんどの場合lxdコマンドを使う必要はありません。 例外はLXDの初期化のためにlxd initサブコマンドを実行するときです。

またデーモンのデバッグや管理のためのサブコマンドもあります。しかしこれは上級ユーザーのみを想定したものです。 全ての利用可能なサブコマンドの概要はlxd --helpを参照してください。

LXDクライアント

lxcコマンドはLXDのコマンドラインベースのクライアントで、LXDデーモンとやりとりするのに使えます。 インスタンス、サーバー設定、そしてLXD内で作成する全てのエンティティを管理するためにlxcコマンドを使用できます。 全ての利用可能なサブコマンドの概要はlxc --helpを参照してください。

lxcツールはLXDデーモンとのやり取りに使用できる唯一のクライアントではありません。 API、UI、あるいは独自のLXDクライアントを使用することもできます。