I have a machine with S10, Nevada, and OpenSolaris all installed on the same disk. My objective is to be able to share user data among all of the images. It''s easy with S10 and Nevada because they''re all in slices in the same partition. OpenSolaris has its own partition and so can''t share data in a slice in the other Solaris partition. The obvious solution is to use a second disk. The problem is that I would really like to avoid having to chop up a 750GB disk into slices and stick UFS on it. Is there a way that I can add the disk to a ZFS pool and have the ZFS pool accessible to all of the OS instances? I poked through the docs and searched around a bit, but I couldn''t find anything on the topic. Thanks! Daniel
On Thu, 2008-08-07 at 09:16 -0700, Daniel Templeton wrote:> Is there a way that I can add the disk to a ZFS pool and have > the ZFS pool accessible to all of the OS instances? I poked through the > docs and searched around a bit, but I couldn''t find anything on the topic.Yes. I do that all of the time. The trick here is to create the pool and filesystems with the oldest Solaris you will use. ZFS has very good backward compatibility but not the reverse. Here''s a trick that will come in handy. Create quite a few empty ZFS filesystems in your oldest Solaris. In my case the pool is called throatwarbler and I have misc1 misc2 misc3 misc4 misc5 ..... What happens is that I will be running a newer Solaris and want a filesystem. Rather than reboot to the older Solaris, just rename misc[n] to the new name. Bob
On Thu, Aug 7, 2008 at 6:44 PM, Bob Netherton <bob.netherton at gmail.com>wrote:> On Thu, 2008-08-07 at 09:16 -0700, Daniel Templeton wrote: > > Is there a way that I can add the disk to a ZFS pool and have > > the ZFS pool accessible to all of the OS instances? I poked through the > > docs and searched around a bit, but I couldn''t find anything on the > topic. > > Yes. I do that all of the time. The trick here is to create the pool > and filesystems with the oldest Solaris you will use. ZFS has very > good backward compatibility but not the reverse. > > Here''s a trick that will come in handy. Create quite a few empty > ZFS filesystems in your oldest Solaris. In my case the pool is > called throatwarbler and I have misc1 misc2 misc3 misc4 misc5 ..... > > What happens is that I will be running a newer Solaris and want a > filesystem. Rather than reboot to the older Solaris, just rename > misc[n] to the new name. >Bob, is there any specific reason why you suggest the creation of a bunch of zfs datasets up front? I have found that once you have created the ZFS pool on the oldest Solaris, you should be able to create zfs datasets within it from any supported OS (including Linux with zfs-fuse) My experience with this: I had to create the zpool with zfs-fuse under Linux, and after that I was able to manipulate, import, and export the pool from on all releases. -- Any sufficiently advanced technology is indistinguishable from magic. Arthur C. Clarke Afrikaanse Stap Website: http://www.bloukous.co.za My blog: http://initialprogramload.blogspot.com -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.opensolaris.org/pipermail/zfs-discuss/attachments/20080809/70cb7b4b/attachment.html>
> Bob, is there any specific reason why you suggest the creation of a > bunch of zfs datasets up front?Absolutely. ZFS filesystems created on too new of a Nevada/OpenSolaris will not be mountable on Solaris 10. One of the SMF services, filesystem/local perhaps will go into maintenance and your system will fail to boot. Let me demonstrate. # uname -a SunOS arrakis 5.11 snv_95 i86pc i386 i86pc # zfs create arrakis/scooby # zfs get version arrakis/misc arrakis/scooby NAME PROPERTY VALUE SOURCE arrakis/misc version 1 - arrakis/scooby version 2 - In this example, arrakis/scooby will fail to mount on Solaris 10. Version 2 is too new for Solaris 10. arrakis/misc was created on Solaris 10 8/07.> I have found that once you have created the ZFS pool on the oldest > Solaris, you should be able to create zfs datasets within it from any > supported OS (including Linux with zfs-fuse)You can create filesystems in the pool. But if your OS is too old you will not be able to mount the newer filesystems. If you have done this successfully then your OpenSolaris/nevada isn''t new enough.> My experience with this: I had to create the zpool with zfs-fuse under > Linux, and after that I was able to manipulate, import, and export the > pool from on all releases.In that case your ZFS fuse implementation must be for version 1 filesystems. Now, I need to go back and delete arrakis/scooby or I''ll forget and then my Solaris 10 will fail to boot :-) Bob
There are two versions at play here: the pool version and the filesystem version. See here for information about ZFS *filesystem* versions: http://www.opensolaris.org/os/community/arc/caselog/2007/328/onepager/ (CIFS support integrated in build 77 so that is when the filesystem version was bumped to 3). What that document doesn''t explain is what happens if you try to access a version 2 or 3 filesystem using the older code from before build 69 - i.e. from before filesystem versioning was added. I have a feeling that before build 69 there was no check done on filesystem version. I''ve no idea how this is handled on Linux. Cheers Andrew. This message posted from opensolaris.org