web-dev-qa-db-ja.com

パーティションとファイルシステムの基盤となるMDADM /ソフトウェアRAIDのサイズを変更する

ルートパーティションのスペースが不足しているので、別のパーティションから一部を盗もうとしています。ドライブは、mdadmソフトウェアRAIDを備えた2x120GBです。 CentOS 6.564ビットを使用しています。私はcentosインストーラーガイド付きRAIDセットアップを使用しました。ほとんどのHowToは、基盤となるパーティションがないように私を調整しているようです。したがって、他の人は/ dev/md0だけを持っているでしょう。彼らはresize2fs/dev/md0 25G(たとえば、50Gからの削減)を実行してから、mdadmを使用してサイズを変更します。

レイアウトは次のとおりです。

使用されているファイルシステムのサイズ使用率使用率
/dev/md0p5 9.7G 7.1G 2.1G 78%/ 
 tmpfs 16G 0 16G 0%/ dev/shm 
/dev/md0p1 194M 99M 86M 54%/ boot 
/dev/md0p2 68G 7.2G 57G 12%/ var/www 

cat/proc/mdstat:

パーソナリティ:[raid1] 
 md0:アクティブraid1 sdb [1] sda [0] 
 117220736ブロック[2/2] [UU] 
 
未使用のデバイス:

これがfdiskです:

 fdisk -l 
 
ディスク/ dev/sda:120.0 GB、120034123776バイト
 255ヘッド、63セクター/トラック、14593シリンダー
ユニット= 16065のシリンダー* 512 = 8225280バイト
セクターサイズ(論理/物理):512バイト/ 512バイト
 I/Oサイズ(最小/最適):512バイト/ 512バイト
ディスク識別子:0x00035afc 
 
デバイスブート開始終了ブロックIDシステム
/dev/sda1 * 1 26 204800 83 Linux 
パーティション1はシリンダーで終了しません境界。
/dev/sda2 26 8950 71680000 83 Linux 
/dev/sda3 8950 11039 16777216 82Linuxスワップ/Solaris
/dev/sda4 11039 14594 285573125拡張
/dev/sda5 11039 12314 10240000 83 Linux 
 
ディスク/ dev/sdb:120.0 GB、120034123776バイト
 255ヘッド、63セクター/トラック、14593シリンダー
単位= 16065のシリンダー* 512 = 8225280バイト
セクターサイズ(論理/物理):512バイト/ 512バイト
 I/Oサイズ(最小/最適):512バイト/ 512バイト
ディスク識別子:0x00035afc 
 
デバイスブート開始終了ブロックIDシステム
/dev/sdb1 * 1 26 204800 83 Linux 
パーティション1はシリンダー境界で終了しません。
/dev/sdb2 26 8950 71680000 83 Linux 
/dev/sdb3 8950 11039 16777216 82Linuxスワップ/Solaris
/dev/sdb4 11039 14594 285573125拡張
/dev/sdb5 11039 12314 10240000 83 Linux 
 
ディスク/dev/md0:120.0 GB、120034033664バイト
 2ヘッド、4セクター/トラック、29305184シリンダー
ユニット= 8シリンダー* 512 = 4096バイト
セクターサイズ(論理/物理):512バイト/ 512バイト
 I/Oサイズ(最小/最適):512バイト/ 512バイト
ディスク識別子:0x00035afc 
 
デバイスブートスターt End Blocks Id System 
/dev/md0p1 * 257 51456 204800 83 Linux 
パーティション1はシリンダー境界で終了しません。
/dev/md0p2 51457 17971456 71680000 83 Linux 
パーティション2はシリンダー境界で終了しません。
/dev/md0p3 17971457 22165760 16777216 82Linuxスワップ/Solaris
パーティション3はシリンダー境界で終了しません。
/dev/md0p4 22165761 29305088 285573125拡張
パーティション4はシリンダー境界で終了しません。
/dev/md0p5 22166273 24726272 10240000 83 Linux 

では、ルートパーティションを拡大して/ var/wwwパーティションを縮小するにはどうすればよいですか?

3
Justin Edmands

RAIDを単一のディスクであるかのように分割したので、この場合はRAIDを完全に無視できます。したがって、パーティションのサイズ変更/シフトの問題にすぎません。

したがって、たとえば、wwwパーティションを縮小し、スワップを削除してから、ルートパーティションを左にシフトして拡張することができます。

または、それが複雑に見え、厳密に個別のパーティションが必要ない場合は、ルートパーティションをwwwパーティションにマージできます。これは、ルートとwwwの両方を保持するのに十分な大きさであるためです。そういうことをします。

# mount stuff
mkdir /mnt/root /mnt/www
mount /dev/md0p5 /mnt/root
mount /dev/md0p2 /mnt/www

# since /mnt/www will be the new root, move www files to /var/www
mkdir -p /mnt/www/var/www
mv /mnt/www/* /mnt/var/www/

# copy the root files
rsync -avAHSX /mnt/root/. /mnt/www/.

# comment out old root partition in fstab
# change /var/www to / in fstab

# update bootloader and reboot

このアプローチには、問題が発生した場合でも元のルートパーティションがそのまま残っているため、操作を元に戻すことができるという利点もあります。

マージされたroot + wwwパーティションですべてが正常に機能したら、古いルートパーティションを削除して、フルディスクサイズに拡張できます。

または、近い将来wwwに十分な大きさになると思われる場合は、結局は別々のパーティションを使用して、wwwファイルを古いルートパーティションに移動することを決定できます。

または、wwwパーティションを縮小して、新しいパーティション用のスペースを作ることもできます。

無限の可能性...

3
frostschutz