Chris Siebenmann
2008-Nov-25 23:19 UTC
[zfs-discuss] Can a zpool cachefile be copied between systems?
Suppose that you have a SAN environment with a lot of LUNs. In the normal course of events this means that ''zpool import'' is very slow, because it has to probe all of the LUNs all of the time. In S10U6, the theoretical ''obvious'' way to get around this for your SAN filesystems seems to be to use a non-default cachefile (likely one cachefile per virtual fileserver, although you could go all the way to one cachefile per pool) and then copy this cachefile from the master host to all of your other hosts. When you need to rapidly bring up a virtual fileserver on a non-default host, you can just run zpool import -c /where/ever/<host>.cache -a However, the S10U6 zpool documentation doesn''t say if zpool cachefiles can be copied between systems and used like this. Does anyone know if this is a guaranteed property that is sure to keep working, something that works right now but there''s no guarantees that it will keep working in future versions of Solaris and patches, or something that doesn''t work reliably in general? (I have done basic tests with my S10U6 test machine, and it seems to work ... but I might easily be missing something that makes it not reliable.) - cks
Robert Milkowski
2008-Nov-26 01:28 UTC
[zfs-discuss] Can a zpool cachefile be copied between systems?
Hello Chris, Tuesday, November 25, 2008, 11:19:36 PM, you wrote: CS> Suppose that you have a SAN environment with a lot of LUNs. In the CS> normal course of events this means that ''zpool import'' is very slow, CS> because it has to probe all of the LUNs all of the time. CS> In S10U6, the theoretical ''obvious'' way to get around this for your CS> SAN filesystems seems to be to use a non-default cachefile (likely one CS> cachefile per virtual fileserver, although you could go all the way to CS> one cachefile per pool) and then copy this cachefile from the master CS> host to all of your other hosts. When you need to rapidly bring up a CS> virtual fileserver on a non-default host, you can just run CS> zpool import -c /where/ever/<host>.cache -a CS> However, the S10U6 zpool documentation doesn''t say if zpool cachefiles CS> can be copied between systems and used like this. Does anyone know if CS> this is a guaranteed property that is sure to keep working, something CS> that works right now but there''s no guarantees that it will keep working CS> in future versions of Solaris and patches, or something that doesn''t CS> work reliably in general? CS> (I have done basic tests with my S10U6 test machine, and it seems to CS> work ... but I might easily be missing something that makes it not CS> reliable.) As long as both systems present disks in the same way (same paths) it will work as expected. Even if they don''t an import should still work but without the benefit of a cache file. My understanding is that the the intention behind cachefile property was to address poor''s man clusters and (hopefully) to enhance hastoragplus agent to make use of it automatically so importing a pool would be quicker in some environments. The other problem it addresses is that only pools listed in default cache file will be automatically imported during os boot. -- Best regards, Robert Milkowski mailto:milek at task.gda.pl http://milek.blogspot.com
Venkateswarlu Tella
2008-Nov-26 14:51 UTC
[zfs-discuss] Can a zpool cachefile be copied between systems?
> CS> Suppose that you have a SAN environment with a lot of LUNs. In the > CS> normal course of events this means that ''zpool import'' is very slow, > CS> because it has to probe all of the LUNs all of the time. > > CS> In S10U6, the theoretical ''obvious'' way to get around this for your > CS> SAN filesystems seems to be to use a non-default cachefile (likely one > CS> cachefile per virtual fileserver, although you could go all the way to > CS> one cachefile per pool) and then copy this cachefile from the master > CS> host to all of your other hosts. When you need to rapidly bring up a > CS> virtual fileserver on a non-default host, you can just run > CS> zpool import -c /where/ever/<host>.cache -a > > CS> However, the S10U6 zpool documentation doesn''t say if zpool cachefiles > CS> can be copied between systems and used like this. Does anyone know if > CS> this is a guaranteed property that is sure to keep working, something > CS> that works right now but there''s no guarantees that it will keep working > CS> in future versions of Solaris and patches, or something that doesn''t > CS> work reliably in general? > > CS> (I have done basic tests with my S10U6 test machine, and it seems to > CS> work ... but I might easily be missing something that makes it not > CS> reliable.) > > As long as both systems present disks in the same way (same paths) it > will work as expected. Even if they don''t an import should still work > but without the benefit of a cache file.It even works when the nodes have different CTD paths, as the ZFS tries to open using devid in case of CTD path failure. -Venku> > My understanding is that the the intention behind cachefile property > was to address poor''s man clusters and (hopefully) to enhance hastoragplus agent > to make use of it automatically so importing a pool would be quicker > in some environments. > > The other problem it addresses is that only pools listed in default > cache file will be automatically imported during os boot. > > >