On 7 août 09, at 02:03, Stephen Green wrote:

I used a 2GB ram disk (the machine has 12GB of RAM) and this jumped the backup up to somewhere between 18-40MB/s, which means that I'm only a couple of hours away from finishing my backup. This is, as far as I can tell, magic (since I started this message nearly 10GB of data have been transferred, when it took from 6am this morning to get to 20GB.)

It transfer speed drops like crazy when the write to disk happens, but it jumps right back up afterwards.

If you want to perhaps reuse the slog later (ram disks are not preserved over reboot) write the slog volume out to disk and dump it back in after restarting.
dd if=/dev/ramdisk/slog of=/root/slog.dd

Now my only question is: what do I do when it's done? If I reboot and the ram disk disappears, will my tank be dead? Or will it just continue without the slog? I realize that I'm probably totally boned if the system crashes, so I'm copying off the stuff that I really care about to another pool (the Mac's already been backed up to a USB drive.)

Have I meddled in the affairs of wizards? Is ZFS subtle and quick to anger?

You have a number of options to preserve the current state of affairs and be able to reboot the OpenSolaris server if required.

The absolute safest bet would be the following, but the resilvering will take a while before you'll be able to shutdown:

create a file of the same size of the ramdisk on the rpool volume
replace the ramdisk slog with the 2G file (zpool replace <poolname> / dev/ramdisk/slog /root/slogtemp)
wait for the resilver/replacement operation to run its course
reboot
create a new ramdisk (same size, as always)
replace the file slog with the newly created ramdisk

If your machine reboots unexpectedly things are a little dicier, but you should still be able to get things back online. If you did a dump of the ramdisk via dd to a file it should contain the correct signature and be recognized by ZFS. Now there will be no guarantees to the state of the data since if there was anything actively used on the ramdisk when it stopped you'll lose data and I'm not sure how the pool will deal with this. But in a pinch, you should be able to either replace the missing ramdisk device with the dd file copy of the ramdisk (make a copy first, just in case) or mount a new ramdisk, and dd the contents of the file back to the device and then import the pool.

Cheers,

Erik
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to