論理ボリュームの "lvextend"コマンドを中断した後にディスクサイズを回復する方法は?

論理ボリュームの "lvextend"コマンドを中断した後にディスクサイズを回復する方法は?

こんにちは。私はLinuxディストリビューションCent OS 6.10を使用しています。このOSバージョンがここで許可されていない場合は、お知らせください。この記事を削除します。ありがとうございます。

次のように論理ボリュームでエラーが発生しているようです。

論理ボリュームサイズ(ボリュームグループ-lv_root)のための/ディレクトリは最初50Gです。

探してみるとスペースが足りませんでした。だから私は追加しました/dev/vdc物理ボリュームボリュームグループボリュームグループ。

それから私は100G延長をしました。ボリュームグループ-lv_root論理ボリュームですが、lvextend -l +100%FREE -r VolGroup-lv_rootコマンドを使用して誤って使用可能なすべてのボリュームグループサイズをLVに拡張しました。

「を押しました。Ctrl+Cコマンドエラー(正しいコマンドである必要がありますlvextend -L +100G -r VolGroup-lv_root)が見つかった後にコマンドを停止し、コマンドを使用してLVサイズの拡張を停止すると、サイズは192Gと表示されますdf -h

df -h:

df-h

ところで、見てみると、数字(192G)が「に表示されたのと同じサイズではありません。fdisk -l「(311.4GB)」PV「(99.51GB)」LSBLK(290G)とLVS(289.99g)コマンド。

fdisk -l: ピスカー-l

pvsとvgs:

PVおよびVGS

lsblk: LSBLK

評価: LVS

vda2 byの合計サイズはpvs99.5で、これは290 + 10 + 39.5 byと等しくないことがわかりますlsblk

起動ディスクをエクスポートしました(開発/vda)、エクスポートしたファイルをqcow2ファイルに転送し、qcow2ファイルをvmdkファイルに転送し、vmdkファイルをVMにインポートし、VMをovfファイルにエクスポートし、ovfファイルを別のVMにインポートします(VM-New )。ただし、VM(VM-new)は機能しません。各ユーザーには独自の論理ボリュームがあるため、アカウントにログインできなくなる可能性があります。

起動エラーメッセージ: ここに画像の説明を入力してください。

押すと問題ありませんか?」Ctrl+Cコマンドの実行が完了する前にディスクを新しい仮想マシンに正常に移行できるようにサイズを変更するにはどうすればよいですか?

答え1

どうやらCtrl-Cを押すとLV拡張ステップが完了し、LV内のファイルシステム拡張が途中で中断されるようです。正確な結果は使用されるファイルシステムの種類によって異なりますが、たとえばファイルext4システムではオンライン拡張が段階的に発生するため、拡張コマンドが中断されると結果は予想どおり完全に拡張されませんが、完全なファイルシステムになります。言葉。

元の容量がlv_root50Gで+100Gに拡張しようとしているため、ファイルシステムの種類が縮小を許可している場合は、次のように簡単にこの問題を解決できます。

lvreduce -L 150G -r VolGroup-lv_root

出力によると、pvsボリュームグループには3つのディスクがありますVolGroup。これは、LVのすべての部分が3つのPVのどこにでも配置できることを意味します。これにより、lvdisplay -m VolGroup-lv_rootルートLVの各部分がどこにあるかを確認できます。利用可能な範囲がある場合は、それを使用してpvmoveLVのその部分を移動できます。

ディスクを新しいVMに複製する場合は、vdaまず複製するすべてのLVがディスクに完全に含まれていることを確認する必要があります(つまり、そのLVの一部がディスク内にあるかディスクvdb1上にないvdc)。pvmoveそうではありません。これにより、少なくともルートファイルシステムが新しいVMで正常にアクティブになる可能性がありますが、元のシステムのLVがvdb1現在vdc新しいVMに欠落しているというエラーが引き続き発生します。これにより、初回起動時に新しいクローンがシングルユーザーモードに移行する可能性が高くなります。

これらのエラーを解決するには、lvremove(おそらく一緒に)を使用して-ff欠落しているLVを削除し、次にを使用してvgreduce --removemissing VolGroupLVMが欠落しているPVを「忘れる」必要があります。また、欠落しているLVへの参照も削除する必要があります/etc/fstab

pvchange -u次に、新しいVMのクローンPVとvgchange -u VolGroup新しいVMのクローンPVを使用して、新しいクローンに固有のLVM UUIDがあることを確認することをお勧めします。複製されたVG(またはそのスナップショット)いいえ元のシステムに戻りますが、そのような落とし穴を残さない方がより安全だと思います。

関連情報