Hmmm - this is an annoying one. I''m currently running an OpenSolaris install (2008.11 upgraded to 2009.06) : SunOS shemhazai 5.11 snv_111b i86pc i386 i86pc Solaris with a zpool made up of one radiz vdev and a small ramdisk based zil. I usually swap out the zil for a file-based copy when I need to reboot (zpool replace /dev/ramdisk/slog /root/slog.tmp) but this time I had a brain fart and forgot to. The server came back up and I could sort of work on the zpool but it was complaining so I did my replace command and it happily resilvered. Then I restarted one more time in order to test bringing everything up cleanly and this time it can''t find the file based zil. I try importing and it comes back with: zpool import pool: siovale id: 13808783103733022257 state: UNAVAIL status: One or more devices are missing from the system. action: The pool cannot be imported. Attach the missing devices and try again. see: http://www.sun.com/msg/ZFS-8000-6X config: siovale UNAVAIL missing device raidz1 ONLINE c8d0 ONLINE c9d0 ONLINE c10d0 ONLINE c11d0 ONLINE Additional devices are known to be part of this pool, though their exact configuration cannot be determined. Now the file still exists so I don''t know why it can''t seem to find it and I thought the missing zil issue was corrected in this version (or did I miss something?). I''ve looked around for solutions to bring it back online and ran across this method: <http://www.mail-archive.com/zfs-discuss at opensolaris.org/msg16545.html> but before I jump in on this one I was hoping there was a newer, cleaner approach that I missed somehow. Ideas appreciated... Erik
Do you have a backup copy of your zpool.cache file? If you have that file, ZFS will happily mount a pool on boot without its slog device - it''ll just flag the slog as faulted and you can do your normal replace. I used that for a long while on a test server with a ramdisk slog - and I never needed to swap it to a file based slog. However without a backup of that file to make zfs load the pool on boot I don''t believe there is any way to import that pool. -- This message posted from opensolaris.org
I believe this is relevant: http://github.com/pjjw/logfix Saved my array last year, looks maintained. On 27/09/2009, at 4:49 AM, Erik Ableson wrote:> Hmmm - this is an annoying one. > > I''m currently running an OpenSolaris install (2008.11 upgraded to > 2009.06) : > SunOS shemhazai 5.11 snv_111b i86pc i386 i86pc Solaris > > with a zpool made up of one radiz vdev and a small ramdisk based > zil. I usually swap out the zil for a file-based copy when I need > to reboot (zpool replace /dev/ramdisk/slog /root/slog.tmp) but this > time I had a brain fart and forgot to. > > The server came back up and I could sort of work on the zpool but it > was complaining so I did my replace command and it happily > resilvered. Then I restarted one more time in order to test > bringing everything up cleanly and this time it can''t find the file > based zil. > > I try importing and it comes back with: > zpool import > pool: siovale > id: 13808783103733022257 > state: UNAVAIL > status: One or more devices are missing from the system. > action: The pool cannot be imported. Attach the missing > devices and try again. > see: http://www.sun.com/msg/ZFS-8000-6X > config: > > siovale UNAVAIL missing device > raidz1 ONLINE > c8d0 ONLINE > c9d0 ONLINE > c10d0 ONLINE > c11d0 ONLINE > > Additional devices are known to be part of this pool, though > their > exact configuration cannot be determined. > > Now the file still exists so I don''t know why it can''t seem to find > it and I thought the missing zil issue was corrected in this version > (or did I miss something?). > > I''ve looked around for solutions to bring it back online and ran > across this method: <http://www.mail-archive.com/zfs-discuss at opensolaris.org/msg16545.html > > but before I jump in on this one I was hoping there was a newer, > cleaner approach that I missed somehow. > > Ideas appreciated... > > Erik > > _______________________________________________ > zfs-discuss mailing list > zfs-discuss at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
Hmmm - I''ve got a fairly old copy of the zpool cache file (circa July), but nothing structural has changed in pool since that date. What other data is held in that file? There have been some filesystem changes, but nothing critical is in the newer filesystems. Any particular procedure required for swapping out the zpool.cache file? Erik On Sunday, 27 September, 2009, at 12:28AM, "Ross" <myxiplx at googlemail.com> wrote:>Do you have a backup copy of your zpool.cache file? > >If you have that file, ZFS will happily mount a pool on boot without its slog device - it''ll just flag the slog as faulted and you can do your normal replace. I used that for a long while on a test server with a ramdisk slog - and I never needed to swap it to a file based slog. > >However without a backup of that file to make zfs load the pool on boot I don''t believe there is any way to import that pool.
Good link - thanks. I''m looking at the details for that one and learning a little zdb at the same time. I''ve got a situation perhaps a little different in that I _do_ have a current copy of the slog in a file with what appears to be current data. However, I don''t see how to attach the slog file to an offline zpool - I have both a dd backup of the ramdisk slog from midnight as well as the current file based slog : zdb -l /root/slog.tmp version=14 name=''siovale'' state=1 txg=4499446 pool_guid=13808783103733022257 hostid=4834000 hostname=''shemhazai'' top_guid=6374488381605474740 guid=6374488381605474740 is_log=1 vdev_tree type=''file'' id=1 guid=6374488381605474740 path=''/root/slog.tmp'' metaslab_array=230 metaslab_shift=21 ashift=9 asize=938999808 is_log=1 DTL=51 Is there any way that I can attach this slog to the zpool while it''s offline? Erik On 27 sept. 2009, at 02:23, David Turnbull <dsturnbull at gmail.com> wrote:> I believe this is relevant: http://github.com/pjjw/logfix > Saved my array last year, looks maintained. > > On 27/09/2009, at 4:49 AM, Erik Ableson wrote: > >> Hmmm - this is an annoying one. >> >> I''m currently running an OpenSolaris install (2008.11 upgraded to >> 2009.06) : >> SunOS shemhazai 5.11 snv_111b i86pc i386 i86pc Solaris >> >> with a zpool made up of one radiz vdev and a small ramdisk based >> zil. I usually swap out the zil for a file-based copy when I need >> to reboot (zpool replace /dev/ramdisk/slog /root/slog.tmp) but this >> time I had a brain fart and forgot to. >> >> The server came back up and I could sort of work on the zpool but >> it was complaining so I did my replace command and it happily >> resilvered. Then I restarted one more time in order to test >> bringing everything up cleanly and this time it can''t find the file >> based zil. >> >> I try importing and it comes back with: >> zpool import >> pool: siovale >> id: 13808783103733022257 >> state: UNAVAIL >> status: One or more devices are missing from the system. >> action: The pool cannot be imported. Attach the missing >> devices and try again. >> see: http://www.sun.com/msg/ZFS-8000-6X >> config: >> >> siovale UNAVAIL missing device >> raidz1 ONLINE >> c8d0 ONLINE >> c9d0 ONLINE >> c10d0 ONLINE >> c11d0 ONLINE >> >> Additional devices are known to be part of this pool, though >> their >> exact configuration cannot be determined. >> >> Now the file still exists so I don''t know why it can''t seem to find >> it and I thought the missing zil issue was corrected in this >> version (or did I miss something?). >> >> I''ve looked around for solutions to bring it back online and ran >> across this method: <http://www.mail-archive.com/zfs-discuss at opensolaris.org/msg16545.html >> > but before I jump in on this one I was hoping there was a newer, >> cleaner approach that I missed somehow. >> >> Ideas appreciated... >> >> Erik >> >> _______________________________________________ >> zfs-discuss mailing list >> zfs-discuss at opensolaris.org >> http://mail.opensolaris.org/mailman/listinfo/zfs-discuss >
On 27.09.09 14:34, Erik Ableson wrote:> Hmmm - I''ve got a fairly old copy of the zpool cache file (circa July), but > nothing structural has changed in pool since that date. What other data is held > in that file? There have been some filesystem changes, but nothing critical is > in the newer filesystems.Cache file keeps pool configuration so zfs can quickly open it upon reboot. If there were no changes to the configuration of pool vdevs, then it should describe good config. victor> > Any particular procedure required for swapping out the zpool.cache file? > > Erik > > On Sunday, 27 September, 2009, at 12:28AM, "Ross" <myxiplx at googlemail.com> wrote: >> Do you have a backup copy of your zpool.cache file? >> >> If you have that file, ZFS will happily mount a pool on boot without its slog device - it''ll just flag the slog as faulted and you can do your normal replace. I used that for a long while on a test server with a ramdisk slog - and I never needed to swap it to a file based slog. >> >> However without a backup of that file to make zfs load the pool on boot I don''t believe there is any way to import that pool. > _______________________________________________ > zfs-discuss mailing list > zfs-discuss at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss-- -- Victor Latushkin phone: x11467 / +74959370467 TSC-Kernel EMEA mobile: +78957693012 Sun Services, Moscow blog: http://blogs.sun.com/vlatushkin Sun Microsystems
On 27.09.09 19:35, Erik Ableson wrote:> Good link - thanks. I''m looking at the details for that one and learning a > little zdb at the same time. I''ve got a situation perhaps a little different in > that I _do_ have a current copy of the slog in a file with what appears to be > current data. > > However, I don''t see how to attach the slog file to an offline zpool - I have > both a dd backup of the ramdisk slog from midnight as well as the current file > based slog :Have you tried to make symbolic link from e.g. /dev/dsk/slog to /root/slog.tmp and check what ''zpool import'' says?> zdb -l /root/slog.tmp > > version=14 > name=''siovale'' > state=1 > txg=4499446 > pool_guid=13808783103733022257 > hostid=4834000 > hostname=''shemhazai'' > top_guid=6374488381605474740 > guid=6374488381605474740 > is_log=1 > vdev_tree > type=''file'' > id=1 > guid=6374488381605474740 > path=''/root/slog.tmp'' > metaslab_array=230 > metaslab_shift=21 > ashift=9 > asize=938999808 > is_log=1 > DTL=51 > > Is there any way that I can attach this slog to the zpool while it''s offline? > > Erik > > On 27 sept. 2009, at 02:23, David Turnbull <dsturnbull at gmail.com> wrote: > >> I believe this is relevant: http://github.com/pjjw/logfix >> Saved my array last year, looks maintained. >> >> On 27/09/2009, at 4:49 AM, Erik Ableson wrote: >> >>> Hmmm - this is an annoying one. >>> >>> I''m currently running an OpenSolaris install (2008.11 upgraded to >>> 2009.06) : >>> SunOS shemhazai 5.11 snv_111b i86pc i386 i86pc Solaris >>> >>> with a zpool made up of one radiz vdev and a small ramdisk based >>> zil. I usually swap out the zil for a file-based copy when I need >>> to reboot (zpool replace /dev/ramdisk/slog /root/slog.tmp) but this >>> time I had a brain fart and forgot to. >>> >>> The server came back up and I could sort of work on the zpool but >>> it was complaining so I did my replace command and it happily >>> resilvered. Then I restarted one more time in order to test >>> bringing everything up cleanly and this time it can''t find the file >>> based zil. >>> >>> I try importing and it comes back with: >>> zpool import >>> pool: siovale >>> id: 13808783103733022257 >>> state: UNAVAIL >>> status: One or more devices are missing from the system. >>> action: The pool cannot be imported. Attach the missing >>> devices and try again. >>> see: http://www.sun.com/msg/ZFS-8000-6X >>> config: >>> >>> siovale UNAVAIL missing device >>> raidz1 ONLINE >>> c8d0 ONLINE >>> c9d0 ONLINE >>> c10d0 ONLINE >>> c11d0 ONLINE >>> >>> Additional devices are known to be part of this pool, though >>> their >>> exact configuration cannot be determined. >>> >>> Now the file still exists so I don''t know why it can''t seem to find >>> it and I thought the missing zil issue was corrected in this >>> version (or did I miss something?). >>> >>> I''ve looked around for solutions to bring it back online and ran >>> across this method: <http://www.mail-archive.com/zfs-discuss at opensolaris.org/msg16545.html >>>> but before I jump in on this one I was hoping there was a newer, >>> cleaner approach that I missed somehow. >>> >>> Ideas appreciated... >>> >>> Erik >>> >>> _______________________________________________ >>> zfs-discuss mailing list >>> zfs-discuss at opensolaris.org >>> http://mail.opensolaris.org/mailman/listinfo/zfs-discuss > > _______________________________________________ > zfs-discuss mailing list > zfs-discuss at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss-- -- Victor Latushkin phone: x11467 / +74959370467 TSC-Kernel EMEA mobile: +78957693012 Sun Services, Moscow blog: http://blogs.sun.com/vlatushkin Sun Microsystems
On 27.09.09 02:28, Ross wrote:> Do you have a backup copy of your zpool.cache file? > > If you have that file, ZFS will happily mount a pool on boot without its slog > device - it''ll just flag the slog as faulted and you can do your normal > replace. I used that for a long while on a test server with a ramdisk slog - > and I never needed to swap it to a file based slog. > > However without a backup of that file to make zfs load the pool on boot I > don''t believe there is any way to import that pool.If there''s no backup of that file, contents of it can be constructed by extracting contents of config object from the pool and using it to construct cachefile (basically creating nvlist with single name-value pair, where name is name of the pool and value is nvlist from the config object). -- -- Victor Latushkin phone: x11467 / +74959370467 TSC-Kernel EMEA mobile: +78957693012 Sun Services, Moscow blog: http://blogs.sun.com/vlatushkin Sun Microsystems