lxc-copy(1) | lxc-copy(1) |
lxc-copy - 既存のコンテナのコピー
lxc-copy
{-n, --name name} [-P, --lxcpath path] {-N, --newname
newname} [-p, --newpath newpath] [-B, --backingstorage
backingstorage] [-s, --snapshot] [-a, --allowrunning] [-K,
--keepname] [-D, --keepdata] [-M, --keepmac] [-L, --fssize size
[unit]] [-- hook arguments]
lxc-copy
{-n, --name name} [-P, --lxcpath path] [-N, --newname
newname] [-p, --newpath newpath] {-e, --ephemeral} [-B,
--backingstorage backingstorage] [-s, --snapshot] [-K, --keepname]
[-D, --keepdata] [-M, --keepmac] [-L, --fssize size [unit]] [-- hook
arguments]
lxc-copy
{-n, --name name} [-P, --lxcpath path] [-N, --newname
newname] [-p, --newpath newpath] {-e, --ephemeral} [-B,
--backingstorage backingstorage] [-s, --snapshot] [-a,
--allowrunning] [-t, --tmpfs] [-K, --keepname] [-M, --keepmac] [-- hook
arguments]
lxc-copy
{-n, --name name} [-P, --lxcpath path] {-N, --newname
newname} [-p, --newpath newpath] {-R, --rename}
lxc-copy は、すでに存在するコンテナのコピーを作成します。オプションを指定することで、作成後にそのコピーを起動できます (コピーは一時的なコピーまたは永続的なコピーのどちらも可能です)。 このコマンドは lxc-clone と lxc-start-ephemeral の置き換えのコマンドです。
lxc-copy は、既存のコンテナのコピーを作成します。 コピーは元のコンテナの完全なクローンにできます。この場合、単にコンテナのルートファイルシステムのすべてが、新しいコンテナにコピーされます。 また、スナップショットを取得することも可能です。すなわち、元のコンテナの小さなコピーオンライトのコピーにするということです。この場合、コピーで指定するバッキングストレージがスナップショットをサポートしている必要があります。 スナップショットをサポートしているバッキングストレージは、現時点では btrfs、lvm (lvm デバイスはスナップショットのスナップショットはサポートしていません)、overlay、zfs です。
コピー先のバッキングストレージは、元のコンテナと同じタイプになるでしょう。ただし、ディレクトリバックエンドのコンテナのスナップショットは overlay で取得できますので例外です。
-e オプションを指定した場合は、元のコンテナの一時的なスナップショットを作成し、起動します。一時的なコンテナの場合、設定ファイルに lxc.ephemeral = 1 がセットされ、シャットダウン後に削除されます。 -e と -D を同時に指定すると、元のコンテナの一時的ではないスナップショットを作成し、起動します。 -t オプションを指定して、一時的なコンテナを tmpfs 上に置くことができます。 注意: tmpfs 上に置いた一時的なコンテナをリブートすると、コンテナに対して行ったすべての変更は失われます!
-e を指定した場合で、-N でコンテナの名前を指定しない場合は、スナップショットの名前はランダムで命名されます。
-e で作成し、起動したコンテナは、コンテナ独自のマウントを行えます。現時点では bind、overlay という 2 つのタイプのマウントがサポートされています。 マウントタイプは -m オプションのサブオプションとして指定します。この指定はカンマ区切りで複数回指定できます。 overlay マウントの場合は、現時点では -m overlay=/src:/dest のように指定します。マウント先の dest を指定しない場合は、dest は src と同じになります。 読み込み専用の bind マウントは -m bind=/src:/dest:ro のように指定します。読み書き可能な bind マウントは -m bind=/src:/dest:rw のように指定します。bind マウントのデフォルトは読み書き可能ですので、読み書き可能なマウントを行う場合は省略できます。マウント先の dest を指定しない場合は、dest は src と同じになります。 複数のマウントを行う場合の例を示すと、-m bind=/src1:/dest1:ro,bind=/src2:ro,overlay=/src3:/dest3 のようになります。
-m オプションで指定するマウント、オプション、指定フォーマットは変更される可能性があります。
スナップショットするコンテナで行うマウントを指定します。マウントタイプは {bind, overlay} のどれかで指定します。例えば -m bind=/src:/dest:ro,overlay=/src:/dest のようになります。(このオプションは -e と同時の場合のみ指定できます。)
コピーされるコンテナに 1 つ以上の lxc.hook.clone の指定が存在する場合、指定されたフックは新しいコンテナに対して呼ばれます。 クローンフックに渡される最初の 3 つの引数は、コンテナ名、セクション ('lxc')、フックタイプ ('clone') となります。 lxc-copy に渡される追加の引数は、フックプログラムに渡される引数の 4 番目以降となります。 LXC_ROOTFS_MOUNT 環境変数には、コンテナの root ファイルシステムがマウントされるパスが与えられます。 設定ファイルのパス名は LXC_CONFIG_FILE に、新しいコンテナ名は LXC_NAME、古いコンテナ名は LXC_SRC_NAME に、rootfs のあるパスまたはデバイスは LXC_ROOTFS_PATH に保存されます。
ここで紹介するオプションは lxc コマンドの大部分で共通のものです。
このオプションは追加のログファイルへのイベントログの優先度の設定である事に注意してください。stderr への ERROR イベントのログには影響しません。
(lxc-create 経由で) 前もってコンテナが作られた際の設定ファイルが既にあった場合でも、このオプションが指定された場合は、指定した設定ファイルが使用されます。
lxc(7), lxc-create(1), lxc-copy(1), lxc-destroy(1), lxc-start(1), lxc-stop(1), lxc-execute(1), lxc-console(1), lxc-monitor(1), lxc-wait(1), lxc-cgroup(1), lxc-ls(1), lxc-info(1), lxc-freeze(1), lxc-unfreeze(1), lxc-attach(1), lxc.conf(5)
2024-12-19 |