GNU/Linux >> Linux の 問題 >  >> Linux

Linux –論理ボリュームをあるボリュームグループから別のボリュームグループに移動しますか?

論理ボリュームをあるボリュームグループから別のボリュームグループに全体的に移動することは可能ですか?

(多かれ少なかれ)一致するlvを作成し、データをコピーすることは可能ですが、LVMツールのみでこれを行う方法はありますか?

そうでない場合、理論的理由または技術的限界(範囲サイズ)はありますか?

承認された回答:

Debianストレッチ(9.0)のLVM、つまり2.02.168-2の時点では、
vgmerge 可能です。>> 、 lvconvert 、および vgsplit 。移動は
コピーと削除の組み合わせであるため、これは移動でも機能します。

または、 pvmoveを使用することもできます ボリュームを移動するだけです。

ループデバイスとlvconvertを使用した完全な自己完結型のサンプルセッション

概要:ボリュームグループ vg1を作成します 論理ボリュームlv1を使用 、および vg2 lv2を使用 、 lv1のコピーを作成します vg2で 。

ファイルを作成します。

truncate pv1 --size 100MB
truncate pv2 --size 100MB

ファイルにループデバイスを設定します。

losetup /dev/loop1 pv1
losetup /dev/loop2 pv2

ループデバイス上に物理ボリュームを作成します(
LVMで使用するためにループデバイスを初期化します)。

pvcreate /dev/loop1 /dev/loop2

/ dev/loop1と/dev/loop2にそれぞれボリュームグループvg1とvg2を作成します

vgcreate vg1 /dev/loop1
vgcreate vg2 /dev/loop2

論理ボリュームlv1とlv2をそれぞれvg1とvg2に作成します。

lvcreate -L 10M -n lv1 vg1
lvcreate -L 10M -n lv2 vg2

lv1とlv2にext4ファイルシステムを作成します。

mkfs.ext4 -j /dev/vg1/lv1
mkfs.ext4 -j /dev/vg2/lv2

必要に応じて、後でコピーが正しく作成されたことを確認できるように、lv1に何かを書き込みます。
vg1を非アクティブにします。

vgchange -a n vg1

テストモードでmergeコマンドを実行します。これにより、vg1がvg2にマージされます。

vgmerge -A y -l -t -v <<destination-vg>> <<source-vg>>
vgmerge -A y -l -t -v vg2 vg1

そして実際に。

vgmerge -A y -l -v vg2 vg1

次に、 lv1からRAID1ミラーペアを作成します lvconvertを使用する 。 dest-pv 引数はlvconvertに指示します ミラーコピーを作成するには
/ dev / loop2

lvconvert --type raid1 --mirrors 1 <<source-lv>> <<dest-pv>>
lvconvert --type raid1 --mirrors 1 /dev/vg2/lv1 /dev/loop2

次に、ミラーを分割します。新しいLVはlv1_copyになりました 。

lvconvert --splitmirrors 1 --name <<source-lv-copy>> <<source-lv>>
lvconvert --splitmirrors 1 --name lv1_copy /dev/vg2/lv1

vg2 / lv1を作成します 非アクティブ。

lvchange -a n /dev/vg2/lv1

次に(テストモード)

vgsplit -t -v <<source-vg>> <<destination-vg>> <<moved-to-pv>>
vgsplit -t -v /dev/vg2 /dev/vg1 /dev/loop1

実際に

vgsplit -v /dev/vg2 /dev/vg1 /dev/loop1

結果の出力:

lvs
[...]
lv1        vg1       -wi-a-----  12.00m
lv1_copy   vg2       -wi-a-----  12.00m
lv2        vg2       -wi-a-----  12.00m

注:

1)これらのコマンドのほとんどはrootとして実行する必要があります。

2)2つのボリュームグループ
に論理ボリュームの名前が重複している場合は、 vgmerge 続行を拒否します。

関連:LinuxまたはMacでAVR Ravenをプログラムする方法は?

3)マージ時に、 vg1の論理ボリューム 非アクティブである必要があります。また、分割された場合、 vg2の論理ボリューム vg1に属する 非アクティブである必要があります。この場合、これは lv1です。 。


Linux
  1. Linuxで特定の種類のファイルを検索してあるディレクトリから別のディレクトリにコピーする方法

  2. Linuxでパーミッションをあるファイルから別のファイルにコピーまたは複製する方法

  3. メールアカウントをあるcPanelサーバーから別のサーバーに移動する

  1. ワームホール–Linuxで1台のコンピューターから別のコンピューターにファイルを安全に共有する

  2. すべてのファイルをあるディレクトリから別のディレクトリに移動 (および上書き) する方法は?

  3. Linuxで100万枚の画像をあるディレクトリから別のディレクトリに移動する最速の方法は何ですか?

  1. すべてのファイル(非表示を含む)をあるディレクトリから別のディレクトリに移動するにはどうすればよいですか?

  2. Linux NFLOG - ドキュメント、C からの構成

  3. あるボリューム グループから別のボリューム グループに論理ボリュームを移動する