2つの3TBディスク(sdaとsdb)からパーティションsda3とsdb3を割り当てたソフトウェアRAIDが構成されています(/ dev/md2)。パーティションタイプはLVMではなくGPTであり、ファイルシステムはext4です。現在、ルートパーティションは1 TBを使用し、ホームパーティション(RAID/dev/md3のsda4とsdb4)は1.8 TBを使用しています。ルートパーティションのサイズを変更して、250 GBのみを使用し、ホームパーティションに空き領域を割り当てたいと思いました。 md2のルートの場合は250GB、ホームの場合は2.5TBになります。これを行うために、mdadmを使用して配列ボリュームのサイズを変更するとそれが達成されることを読みましたが、問題はmd2デバイスのサイズを変更しただけで、sda3とsdb3の空き領域が使用されておらず、に割り当てる方法がないことです。 sda4とsdb4なので、md3でその余分なスペースを使用できるので、次のようになります。
At the beginning:
/dev/md2 with ext4, mounting / with quota of 1000GB
sda3: 1000GB with ext4 using the full 1000GB
sdb3: 1000GB with ext4 using the full 1000GB
/dev/md3 with ext4, mounting /home with quota of 1800GB
sda4: 1800GB with ext4 using the full 1800GB
sdb4: 1800GB with ext4 using the full 1800GB
I want:
/dev/md2 with ext4, mounting / with quota of 250GB
sda3: 250GB with ext4 using the full 250GB
sdb3: 250GB with ext4 using the full 250GB
/dev/md3 with ext4, mounting /home with quota of 2550GB
sda4: 2550GB with ext4 using the full 2550GB
sdb4: 2550GB with ext4 using the full 2550GB
And ended up with:
/dev/md2 with ext4, mounting / with quota of 250GB
sda3: 1000GB with ext4 using only 250GB
sdb3: 1000GB with ext4 using only 250GB
/dev/md3 with ext4, mounting /home with quota of 1800GB
sda4: 1800GB with ext4 using the full 1800GB
sdb4: 1800GB with ext4 using the full 1800GB
これを達成するために、私はこのWebサイトの指示に従いました: http://www.howtoforge.com/how-to-resize-raid-partitions-shrink-and-grow-software-raid
そこで、レスキューモードで再起動し、rootとして次のコマンドを実行しました。
#configure everything to edit the raid devices
modprobe linear
modprobe multipath
modprobe raid0
modprobe raid1
modprobe raid5
modprobe raid6
modprobe raid10
cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig
mdadm --examine --scan >> /etc/mdadm/mdadm.conf
mdadm -A --scan
### Shrink md2 from 1000GB to 250GB
#check the raid disk
e2fsck -f /dev/md2
#resize the file system from 1000GB to 245GB to leave room for the partition to shrink without issues
resize2fs /dev/md2 245G
#resize the partition from 1000GB to 250GB
mdadm --grow /dev/md2 --size=262144000
#resize the file system to fit the whole 250GB
resize2fs /dev/md2
#do a disk check again
e2fsck -f /dev/md2
### Grow md3 to include md2 750GB free space
#grow md3 to the max free space
mdadm --grow /dev/md3 --size=max
#run a disk check
e2fsck -f /dev/md3
#resize the file system
resize2fs /dev/md3
#check the file system again
e2fsck -f /dev/md3
しかし、実際にサイズ変更を行うには、失敗してRAIDデバイスからパーティションを削除し、各ディスクを再パーティション化し、RAIDデバイスに追加して同期する必要があることがわかりました。
だから私はこのウェブサイトからの指示を試しました: http://www.zedt.eu/tech/linux/resize-grow-mdadm-raid1-device/
また、このserverfaultの回答から試してみました: 2つのRAID-1パーティションのサイズを変更する方法は?
私はそれをすべてやってみましたが、partedでサイズを変更しましたが、partedはパーティションのファイルシステムを認識しないというエラーを送信します。partedがext4をサポートしていない他の場所を読みましたが、サポートしていません。注意してください、私はすでにresize2fsを使用してファイルシステムのサイズを変更したので、私がする必要があるのはパーティションのサイズを変更することだけです。また、一部のサンプルでは、ファイルシステムの種類などを印刷するために分割された印刷出力が表示されますが、私のものを印刷すると、その情報はまったく取得されません。
Number Start End Size File system Name Flags
5 1049kB 2097kB 1049kB bios_grub
1 2097kB 12.9GB 12.9GB raid
2 12.9GB 13.4GB 537MB raid
3 13.4GB 1113GB 1100GB raid
4 1113GB 3001GB 1888GB raid
ご覧のとおり、ファイルシステムや名前に関する情報が得られず、パーティション3(sda3とsdb3)のサイズを変更しようとするとエラーが発生します。同様に、パーティション4を拡張して空き領域に対応することもできません。
誰かがディスクのサイズを変更して、レイドデバイスがスペース全体を占有できるようにする方法を教えてもらえますか?
ありがとう!
このアプローチを使用すると、良い結果が得られました。
http://www.howtoforge.com/how-to-resize-raid-partitions-shrink-and-grow-software-raid
よろしく