since you're striping data across the volumes, it would stand to reason that you have to put each NEW volume in the same location on the RAID as the volume from which the snapshot was created.
I tested your premise, and logical as it may seem, the observation is otherwise.
Let me detail this:
I have the exact same requirement as you do. However, the RAID0 that I am using has only 2 volumes.
I'm using Ubuntu 10 and have 2 EBS devices forming a RAID0 device formatted with XFS.
The raid0 device was creating using the following command:
sudo mdadm --create /dev/md0 --level 0 --metadata=1.1 --raid-devices 2 /dev/sdg /dev/sdh
I've installed MYSQL and a bunch of other software that are configured to use /dev/md0 to store their data files.
Using the same volumes:
Once done, I umount everything, stop the Raid and reassemble it like so:
sudo mdadm --assemble /dev/md0 /dev/sdh /dev/sdg
The thing is that irrespective of the order of /dev/sdg /dev/sgh
, the RAID reconstitutes itself correctly.
Using snapshots:
Post this, I use ec2-consistent-snapshot
to create snapshots of the 2 EBS disks together. I then create volumes from this disk, attach it to a new instance (that has been configured for the software already), reassemble the RAID (I've tried interchanging the order of the EBS volumes too), mount it and I'm ready to go.
Sounds strange, but it works.
One solution is to create new set of volumes from scratch (2GB each) and assemble a new RAID0 configuration in parallel (say, /dev/md1). Copy the files from one raid volume (/dev/md0) to the other (/dev/md1).
Best Answer
This may answer Q2 (from http://aws.amazon.com/ebs/):
In your example after deleting the first snapshot you would not pay anymore for the 1GB in the first overwritten by the second snapshot, and you won't be able to restore the state of the first snapshot.
But it's still quite opaque about how much a set of snapshots costs in terms of S3 usage.