ルートの十分なスペースを解放するか、パーティションのサイズを変更するにはどうすればよいですか?


5

私は、長年Ubuntuを使用してきましたが、内部でLinuxを探索するためにめったに時間をかけたことがないと言い始めます。私は自分のニーズのほとんどをGUIツールに依存することに満足しており、適切なGUIツールが見つからない場合にのみ端末に頼っていました。

数週間前にZentyal(ebox)ディストリビューションのデフォルトのインストールを行い、学校用のメールサーバーをセットアップしました。残念ながら、デフォルトのファイルシステム構成では3つのパーティションしか割り当てられませんでした。

  • /-6 GB
  • スワップ-4 GB
  • / home-96 GB

数週間だけ稼働した後、ルートパーティションがいっぱいになり、サーバーが完全に機能しなくなりました。したがって、ルートパーティションのサイズを変更するか、領域を解放する方法を見つける必要があります。

スペースホグが/varであり、ファイルシステムがlvmを使用してセットアップされており、//homeの両方が同じボリュームグループにあることがわかりました。ライブCDから起動して、/homeを縮小して/を拡大しようとしました。GUIツールの方が使いやすいので、system-config-lvmを使用しました。奇妙なことに、ライブCDからは、/homeパーティション(またはボリュームなど)がファイルシステムがない と表示されていました。通常ログインすると、実際にはext4を使用していることがわかります。

このサーバーはvmwareゲストとして実行されているので、スナップショットを作成して先に進み、サイズ変更を試みました。すべてがエラーなしでサイズ変更されているように見えましたが、再起動後、/homeをマウントできなくなったという通知を受けました。/homeフォルダーを必要とする唯一のアカウントはサーバー管理者(私)ですが、ZentyalのWebインターフェイスにアクセスできず、サーバーがメールを受信しなかったため、Zentyalはそれを何かに使用する必要があるようです。

それで、撮ったスナップショットに戻り、ここに座っています。以前よりもこの問題の解決に近づきませんでした。

ご協力いただければ幸いです。

7

Since you went back to the previous Snapshot you could boot from a LIVE CD that supports LVM Partitions (Like SYSTEM RESCUE CD ) maybe read a little just to start on working with LVM Partitions. Anyway the normal steps there are after booting from the live cd (This are going to be several command lines not gui bases):

  1. Do NOT mount any of the LVM (Obvious reasons. you are going to resize it so do not mounted yet.)
  2. Do a fsck to the partition you want to change. Just in case.
  3. First do e2fsck -f PARTITION
  4. Since we want to remove space from /home and give it to root we do:
    4.1. Do resize2fs PARTITION SIZE or resize2fs -f PARTITION SIZE to the HOME partition before you use lvreduce on it. Remember that you MUST have enough space free for the final size after the resize is made. Do a resize2fs -p on the new home partition size just to make sure it has the correct block size.
    4.2 Use lvextend on the ROOT partition and then do resize2fs PARTITION SIZE or resize2fs -f PARTITION SIZE on it. And do again a resize2fs -p on it to make sure it has the correct block size.

NOTE - After doing lvreduce or lvextend to each partition you need to do e2fsck -fn to force a check on the partition for consistency (It will read-only the partition and check if even if it is clean)

An example for the lvm tools:

lvreduce -L -35G "Home Partition" - Home Partition will have 35GB less.
lvextend -L +35G "Root Partition" - Root Partition will have 35GB more.

Hope this helps in figuring out how to do it and with the snapshots am guessing you will.

UPDATE - After doing a curious search found another user from Red Hat, similar problem: https://serverfault.com/questions/13666/how-can-i-resize-a-lvm-partition-in-red-hat-without-lose-of-data

UPDATE2 - Added what psusi says in the comments since THAT is the correct way and i need to drink coffee before reading/writing something.

UPDATE3 - Thank psusi below for the several corrections.

NOTE - This is for partitions made with ext2/3/4 and am guessing blocks that are not 1K/2K since i read somewhere that it did not work for them (Not tested since i have 512 Bytes)


0

try to use following steps:-

1_sudo apt-get install gparted

  1. then simply go to system-administration- system partition

then do as per need and with gui