Another example why I think Linux is cool.
My discs (a raid-1 set, aka mirroring) was getting full. I added a bigger drive, marked one of the mirror discs as faulty and Linux auto-added the new drive. I did the same trick with another new drive. Next I removed the old drives.
Now I had 2 new drives in a raid-1 set with large partitions but the same old filesystem. First lets resize the raid array….
root@inzicht:~# mdadm --detail /dev/md0
/dev/md0:
Version : 00.90
Creation Time : Wed Jun 27 12:10:49 2007
Raid Level : raid1
Array Size : 309524288 (295.19 GiB 316.95 GB)
Used Dev Size : 309524288 (295.19 GiB 316.95 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Tue Sep 6 13:43:14 2011
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
UUID : b664fe5b:f5c02869:e0e19a8a:9e985100
Events : 0.11364584
Number Major Minor RaidDevice State
0 8 19 0 active sync /dev/sdb3
1 8 3 1 active sync /dev/sda3
root@inzicht:~# mdadm --grow /dev/md0 --size=max
root@inzicht:~# mdadm --detail /dev/md0
/dev/md0:
Version : 00.90
Creation Time : Wed Jun 27 12:10:49 2007
Raid Level : raid1
Array Size : 973595136 (928.49 GiB 996.96 GB)
Used Dev Size : 973595136 (928.49 GiB 996.96 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Tue Sep 6 13:43:23 2011
State : active, resyncing
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Rebuild Status : 31% complete
UUID : b664fe5b:f5c02869:e0e19a8a:9e985100
Events : 0.11364586
Number Major Minor RaidDevice State
0 8 19 0 active sync /dev/sdb3
1 8 3 1 active sync /dev/sda3
root@inzicht:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb3[0] sda3[1]
973595136 blocks [2/2] [UU]
[======>..............] resync = 31.8% (309651456/973595136) finish=2175.1min speed=5086K/sec
unused devices: <none>
root@inzicht:~# xfs_growfs /
meta-data=/dev/md0 isize=256 agcount=16, agsize=4836317 blks
= sectsz=512 attr=0
data = bsize=4096 blocks=77381072, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal bsize=4096 blocks=32768, version=1
= sectsz=512 sunit=0 blks, lazy-count=0
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 77381072 to 243398784
root@inzicht:~#
Now what other non-unix os can beat this?