ストレージボリュームを移動やコピーするには#
カスタムストレージボリュームはあるストレージプールから別のストレージプールに コピー や 移動 したり、同じストレージプール内でコピーやリネームできます。
インスタンスストレージボリュームをあるストレージプールから別のストレージプールに移動するには、別のストレージプールに 対応するインスタンスを移動 します。
別のドライバを使用するストレージプール間でボリュームをコピーまたは移動する際はボリュームは自動的に変換されます。
カスタムストレージボリュームをコピーする#
カスタムストレージボリュームをコピーするには以下のコマンドを使用します。
lxc storage volume copy <source_pool_name>/<source_volume_name> <target_pool_name>/<target_volume_name>
ボリュームに存在するかもしれないスナップショットをスキップしてボリュームだけをコピーするには --volume-only
フラグを追加してください。
コピー先のロケーションにボリュームが既に存在する場合は、コピーを更新するために --refresh
フラグを使ってください。
同じストレージプール内でボリュームをコピーするにはコピー元とコピー先に同じプールを指定します。 この場合コピー元とコピー先で別のボリューム名を指定する必要があります。
ボリュームをあるストレージプールから別のストレージプールにコピーする場合は、同じボリューム名を使うことも新しいボリューム名にリネームすることもできます。
カスタムストレージボリュームを移動またはリネームする#
カスタムストレージボリュームを移動またはリネームする前に、それを利用している全てのインスタンスを 停止 する必要があります。
ストレージボリュームを移動またはリネームするには以下のコマンドを使用します。
lxc storage volume move <source_pool_name>/<source_volume_name> <target_pool_name>/<target_volume_name>
変更前のプールと変更後のプールに同じプールを指定すると、同じストレージプールに置いたままボリューム名を変更できます。 この場合変更前と変更後で別のボリューム名を指定する必要があります。
ボリュームをあるストレージプールから別のストレージプールに移動する場合は、同じボリューム名を使うことも新しいボリューム名にリネームすることもできます。
クラスターメンバー間でコピーまたは移動する#
(ceph
と ceph-fs
を除く) ほとんどのストレージドライバではストレージボリュームはそれらが作成されたクラスターメンバー上だけに存在します。
あるクラスターメンバーから別のメンバーにカスタムストレージボリュームをコピーまたは移動するには --target
と --destination-target
フラグでそれぞれコピー/移動元のクラスターメンバーとコピー/移動先のクラスターメンバーを指定します。
プロジェクト間でコピーまたは移動する#
別のプロジェクトにカスタムストレージボリュームをコピーまたは移動するには --target-project
を追加してください。
LXD サーバー間でコピーまたは移動する#
対象の各プールにリモートを指定することで異なる LXD サーバー間でカスタムストレージボリュームをコピーまたは移動できます。
lxc storage volume copy <source_remote>:<source_pool_name>/<source_volume_name> <target_remote>:<target_pool_name>/<target_volume_name>
lxc storage volume move <source_remote>:<source_pool_name>/<source_volume_name> <target_remote>:<target_pool_name>/<target_volume_name>
ネットワークのセットアップに応じて --mode
フラグを追加して転送モードを選べます。
pull
(デフォルト)コピー/移動先のサーバーに指定のストレージボリュームをプルするように指示します。
push
コピー/移動元のサーバーからストレージボリュームをコピー/移動先のサーバーにプッシュします。
relay
コピー/移動元のサーバーからストレージボリュームをローカルクライアントにプルし、それからコピー/移動先のサーバーにプッシュします。
インスタンスストレージプールを別のプールに移動する#
インスタンスストレージプールを別のプールに移動するにはまずインスタンスが停止されていることを確認してください。 次に以下のコマンドでインスタンスを別のプールに移動します。
lxc move <instance_name> --storage <target_pool_name>