If the raid array is partitioned, then you can use
gparted to shrink and/or move the filesystems within it until the second half of the disk is unused. If it is not partitioned, then you need to shrink the filesystem with
resize2fs ( assuming it is ext ). Give yourself a little extra room just to be sure. Then you can convert the raid0 into a degraded raid4, which supports reshaping ( raid0 does not, but a degraded raid4 is essentially the same thing as a raid0 ). Then you can reshape the array down to only one disk, and remove the second disk.
resize2fs /dev/md2 2800M # 2 3gb drives, left an extra 200mb of margin
mdadm -G /dev/md2 -l raid4
mdadm -G /dev/md2 -Z 2900M
e2fsck -f /dev/md2 # make sure you didn't break things
mdadm -G /dev/md2 -n 2 --backup=backup
mdadm -D /dev/md2 # watch until it is done reshaping
mdadm -G /dev/md2 -l raid0 # drop the second disk and go back to ( single disk ) raid0
mdadm -G /dev/md2 -Z max
resize2fs /dev/md2 # maximize the fs to use the full disk
In the process of testing this, I found that
resize2fs would not let me shrink the fs to half of its original size even though it was only 33% used. I have submitted a patch to fix this minimum size calculation bug.