状態:
私のサーバーには、次のようにLVMに4つの1TBドライブがあります。サーバーは、12個以上のopenvzコンテナを持つopenvzハードウェアノードです。現在、コンテナごとに1つのディスクのみが使用されます。これは、当時のほとんどのディスクIO負荷を制御し、分離したままにするように設計されています。
# pvdisplay -s
Device "/dev/sdd1" has a capacity of 227.51 GiB
Device "/dev/sdc1" has a capacity of 427.51 GiB
Device "/dev/sdb1" has a capacity of 427.51 GiB
Device "/dev/sda2" has a capacity of 407.02 GiB
ATM 各 PV は独自の個別の VG に設定されます。
# vgdisplay -s
"vg04" 931.51 GiB [704.00 GiB used / 227.51 GiB free]
"vg03" 931.51 GiB [504.00 GiB used / 427.51 GiB free]
"vg02" 931.51 GiB [504.00 GiB used / 427.51 GiB free]
"vg01" 931.02 GiB [524.00 GiB used / 407.02 GiB free]
これらのVGの上には多くのLVがあります。
# lvdisplay | grep Name
LV Name /dev/vg04/swap
VG Name vg04
LV Name /dev/vg04/vz
VG Name vg04
LV Name /dev/vg03/swap
VG Name vg03
LV Name /dev/vg03/vz
VG Name vg03
LV Name /dev/vg02/swap
VG Name vg02
LV Name /dev/vg02/vz
VG Name vg02
LV Name /dev/vg01/swap
VG Name vg01
LV Name /dev/vg01/root
VG Name vg01
LV Name /dev/vg01/vz
VG Name vg01
質問:
1つのコンテナが負荷を処理するために2つのディスクに分割する必要があるほど大きくなりました。
基本的に、2つのLV(/dev/vg03/vzと/dev/vg04/vz)を2つのディスクに分散した1つのLVにマージしたいと思います。
どうすればこれを最良に達成できますか? vgmergeはこれを行うことができますか? vgmergeのマンページはやや簡単で、その使用の詳細な説明が見つかりません。
最終的には物を移動して目標を達成することができますが、稼働中のデータが多く、実稼働サーバーなので、可能であればこれを避けようとします。
ベストアンサー1
あなたの質問を正しく読んだら、実際にやりたいことは、2つのLVを別々のVGにマージすることです。これを行うには、あるLVから別のLVにデータを移動する必要があり、LVを直接マージする方法はありません。
だからあなたは一種のダウンタイムを見ています。
以下を実行してこれを制限できます。 LVA - すぐに大きくなる論理ボリューム LVB - すぐに削除される論理ボリューム
- LVBをLVAの位置にrsync(最も時間がかかります)
- **ダウンタイム開始** - リモートアクセスを無効にする
- 最後のrsyncを実行して、LVAのすべてのデータが最新であることを確認してください。
- リアルタイム放送の削除
- LVBがインストールされているかのように、LVAの同期データをその場所に移動します(これはLVAにある必要があるため、mvは単にinode操作であるため、非常に短いです)。
- **ダウンタイム終了** - リモートアクセスが再び有効になりました
- レジャー時にはライブ放送を中止し、VGB VGMergeをVGAに変更してください。
- その後、LVAを拡張できます(ファイルシステムをオンラインで拡張することもできます)。