web-dev-qa-db-ja.com

データを失わずにRed HatでLVMパーティションのサイズを変更するにはどうすればよいですか?

私のパーティションの詳細は次のとおりです

/dev/mapper/VolGroup00-LogVol00
                       57G  8.8G   46G  17% /
/dev/mapper/VolGroup00-LogVol05
                      259G  7.0G  239G   3% /home
/dev/mapper/VolGroup00-LogVol02
                       19G  493M   18G   3% /var
/dev/mapper/VolGroup00-LogVol03
                       19G  458M   18G   3% /tmp
/dev/mapper/VolGroup00-LogVol04
                      9.5G  152M  8.9G   2% /opt
/dev/sda1             965M   33M  883M   4% /boot
tmpfs                 7.7G  3.7G  4.0G  48% /dev/shm

/とホームのデータを失うことなく、/ホームパーティションのサイズを小さくすることで、/のサイズを増やしたいです。

誰かがこの問題を解決するのを手伝ってくれる?

5
Charly
  • ライブディストリビューションで起動(LVM対応)
  • lVMパーティションをマウントしないでください
  • fsck LogVol00およびLogVol05(この手順の2倍)
  • lvreduce -L-xG/dev/VolGroup00/LogVol05
  • resize2fs -p/dev/VolGroup00/LogVol05

/ dev/mapper/VolGroup00-LogVol00についても、lvreduceの代わりにlvextendを使用して同じことを行います

5
Vish

私はvishaalの2番目の答えですが、彼はいくつかのステップを省略しました。また、Linuxレスキューでこれを行うことができるという事実

  1. Linuxレスキューを起動します。
  2. 取り付けをスキップ
  3. lvm vgchange -a yを実行します(レスキューモードでは、コマンドの前にlvmを付けます)
  4. ls/dev/VolGroup00 /でOSによる可視性を確認します
  5. 残りは説明したvishaalによく似ていますが、e2fsckを-fで強制的に実行する必要があります:e2fsck -f/dev/VolGroup00/LogVol ..

  6. 重要なのは、ボリュームを減らす前にファイルシステムのサイズを変更することです。

  7. resize2fs -f/dev/VolGroup00/LogVol .. 40G(サイズを正確に40Gにしたい場合)
  8. lvm lvreduce -L40G/dev/VolGroup00/LogVol ..(この場合も、サイズを正確に40Gにして、40Gずつ削減しない場合)

鉱山は、vishaalがすでに提供しているアドバイスへの単なる追加です。

1
bobbyrcox

VishaalとBobby Coxによって与えられたプロセスのマイナーな調整:

  • resize2fs/home LVを実際に望むよりも少し小さくします
  • lvm lvreduce本当に必要なサイズに
  • resize2fs LVを満たすためにバックアップします(サイズを指定しないことにより)

これは、2つのコマンドが明示的なサイズを異なる方法で解釈するオフチャンスに安全マージンを残します(私はlvmコマンドが整数のエクステントに丸めることを知っています;デフォルトのエクステントサイズはどのように決定されるのですか?確かに、本当に気にしないでください)。

LVのサイズを増やす場合、手順はやや簡単です。

  • lvm lvextend必要なサイズに
  • resize2fs埋める
0
mlp

これを行うために再起動するのはhaveではありません。ただし、手元に新しいバックアップがあることを確認してください。

  • すべてのユーザーセッションを閉じます。
  • Rootとしてログインします。最初にユーザーとしてログインする必要がある場合は、「exec su-」または「exec Sudo -i」を使用して、ユーザーがログインしたままにならず、クリーンなアンマウントを防止します。
  • 「lsof -n | grep/home」を使用して/ homeがまだ使用されているかどうかを確認します。実行するプロセスを終了する
  • umount/home
  • 必要な新しいサイズをバイト単位で計算し、LVMエクステントサイズの倍数にします。$ newsizeとしましょう
  • fsck/dev/mapper/VolGroup00-LogVol05
  • resize2fs -P/dev/mapper/VolGroup00-LogVol05 $ newsize
  • lvreduce -L $ newsze/dev/mapper/VolGroup00-LogVol05
  • / homeをマウント

もちろん、これはext [234]を使用することを前提としています。

0
niXar

繰り返したい:

縮小するときは、FSのサイズを最初に変更してから、LVMのサイズを変更します。拡張するときは、最初にLVMのサイズを変更してから、FSのサイズを変更します。

縮小するときは、ボリュームをアンマウントする必要があります。拡張するとき、Linuxカーネルに応じて、システムがマウントされているときにオンラインで実行できます

縮小するときは、バックアップを作成することが重要です。拡張するときは、バックアップを作成する(そうでない場合は)非常に非常に良いアイデアですが、縮小するときほど危険ではありません。

それ以外は、誰もがスポットを当てています

0
ben