Provided by: lxc-utils_5.0.1-0ubuntu8~23.10.1_amd64
NAME
lxc-copy - 既存のコンテナのコピー
SYNOPSIS
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 オプションで指定するマウント、オプション、指定フォーマットは変更される可能性がありま す。
オプション
-N,--newname newname コピー先のコンテナの名前。 -p,--newpath newpath コピー先のパス。 -R,--rename 元のコンテナをリネームします。 -s,--snapshot 元のコンテナのスナップショットを作成します。コピー先のバッキングストレージがスナッ プショットをサポートしている必要があります。現時点では btrfs、lvm、overlay、zfs が 対象となります。 -a,--allowrunning 実行中のコンテナのスナップショットを作成します。 これは、使用しているファイルシステ ムやアプリケーションによっては、データの破損や欠損を引き起こす可能性があります。 注 意して使用してください。 -F,--foreground スナップショットしたコンテナをフォアグラウンドで起動します。スナップショットしたコ ンテナのコンソールは現在の tty にアタッチされます。(このオプションは -e と同時の場 合のみ指定できます。) -d, --daemon スナップショットしたコンテナをデーモンで起動します (一時的なコンテナではこのモード がデフォルトです)。 コンテナは tty を持ちませんので、エラーが発生しても何も表示され ません。エラーをチェックするにはログファイルを使います。(このオプションは -e と同時 の場合のみ指定できます。) -m, --mount mounttype スナップショットするコンテナで行うマウントを指定します。マウントタイプは {bind, overlay} のどれかで指定します。例えば -m bind=/src:/dest:ro,overlay=/src:/dest のよ うになります。(このオプションは -e と同時の場合のみ指定できます。) -t, --tmpfs このオプションを指定すると、一時的なコンテナを tmpfs 上に置きます。 注意: tmpfs 上 に置かれた一時的なコンテナをリブートすると、コンテナに対して行ったすべての変更が失 われます。 このフラグは -e オプションを指定して作成した一時的なコンテナに対してのみ 有効です。一時的なスナップショットを作成する元のコンテナは、ディレクトリバックエン ド上に存在しなければなりません。 -B, --backingstorage backingstorage コピー先コンテナのバッキングストレージのタイプを指定します。ここで 'backingstorage' は 'btrfs'、'dir'、'lvm'、'loop'、'overlay'、'zfs' のどれかです。 -L, --fssize size [unit] 'lvm' ファイルシステムのサイズを指定します。 -K, --keepname このオプションを指定すると、元のコンテナのホスト名をコピー先でもそのまま使います。 -D, --keepdata -e オプションと同時にこのオプションを使うと、一時的でないコンテナを作成し、起動しま す。 -M, --keepmac このオプションを指定すると、元のコンテナの MAC アドレスをコピー先でもそのまま使いま す。
コピー時のフック
コピーされるコンテナに 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 コマンドの大部分で共通のものです。 -?, -h, --help 通常より長い使い方のメッセージを表示します。 --usage 使い方を表示します。 -q, --quiet 出力を抑制します。 -P, --lxcpath=PATH デフォルトと別のコンテナパスを使用します。デフォルトは /var/lib/lxc です。 -o, --logfile=FILE 追加のログを FILE に出力します。デフォルトは出力しません。 -l, --logpriority=LEVEL ログの優先度を LEVEL に設定します。デフォルトの優先度は ERROR です。以下の値を設定 可能です: FATAL, ALERT, CRIT, WARN, ERROR, NOTICE, INFO, DEBUG, TRACE。 このオプションは追加のログファイルへのイベントログの優先度の設定である事に注意して ください。stderr への ERROR イベントのログには影響しません。 -n, --name=NAME NAME という名前でコンテナを識別します。コンテナ識別子のフォーマットは英数字の文字列 です。 --rcfile=FILE コンテナの仮想化、隔離機能の設定のための設定ファイルを指定します。 (lxc-create 経由で) 前もってコンテナが作られた際の設定ファイルが既にあった場合で も、このオプションが指定された場合は、指定した設定ファイルが使用されます。 --version バージョン番号を表示します。
SEE ALSO
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)
AUTHOR
Christian Brauner <christian.brauner@mailbox.org> 2024-01-24 lxc-copy(1)