イメージについて#
LXDはイメージをベースとしたワークフローを使用します。 各インスタンスはイメージをベースとしています。イメージは基礎となるオペレーティングシステム(例えば、Linuxディストリビューション)とLXDに関連するいくつかの情報を含みます。
イメージはリモートのイメージストア(概要はリモートイメージサーバ参照)から利用可能ですが、既存のインスタンスやrootfsイメージをベースにして、独自のイメージを作成できます。
リモートサーバからローカルのイメージストアにイメージをコピーしたり、ローカルのイメージをリモートサーバにコピーできます。 ローカルのイメージをリモートのインスタンスを作るのに使うこともできます。
各イメージはフィンガープリント(SHA256)で識別されます。 イメージを管理しやすくするために、LXDでは各イメージに1つ以上のエイリアスを定義できます。
キャッシュ#
リモートのイメージからインスタンスを作成する際、LXDはイメージをダウンロードしローカルにキャッシュします。 イメージはローカルのイメージストアにcachedフラグをセットして保管されます。 イメージは以下のいずれかが発生するまでは非公開のイメージとしてローカルに保持されます。
images.remote_cache_expiry
で指定された日数の間新しいインスタンスを作成するのにイメージが使われなかった。イメージの有効期限(イメージのプロパティの1つ。どのように変更するかの情報はイメージのプロパティを編集する参照)に達した。
LXD はイメージから新しいインスタンスが起動される度にイメージのlast_used_at
プロパティを更新することで、イメージの利用状況を記録しています。
自動更新#
LXDはリモートサーバからのイメージを自動的に最新に更新します。
注釈
エイリアスを指定して取得したイメージだけが更新されます。 フィンガープリントを指定してイメージを取得した場合は、その特定のイメージバージョンを要求したことになります。
自動更新が有効になるかどうかはイメージをどのようにダウンロードしたかに依存します。
インスタンス作成時にイメージがダウンロードとキャッシュされた場合は、ダウンロード時に
images.auto_update_cached
がtrue
に設定されていれば、自動的に更新されます。イメージがリモートサーバから
lxc image copy
コマンドでコピーされた場合は、--auto-update
フラグが指定されていた場合のみ自動的に更新されます。
イメージのこの挙動はauto_update
プロパティを編集することで変更できます。
起動時とimages.auto_update_interval
の間隔(デフォルトでは6時間ごと)を過ぎるたびに、LXDデーモンは自動更新とマークされコピー元のサーバが記録されたストア内の全てのイメージについてより新しいバージョンがあるかをチェックします。
新しいイメージが見つかったら、イメージ・ストアにダウンロードされます。 その後古いイメージを指していたエイリアスは新しいイメージを指すように変更され、古いイメージはストアから削除されます。
インスタンスの生成が遅くならないようにするため、LXDはキャッシュされたイメージからインスタンスを作成する際に新しいバージョンが利用可能かをチェックしません。 これはイメージが次の更新期間で更新されるまでの間は、新しく作成するインスタンスにイメージの古いバージョンが使われるかもしれないことを意味します。
特別なイメージプロパティ#
プレフィックスrequirements
で始まるイメージプロパティ(例:requirements.XYZ
)はLXDがホストシステムと当該イメージで生成されるインスタンスの互換性を判断するために使用されます。
これらの互換性がない場合には、LXDはそのインスタンスを起動しません。
以下の要件がサポートされています。
キー |
タイプ |
既定値 |
説明 |
---|---|---|---|
|
string |
- |
|
|
string |
- |
|