On Wed Sep 17, 2014 at 09:59:00am -0500, Michael Muratet wrote: > > On Sep 10, 2014, at 7:27 PM, NeilBrown wrote: > > > On Wed, 10 Sep 2014 11:15:24 -0500 Michael Muratet <muratetm@xxxxxxxxx> wrote: > > > >> I have a two-disk RAID0 system that is working splendidly, thanks > >> to the list for the help. > >> > >> I managed to get my hands on more identical disks and since I have > >> the disks and because I'm adding precious data, I'd like to add two > >> more disks and grow to RAID5. > >> > >> I have partitioned the two new drives to type 'fd', /dev/sde and /dev/sdf > >> > >> I believe the command to accomplish the change is this: > >> > >> mdadm /dev/md0 --grow --level=5 --add /dev/sde /dev/sdf > >> > >> Following the old adage "measure twice, cut once", is this syntax > >> correct? Is there any danger of data loss in such a conversion? > > > > I recommend creating a few loop-back devices and experimenting. > > i.e.: > > create some 100M files. > > use "losetup" to turn them into block devices. > > create an 2-device raid0 > > try converting it as you suggest. > > > > You find it doesn't do quite what you expected, but should be easy to fix. > > In case anyone wants to do a similar thing... > > As predicted, it did not do as I expected. I have another identical > server and disks and so I did the experiment there. > > 980 sudo fdisk /dev/sdc > 981 sudo fdisk /dev/sdd > 982 sudo fdisk /dev/sde > 983 sudo fdisk /dev/sdf > 988 sudo partprobe /dev/sdc > 989 sudo partprobe /dev/sdd > 990 sudo partprobe /dev/sde > 991 sudo partprobe /dev/sdf > 995 sudo mdadm --create /dev/md0 --level=0 --raid-disk=2 /dev/sdc1 /dev/sdd1 > 996 sudo mkfs -t ext3 /dev/md0 > 997 sudo mount -t ext3 /dev/md0 /db > > Same RAID0 system I created before. Now to grow > > 1004 sudo mdadm /dev/md0 --grow --level=5 --add /dev/sde1 /dev/sdf1 > > Makes a RAID5 system, but sde1 was added as a spare > > 1022 sudo mdadm --grow /dev/md0 --raid-devices=4 > You should be able to combine the above into a single command (it worked for me on loopback devices anyway): sudo mdadm --grow /dev/md0 --level=5 --raid-devices=4 \ --add /dev/sde1 /dev/sdf1 > It's now a four disk RAID, but smaller than expected. It spread the > original space over four drives, which I think is the documented > behavior. > As md has no knowledge of the filesystem or how to change the size of it, then all it can do it redistribute the original data over the additional disks. The md device size should have increased though, even if the filesystem size hadn't. > 1040 sudo umount /dev/md0 > 1045 sudo e2fsck -f /dev/md0 > 1046 sudo resize2fs -p /dev/md0 > 1048 sudo mount -t ext3 /dev/md0 /db > 1049 df -h > > /dev/md0 2.7T 202M 2.6T 1% /db > > which is what I wanted. I can't take my original system offline now, > but when I can I will apply the same steps. > You shouldn't need to take it offline - resize2fs works perfectly well online. Cheers, Robin -- ___ ( ' } | Robin Hill <robin@xxxxxxxxxxxxxxx> | / / ) | Little Jim says .... | // !! | "He fallen in de water !!" |
Attachment:
signature.asc
Description: Digital signature