Re: [zfs-discuss] Does the zpool cache file affect import?

2011-08-30 Thread Garrett D'Amore

On 08/30/2011 04:59 AM, Hung-Sheng Tsao (Lao Tsao 老曹) Ph.D. wrote:


IMHO, you need to know how to recover the Zpool if the data/metadata 
get corrupt due to import by two hosts

may be things are improved for zfs recently.
you design cluster by certain rules, hope that all SA(not just you) 
will follow your rules, otherwise some SA may just import zpool that 
create cachefile and next time the system will want to import the 
zpool in cachefile that already imported by other hosts
Sun cluster use its own cachefile to control the cache, but as any 
design it could not prevent SA to import zpool by hand:-(


ZFS has some safeguards to protect against this error -- but those 
safeguards are bypassed when using -f to import a pool.  Its 
absolutely vital that system administrators are taught to try without -f 
first, and the only use -f to import a pool when they are *absolutely 
certain* that no other system can be accessing the pool concurrently.


Clusters require a greater degree of care and skill than ordinary 
systems.  This is one reason that I try to steer folks towards 
application redundancy rather than cluster configurations, when 
redundancy at the application layer is available.


- Garrett


my 2c

On 8/29/2011 9:03 PM, Gary Mills wrote:

On Mon, Aug 29, 2011 at 07:56:16PM -0400, LaoTsao wrote:

Q?
are you intent to import this zpool to different host?

Yes, it can be imported on another server.  That part works when it
has been exported cleanly first.  I was concerned about a possible
import failure when the original server lost power.


Sent from my iPad

Sent from my Sun type 6 keyboard.



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


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


[zfs-discuss] Does the zpool cache file affect import?

2011-08-29 Thread Gary Mills
I have a system with ZFS root that imports another zpool from a start
method.  It uses a separate cache file for this zpool, like this:

if [ -f $CCACHE ]
then
echo Importing $CPOOL with cache $CCACHE
zpool import -o cachefile=$CCACHE -c $CCACHE $CPOOL
else
echo Importing $CPOOL with device scan
zpool import -o cachefile=$CCACHE $CPOOL
fi

It also exports that zpool from the stop method, which has the side
effect of deleting the cache.  This all works nicely when the server
is rebooted.

What will happen when the server is halted without running the stop
method, so that that zpool is not exported?  I know that there is a
flag in the zpool that indicates when it's been exported cleanly.  The
cache file will exist when the server reboots.  Will the import fail
with the `The pool was last accessed by another system.' error, or
will the import succeed?  Does the cache change the import behavior?
Does it recognize that the server is the same system?  I don't want
to include the `-f' flag in the commands above when it's not needed.

-- 
-Gary Mills--Unix Group--Computer and Network Services-
___
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] Does the zpool cache file affect import?

2011-08-29 Thread LaoTsao
Q?
are you intent to import this zpool to different host?


Sent from my iPad
Hung-Sheng Tsao ( LaoTsao) Ph.D

On Aug 29, 2011, at 14:13, Gary Mills mi...@cc.umanitoba.ca wrote:

 I have a system with ZFS root that imports another zpool from a start
 method.  It uses a separate cache file for this zpool, like this:
 
if [ -f $CCACHE ]
then
echo Importing $CPOOL with cache $CCACHE
zpool import -o cachefile=$CCACHE -c $CCACHE $CPOOL
else
echo Importing $CPOOL with device scan
zpool import -o cachefile=$CCACHE $CPOOL
fi
 
 It also exports that zpool from the stop method, which has the side
 effect of deleting the cache.  This all works nicely when the server
 is rebooted.
 
 What will happen when the server is halted without running the stop
 method, so that that zpool is not exported?  I know that there is a
 flag in the zpool that indicates when it's been exported cleanly.  The
 cache file will exist when the server reboots.  Will the import fail
 with the `The pool was last accessed by another system.' error, or
 will the import succeed?  Does the cache change the import behavior?
 Does it recognize that the server is the same system?  I don't want
 to include the `-f' flag in the commands above when it's not needed.
 
 -- 
 -Gary Mills--Unix Group--Computer and Network Services-
 ___
 zfs-discuss mailing list
 zfs-discuss@opensolaris.org
 http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
___
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] Does the zpool cache file affect import?

2011-08-29 Thread Richard Elling
Hi Gary,
We use this method to implement NexentaStor HA-Cluster and, IIRC,
Solaris Cluster uses shared cachefiles, too.  More below...

On Aug 29, 2011, at 11:13 AM, Gary Mills wrote:

 I have a system with ZFS root that imports another zpool from a start
 method.  It uses a separate cache file for this zpool, like this:
 
if [ -f $CCACHE ]
then
echo Importing $CPOOL with cache $CCACHE
zpool import -o cachefile=$CCACHE -c $CCACHE $CPOOL
else
echo Importing $CPOOL with device scan
zpool import -o cachefile=$CCACHE $CPOOL
fi
 
 It also exports that zpool from the stop method, which has the side
 effect of deleting the cache.  This all works nicely when the server
 is rebooted.
 
 What will happen when the server is halted without running the stop
 method, so that that zpool is not exported?  I know that there is a
 flag in the zpool that indicates when it's been exported cleanly.  The
 cache file will exist when the server reboots.  Will the import fail
 with the `The pool was last accessed by another system.' error, or
 will the import succeed?  

The pool metadata has the host's ID stored. When you export the pool,
the host's ID is cleared. So as long as you import on the same host,
it won't pring the last accessed by another system message.

 Does the cache change the import behavior?

Only pools in /etc/zfs/zpool.cache are imported automatically at boot.
To import your pool, add a start script.

 Does it recognize that the server is the same system?  I don't want
 to include the `-f' flag in the commands above when it's not needed.

It should just work.  Use zdb -C /my/cache/file for exploration and
troubleshooting.
 -- richard

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