Making a backup isn't that hard, you could create the tar-files while android is running or get the encrypted images via recovery.
But I don't know a comfortable way to actually restore the backups, especially when they are larger. Splitting up the backups into RAM-sized pieces and puzzling everything back together on the phone is doable, but tedious and error prone. I'll look into getting CWM to expose *all* block devices via USB Mass Storage, so you could just backup/restore using standard tools on the connected PC.
---------- Post added at 10:07 PM ---------- Previous post was at 09:20 PM ----------
I think I got it already. When booted into CWM, use the following command to get access to the entire internal memory (mmc card).
Code:
adb shell "echo /dev/block/mmcblk0 > /sys/devices/platform_mass_storage/lun0/file"
The storage should be detected immediately on the host and can be used to make/restore direct disk images with appropriate tools (I just use linux and dd).
On the Nexus S, this is pretty nice, as it has a separate 1GB /data partition and makes independant backup/restore possible. The
partition layout of the Galaxy Nexus looks like there would be just a single huge 'userdata' partition, that has to be read/written as a whole. Obviously this makes the whole process extremely slow and potentially reduces the lifetime of the flash storage (when restoring a lot). But it allows a complete (as in
every-single-bit) backup and restore and is relatively safe.