LVMグループボリュームで利用可能なディスク容量を100%活用するために、誤ってボリュームを拡張しました。ディスクのみを使用するには必要ですが/dev/sdb
、両方のディスクが同じグループにあるため、両方のディスクの空き容量を占めます。この状況を元に戻す方法はありますか?
[root@server]# pvscan
PV /dev/sda3 VG myvg lvm2 [13.84 GB / 13.84 GB free]
PV /dev/sdb3 VG myvg lvm2 [22.06 GB / 8.22 GB free]
Total: 2 [35.91 GB] / in use: 2 [35.91 GB] / in no VG: 0 [0 ]
[root@server]# lvextend -l +100%FREE /dev/myvg/rootvol
Extending logical volume rootvol to 35.91 GB
Logical volume rootvol successfully resized
[root@server]# pvscan
PV /dev/sda3 VG myvg lvm2 [13.84 GB / 0 free]
PV /dev/sdb3 VG myvg lvm2 [22.06 GB / 0 free]
Total: 2 [35.91 GB] / in use: 2 [35.91 GB] / in no VG: 0 [0 ]
実際に削除する必要があります/dev/sda3
。
これはRHEL 5.9システムにあります。
データ損失を望まない。
修正する:
一時ディスクを使用している場合はほぼ同じサイズのディスクが必要ですが、ボリュームを1つだけpvmoveしている場合は、他のディスクに何もなく、データが破損していないかどうかを確認できますか?
修正する:
大きな新しいディスクとpvmove
/dev/sda3
(新しいディスク)を追加しました/dev/sdb3
。/dev/sdc3
dfがルートボリュームに新しく追加された空き容量を表示し続けるのはなぜですか?
[root@server]# pvscan
PV /dev/sdc3 VG myvg lvm2 [47.06 GB / 11.16 GB free]
PV /dev/sda3 lvm2 [13.85 GB]
PV /dev/sdb3 lvm2 [22.07 GB]
Total: 3 [82.98 GB] / in use: 1 [47.06 GB] / in no VG: 2 [35.92 GB]
[root@server]# lvscan
ACTIVE '/dev/myvg/rootvol' [35.91 GB] inherit
[root@server]# df -kh .
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/myvg-rootvol
14G 12G 1.3G 91% /
答え1
まず、バックアップを作成して動作するかどうかをテストします。データは削除されませんが、スペルエラーはすべての内容を失う可能性があります。
ファイルシステムではなく論理ボリュームだけを拡張したので、論理ボリュームを縮小するだけです。親ファイルシステムのサイズを確認してください/dev/myvg/rootvol
。 ext4ファイルシステムの場合はtune2fs -l /dev/myvg/rootvol
これを知らせます。正しく設定することが重要です。論理ボリュームをファイルシステムのサイズより小さく縮小すると、データが失われます。その後実行
lvreduce -L NNNNNNNk /dev/myvg/rootvol
ここで、NNNNNNNNはファイルシステムのサイズ(kB)です。
今すぐ実行してpvmove
のデータを解放します/dev/sda3
。後で物理ボリュームを削除できます。
pvmove /dev/sda3
vgreduce myvg /dev/sda3
pvremove /dev/sda3
答え2
私はそうでした。いいえFS は VG 範囲全体を満たすようにサイズ変更され、新しい物理ボリュームは空です。次のようにして、ボリュームグループの範囲を簡単に減らすことができます。
lvreduce -l3913721 /dev/myvg/rootvol
vgreduce rootvol /dev/sds
pvremove /dev/sds
ここで、3913721は以前の範囲です。