Thanks Adam.
Option 1 looks doable.
--
John Lange
OpenIT ltd. www.Open-IT.ca (204) 885 0872
VoIP, Web services, Linux Consulting, Server Co-Location
On Thu, 2006-05-04 at 02:23 -0500, Adam Thompson wrote:
> It's fairly easy, but tricky the first time you do it. You must have a
> fairly recent 2.6 kernel and fairly recent raid tools (mdadm, anyway).
>
> I would suggest doing a reboot first, and bring the system back up in
> single-user mode, BUT this can theoretically be done on a live system.
> YMMV.
>
> # remove secondary mirror from array
> mdadm --manage /dev/md0 --fail /dev/hdb1 --remove /dev/hdb1
> # resize the partition
> fdisk /dev/hdb
> * change hdb1 to be bigger
> # re-add the partition. MD will automatically use only as much size
> as /dev/hda1 at this time
> mdadm --manage /dev/md0 --add /dev/hdb1
> * wait for re-sync (watch /proc/mdstat)
> # remove primary mirror from array
> mdadm --manage /dev/md0 --fail /dev/hda1 --remove /dev/hda1
> # resize the partition
> fdisk /dev/hda
> * change hda1 to be bigger
> # re-add the partition. MD will still only use as much size as the
> original array
> mdadm --manage /dev/md0 --add /dev/hda1
> * wait for re-sync (watch /proc/mdstat)
> # NOW we can tell MD to expand the RAID set to fill the underlying
> block device (hda1/hdb1)
> mdadm --grow /dev/md0
> * wait for re-sync (watch /proc/mdstat)
> # and now that we have a bigger block device underlying the
> filesystem, we can resize the filesystem itself
> resize2fs -p /dev/md0
>
>
> If you can't do that for whatever reason, see the following complicated
> set of steps.
>
> Definitely do-able, but scary. Well, sorta.
> Make sure you have a good backup first. Read the mdadm(8) manpage
> carefully. Now read it again, you didn't grasp it all the first time -
> no-one can.
>
> Assuming you're starting out with md0 (root, including boot) as a RAID-1
> set across /dev/hda1 and /dev/hdb1:
>
> 1. Hot remove hda1 from md0.
> 2. Delete hda1.
> 3. Re-create hda1, filling the entire disk. (Make sure it isn't bigger
> than hdb1 will be in step 11.)
> 4. Create md1 as RAID-1 across hda1 and a "missing" device.
> 5. Create new filesystem on md1.
> 6. Mount md1 to /mnt.
> 7. Transfer all files:
> cd /
> init S
> dump -0 / | ( cd /mnt ; restore - )
> ** or use tar(1), or cpio(1) or whatever works for your
> filesystem type **
> grub-install /dev/md1
> ** see my previous post about getting GRUB installed on the
> non-currently-booted disk
> (
http://www.muug.mb.ca/pipermail/roundtable/2006-April/001086.html) **
> umount /dev/md1
> 8. Reboot (hopefully onto md1 AKA hda1)
> 9. Stop mdX (whatever hdb1 came up as... likely md0 and md1 got swapped
> around during the reboot, but check carefully!)
> 10. Delete hdb1.
> 11. Re-create hdb1, filling the entire disk.
> 12. Hot add hdb1 to md0
> 13. Wait for md-sync to finish (check via /proc/mdstat)
>
> Step 8 is the most problematic - it might be a good idea to have a GRUB
> boot floppy with a local copy of the grub.conf on the floppy... and a
> printout of your grub.conf. If you can boot off floppy but not off
> hda1, you can at least try to correct the problem. If you can't boot at
> all, well...
>
> Good luck!
> -Adam
>
>
> John Lange wrote:
> > I have a system built on a Linux raid 1 using ext3.
> >
> > When the system was created there was a large amount of space left
> > available on both of the raid 1 disks for future expansion of a
> > partition as required.
> >
> > I know expanding the file system using LVM is relatively trivial but
> > this system was not built using LVM.
> >
> > Is it possible to expand the partitions, expand the RAID 1 to fill the
> > partitions, and then expand the ext3 file system on the RAID1?
> >
> >
>
> _______________________________________________
> Roundtable mailing list
> Roundtable@muug.mb.ca
>
http://www.muug.mb.ca/mailman/listinfo/roundtable
>