In my testing, I've seen that trying to duplicate zpool disks with dd
often results in a disk that's unreadable. I believe it has something to
do with the block sizes of dd.

In order to make my own slog backups, I just used cat instead. I plugged
the slog SSD into another system (not a necessary step, but easier in my
case), catted the disk to a file, then put the slog SSD back. I imagine
this needs to be done with the zpool in a cleanly-exported state, i
haven't tested it otherwise. I've also tested replacing an SSD with my
method, just cat the file back to the disk. I've tested this method of
replacing a slog, and the zpool is imported on boot, like nothing
happened, even though the physical hardware has changed.

A question I have is, does "zpool replace" now work for slog devices as
of snv_111b?

-Greg

On Fri, 2009-06-05 at 20:57 -0700, Paul B. Henson wrote:
> My research into recovering from a pool whose slog goes MIA while the pool
> is off-line resulted in two possible methods, one requiring prior
> preparation and the other a copy of the zpool.cache including data for the
> failed pool.
> 
> The first method is to simply dump a copy of the slog device right after
> you make it (just dd if=/dev/dsk/<slog> of=slog.dump>). If the device ever
> failed, theoretically you could restore the image onto a replacement (dd
> if=slog.dump of=/dev/dsk/<slog>) and import the pool.
> 
> My initial testing of that method was promising, however that testing was
> performed by intentionally corrupting the slog device, and restoring the
> copy back onto the original device. However, when I tried restoring the
> slog dump onto a different device, that didn't work out so well. zpool
> import recognized the different device as a log device for the pool, but
> still complained there were unknown missing devices and refused to import
> the pool. It looks like the device serial number is stored as part of the
> zfs label, resulting in confusion when that label is restored onto a
> different device. As such, this method is only usable if the underlying
> fault is simply corruption, and the original device is available to restore
> onto.
> 
> The second method is described at:
> 
>       http://opensolaris.org/jive/thread.jspa?messageID=377018
> 
> Unfortunately, the included binary does not run under S10U6, and after half
> an hour or so of trying to get the source code to compile under S10U6 I
> gave up (I found some of the missing header files in the S10U6 grub source
> code package which presumably match the actual data structures in use under
> S10, but there was additional stuff missing which as I started copying it
> out of opensolaris code just started getting messier and messier). Unless
> someone with more zfs-fu than me creates a binary for S10, this approach is
> not going to be viable.
> 
> Unofficially I was told that there is expected to be a fix for this issue
> putback into Nevada around July, but whether or not that might be available
> in U8 wasn't said. So, barring any official release of a fix or unofficial
> availability of a workaround for S10, in the (admittedly unlikely) failure
> mode of a slog device failure on an inactive pool, have good backups :).
> 
> 

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

Reply via email to