> from what i read now i should have used mdadm --grow.  but i enlarged the
> partitions.  then neither grub nor linux could find the array.  the
> enlarged partitions were fine but the raid1 array had vanished.

I see you generally insist on playing the dangerous game of learning on
"production" setups, as in, you try your experiments on hardware with data
that you care about. "Sad." How about you take my earlier suggestion and create
a bunch of software RAID devices with sparse files and loopback devices and
learn how to play with those before actually trying any of this on live data?

Roughly speaking...

1. use "dd" to create sparse files (files that are of a specific size but
have no data on them); look it up on the interwebz

2. associate each file to a virtual block device (loopback device) with
"losetup" and the like (see man pages)

3. build a sandbox array to play with with "mdadm" like this:
mdadm --create --verbose /dev/md0 --level=mirror \
               --raid-devices=2 /dev/loop0 /dev/loop1 \
               --spare-devices=2 /dev/loop3 /dev/loop4

4. make a file system of this... beast and mount it:
'mkfs.xfs /dev/md0'
'mount /dev/md0 /mnt/tmp'
'echo "A file of CRAP" > /mnt/tmp/dummy_file'

5. try to degrade it and rebuild it:
'mdadm /dev/md0 --fail /dev/loop1'
'mdadm /dev/md0 --remove /dev/loop1'
'mdadm /dev/md0 --add /dev/loop1'
(Look in /var/log/... for logged events.)

6. "grow" the array without touching the filesystem

7. grow the (XFS) filesystem to match the array size

Take notes in the process!