イメージについて#

LXDはイメージをベースとしたワークフローを使用します。 各インスタンスはイメージをベースとしています。イメージは基礎となるオペレーティングシステム(例えば、Linuxディストリビューション)とLXDに関連するいくつかの情報を含みます。

イメージはリモートのイメージストア(概要はリモートイメージサーバー参照)から利用可能ですが、既存のインスタンスやrootfsイメージをベースにして、独自のイメージを作成できます。

リモートサーバーからローカルのイメージストアにイメージをコピーしたり、ローカルのイメージをリモートサーバーにコピーできます。 ローカルのイメージをリモートのインスタンスを作るのに使うこともできます。

各イメージはフィンガープリント(SHA256)で識別されます。 イメージを管理しやすくするために、LXDでは各イメージに1つ以上のエイリアスを定義できます。

キャッシュ#

リモートのイメージからインスタンスを作成する際、LXDはイメージをダウンロードしローカルにキャッシュします。 イメージはローカルのイメージストアにcachedフラグをセットして保管されます。 イメージは以下のいずれかが発生するまでは非公開のイメージとしてローカルに保持されます。

LXD はイメージから新しいインスタンスが起動される度にイメージのlast_used_atプロパティを更新することで、イメージの利用状況を記録しています。

自動更新#

LXDはリモートサーバーからのイメージを自動的に最新に更新します。

注釈

エイリアスを指定して取得したイメージだけが更新されます。 フィンガープリントを指定してイメージを取得した場合は、その特定のイメージバージョンを要求したことになります。

自動更新が有効になるかどうかはイメージをどのようにダウンロードしたかに依存します。

  • インスタンス作成時にイメージがダウンロードとキャッシュされた場合は、ダウンロード時にimages.auto_update_cachedtrueに設定されていれば、自動的に更新されます。

  • イメージがリモートサーバーからlxc image copyコマンドでコピーされた場合は、--auto-updateフラグが指定されていた場合のみ自動的に更新されます。

イメージのこの挙動はauto_updateプロパティを編集することで変更できます。

起動時とimages.auto_update_intervalの間隔(デフォルトでは6時間ごと)を過ぎるたびに、LXDデーモンは自動更新とマークされコピー元のサーバーが記録されたストア内の全てのイメージについてより新しいバージョンがあるかをチェックします。

新しいイメージが見つかったら、イメージ・ストアにダウンロードされます。 その後古いイメージを指していたエイリアスは新しいイメージを指すように変更され、古いイメージはストアから削除されます。

インスタンスの生成が遅くならないようにするため、LXDはキャッシュされたイメージからインスタンスを作成する際に新しいバージョンが利用可能かをチェックしません。 これはイメージが次の更新期間で更新されるまでの間は、新しく作成するインスタンスにイメージの古いバージョンが使われるかもしれないことを意味します。

特別なイメージプロパティ#

プレフィックスrequirementsで始まるイメージプロパティ(例:requirements.XYZ)はLXDがホストシステムと当該イメージで生成されるインスタンスの互換性を判断するために使用されます。 これらの互換性がない場合には、LXDはそのインスタンスを起動しません。

以下の要件がサポートされています。

キー

タイプ

既定値

説明

requirements.secureboot

string

-

false に設定すると、イメージがセキュアブートで起動しないことを示します。

requirements.cgroup

string

-

v1 に設定されている場合、ホストでCGroupV1が実行されている必要があることを示します。