サーバーをセットアップするときに、サーバーを現在の用途に使用することを意図していなかったため、ルート(/)がディスクスペースを使い果たし、/ homeには大量のデータがあふれています。
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 10157944 9600344 45656 100% /
/dev/root 10157944 9600344 45656 100% /
/dev 8183468 8 8183460 1% /dev
none 1636756 252 1636504 1% /run
none 5120 0 5120 0% /run/lock
none 8183772 0 8183772 0% /run/shm
/dev/md3 211225328 17996836 182583336 9% /home
学んだ教訓! (次回はもっと余裕を...)
ディスクとその現在のサイズ、およびRAIDアレイを示すpartedの出力は次のとおりです。
Model: ATA INTEL SSDSA2CW12 (scsi)
Disk /dev/sda: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 2097kB 10.5GB 10.5GB primary ext4 boot, raid
2 10.5GB 11.0GB 535MB primary linux-swap(v1)
3 11.0GB 120GB 109GB primary raid
Model: ATA INTEL SSDSA2CW12 (scsi)
Disk /dev/sdb: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 2097kB 10.5GB 10.5GB primary ext4 raid
2 10.5GB 11.0GB 535MB primary linux-swap(v1)
3 11.0GB 120GB 109GB primary raid
Model: Linux Software RAID Array (md)
Disk /dev/md3: 218GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Number Start End Size File system Flags
1 0.00B 218GB 218GB ext4
Model: Linux Software RAID Array (md)
Disk /dev/md1: 10.5GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Number Start End Size File system Flags
1 0.00B 10.5GB 10.5GB ext4
/ homeパーティションを40GB縮小し、/パーティションを40GB増やします。 Resizeコマンドを使用したとき、Partedは私に言った:
"WARNING: you are attempting to use parted to operate on (resize) a file system.
parted's file system manipulation code is not as robust as what you'll find in
dedicated, file-system-specific packages like e2fsprogs. We recommend
you use parted only to manipulate partition tables, whenever possible.
Support for performing most operations on most types of file systems
will be removed in an upcoming release."
e2fsprogsを調べると、ext2ツールであることがわかります。これは、ディスクがEXT4であると考えると、恐ろしいことになります。
パーティションのサイズを変更する安全な方法はありますか?私は直接アクセスせずにSSHでサーバーから600マイル離れた場所で作業しています。
前もって感謝します
Ext2、ext3、ext4は同じファイルシステムの進化形です。実際、新しい機能がアクティブ化されていないext4ファイルシステムはext3ファイルシステムであり、新しい機能がアクティブ化されていないext3ファイルシステムはext2ファイルシステムです。そのため、ext3とext4に個別のプログラムセットはありません。同じツールセットであるe2fsprogsであり、ext3とext4に対応するために徐々に拡張されています。
resize2fs
( "ext2/ext3/ext4 file system resizer")の制限は、マウントされていない間のみファイルシステムを縮小できることです。したがって、/home
を縮小したい場合は、最初にアンマウントする必要があります。マウントされたファイルシステムを拡大できますが、これは/
にとっては問題になりません。
より大きな問題は、RAID-0アレイのサイズ変更です。 RAIDアレイを管理する1つのツールは、 mdadm
です。私の知る限り、RAID-0アレイのサイズを変更することはできません。
私の知る限り、メンテナンス中に/home
と/
からすべてのデータをコピーする場合を除き、この構成に固執しています。 (/home
からデータのみをコピーし、そのスペースに侵入するより大きなルートパーティションを作成することで逃げることができます。)/home
の現在の内容を格納するために、ディスクの先頭にあるパーティション化されていないスペースを使用できます。これはそれほど難しくありませんが、エラーが発生しやすいです。これは、物理的なアクセスなしで試みることではありません(ルートパーティションをシャッフルしているときにブートローダーを台無しにするのは特に簡単です)。ツールに慣れていないため、ブートCDを挿入するだけで簡単に修正できる小さな間違いを犯す可能性が高くなります。
私の推奨事項は、誰かがそのサーバーに物理的に参加できるようになるまで、/
の大きなチャンクを/home
に移動し、シンボリックリンクを作成することです。
将来的には、md-RAIDのRAID-0を使用せず、代わりにLVMストリッピングを使用することをお勧めします。 LVMボリュームはサイズを変更でき、ストリップされたボリュームも変更できます。 LVMは わずかに遅い ですが、管理が容易です(現在の問題が示しているように)。ミラーリング(RAID-1)およびその他のRAIDモードにはRAIDを使用します。
また、その5%のパフォーマンス向上のためにRAID-0に固執することにした場合、単一のRAID-0アレイがあればもっと簡単だったでしょう。