回答:
私はpvmoveを使用してそれをやろうとしましたが、うまくいきませんでした。pvmoveコマンドでこれを可能にするソースコードの修正への参照がGoogleにありますが、CentOS 7マシンではシンプールについて文句を言ったので、この修正がどのバージョンであるかはわかりません含まれています。機能するかどうかもわかりません。
とはいえ、LVをあるプールから別のプールに移動するのはそれほど難しくないはずです。実際のところ、私は別々のVGにある2つのプール間で移動しました(いずれの場合も問題ではありません)。私がやったことは次のとおりです。
LV my_logical_volume、VG first_vgおよびsecond_vg(これらはあなたの場合は同じです)、および宛先my_logical_volume2を呼び出します。インスタンスでLVの名前を変更しました。同じVGに同じ名前の2つのlvを作成できるかどうかはわかりません。たとえそれらが異なるシンプール上にあるとしてもです。あなたはそれを試すことができます。いずれにせよ、移動後はいつでも簡単にlvrenameを実行できます。
順序は次のとおりです。
# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
my_logical_volume first_vg Vwi-a-tz-- 10.74g thinpool0 31.39
thinpool1 second_vg twi-a-tz-- 1.20t 0.29
thinpool0 first_vg twi-a-tz-- 500.89g 86.87
上記の論理ボリュームのLSizeに注意してください。このコマンド:
# lvcreate -V 10.74g -n my_logical_volume2 -T second_vg/thinpool1
...一致する適切な数のLEを作成します。lvsで表示されるサイズとまったく同じサイズを使用してください。lvdisplayを使用して、同じサイズの論理ボリュームを作成したことを確認します。Current LE
行を参照してください(結果のLEカウントが少ない場合、LVを削除してから再作成しますが、サイズ[-Vに続く数]に0.01を追加します):
# lvdisplay first_vg/my_logical_volume
--- Logical volume ---
LV Path /dev/first_vg/my_logical_volume
LV Name my_logical_volume
VG Name first_vg
LV Pool name thinpool0
LV Size 10.74 GiB
Mapped size 31.39%
Current LE 2750
# lvdisplay second_vg/my_logical_volume2
--- Logical volume ---
LV Path /dev/second_vg/my_logical_volume2
LV Name my_logical_volume2
VG Name second_vg
LV Pool name thinpool1
LV Size 10.74 GiB
Mapped size 0.00%
Current LE 2750
したがって、最初のlvから新しく作成したlvにコピーするだけです:
# time dd if=/dev/first_vg/my_logical_volume of=/dev/second_vg/my_logical_volume2 bs=4194304 conv=sparse
conv=sparse
ddでは重要です。そうしないと、すべてのスペースがデスティネーションシンプールにプロビジョニングされ、シンではなくなります:-)。
新しい論理ボリュームが適切であることを確認します。Alles klarr、Herr Kommissar、必要に応じて新しいLVの名前を変更したり、元のLVを削除したりできます(作業する前にバックアップしましたか?)。