Ubuntu 11.04(カーネル2.6.38-11)を実行しています。 2x160GBを2x500GBドライブに交換しました。それらはRAID1として構成されます。
パーティションテーブルは適切なサイズを示します。これがsfdiskです:
# sfdisk -d /dev/sdb
# partition table of /dev/sdb
unit: sectors
/dev/sdb1 : start= 63, size= 192717, Id=fd, bootable
/dev/sdb2 : start= 192780, size= 7807590, Id=fd
/dev/sdb3 : start= 8000370, size=968767695, Id=fd
/dev/sdb4 : start= 0, size= 0, Id= 0
そしてfdisk:
# fdisk -l /dev/sdb
Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0006c78f
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 12 96358+ fd Linux raid autodetect
/dev/sdb2 13 498 3903795 fd Linux raid autodetect
/dev/sdb3 499 60801 484383847+ fd Linux raid autodetect
しかし、私は新しいスペースを見ていません。
root@green:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/md2 143G 134G 8.3G 95% /
root@green:~# mdadm --examine /dev/sdb3
/dev/sdb3:
Magic : a92b4efc
Version : 0.90.00
UUID : b8f83980:f60d820c:74c46fbf:0baa68bc
Creation Time : Sun Mar 29 18:48:46 2009
Raid Level : raid1
Used Dev Size : 152247936 (145.19 GiB 155.90 GB)
Array Size : 152247936 (145.19 GiB 155.90 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 2
Update Time : Mon Oct 10 19:22:36 2011
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Checksum : 7b5debb7 - correct
Events : 10729526
Number Major Minor RaidDevice State
this 0 8 19 0 active sync /dev/sdb3
0 0 8 19 0 active sync /dev/sdb3
1 1 8 3 1 active sync /dev/sda3
私はmdadmとresize2fsを試しました:
# mdadm --grow /dev/md2 --size=max
mdadm: component size of /dev/md2 has been set to 152247936K
# resize2fs /dev/md2
resize2fs 1.41.14 (22-Dec-2010)
The filesystem is already 38061984 blocks long. Nothing to do!
何か案は?
リクエストごとに追加
# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md2 : active raid1 sdb3[0] sda3[1]
152247936 blocks [2/2] [UU]
md0 : active raid1 sdb1[0] sda1[1]
96256 blocks [2/2] [UU]
md1 : active raid1 sdb2[0] sda2[1]
3903680 blocks [2/2] [UU]
unused devices: <none>
パーティション
# cat /proc/partitions
major minor #blocks name
8 0 488386584 sda
8 1 96358 sda1
8 2 3903795 sda2
8 3 152248005 sda3
8 16 488386584 sdb
8 17 96358 sdb1
8 18 3903795 sdb2
8 19 152248005 sdb3
9 1 3903680 md1
9 0 96256 md0
9 2 152247936 md2
別れ:
# parted
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print all
Model: ATA WDC WD5000AAKX-0 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32.3kB 98.7MB 98.7MB primary ext3 boot, raid
2 98.7MB 4096MB 3997MB primary linux-swap(v1) raid
3 4096MB 500GB 496GB primary ext3 raid
Model: ATA WDC WD5000AAKS-4 (scsi)
Disk /dev/sdb: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32.3kB 98.7MB 98.7MB primary ext3 boot, raid
2 98.7MB 4096MB 3997MB primary linux-swap(v1) raid
3 4096MB 500GB 496GB primary ext3 raid
Model: Linux Software RAID Array (md)
Disk /dev/md1: 3997MB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Number Start End Size File system Flags
1 0.00B 3997MB 3997MB linux-swap(v1)
Model: Linux Software RAID Array (md)
Disk /dev/md0: 98.6MB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Number Start End Size File system Flags
1 0.00B 98.6MB 98.6MB ext3
Model: Linux Software RAID Array (md)
Disk /dev/md2: 156GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Number Start End Size File system Flags
1 0.00B 156GB 156GB ext3
メールでコメント:
問題はメタデータにあります。パラメーター--update devicesizeでraid配列をアセンブルする必要があるだけです
そしてその後-G/dev/md? -z maxは仕事をします:)
使うだけ
mdadm --grow --size max /dev/md2
その後、使用できるようになります
resize2fs /dev/md2
ファイルシステムにRAIDサイズを一致させる。これらはすべて、md2をアンマウントすることなくオンラインで実行されます。
私は定期的にmdadmを使用しており、これを最も危険なLinuxユーティリティの1つと見なしています。ただし、正しい安全対策を講じれば、潜在的なデータ損失のほとんどのケースを回避できますすべてのデータをバックアップ !!!私は過去にmdadmで2回噛まれて、700GB以上のデータを失いましたが、回復できたのはごくわずかであり、警告されました。
Mdadmはドライブのサイズが突然増加することを予期または補償しないため、RAIDアレイを再度作成する必要がある可能性が非常に高くなります。ドライブ自体ではなく、raidスーパーブロックに記載されているサイズを使用します。ドライブがすでに同期されていれば、多くの問題は発生しないはずです。
起動したい場合は、スーパーブロックバージョン0.9を使用してください。
編集
これは私がそれを行う方法ですnested!
データのコピーがある別のドライブがまだある間にデータが残っていることをすばやくテストできるように、ダイビングが欠落しているRAID1を作成します。古いメタデータは0.90だったので、ここでは同じバージョンを維持します。
mdadm --create /dev/md2 --level=mirror --metadata=0.90 --raid-devices=2 missing /dev/sdb3
マウントして、すべてが機能することをテストします
mkdir /mnt/test
mount /dev/md2 /mnt/test
データを確認する
ls -l /mnt/test
すべて問題なければ、ドライブをアンマウントしてサイズを変更します。
unmount /mnt/md2
resize2fs /dev/md2
問題がなければ、他のドライブをアレイに追加できます。
mdadm --add /dev/md2 /dev/sdb3
ドライブが再同期するのを待ちます
猫/ proc/mdstat
/ proc/partitionsを見ると、linuxがsdaとsdbが小さいと考えていることは明らかです。
パーティションのサイズを合計する
8 17 96358 sdb1
8 18 3903795 sdb2
8 19 152248005 sdb3
ディスクのサイズよりもはるかに小さい数値が表示されます。
8 16 488386584 sdb
1024バイトの152248005ブロックは、mdadm --grow
およびresize2fs
がmd2について報告しているサイズと一致しています。
最初にこれらのパーティションを小さいサイズで作成してから、後で再作成して残りのディスクを利用しましたか?その場合、再起動すると、カーネルはパーティションテーブルを再度読み取ることができます。その後、RAIDデバイスの拡張とファイルシステムのサイズ変更が機能するはずです。