So here we are!
Developers have received from Apple a 'ZFS on Mac OS X Preview 1.1' package, which offers preliminary support for the ZFS file system, originally developed by Sun Microsystems for their Solaris OS. The open source port of OpenZFS on OS X.
First step, I installed ZEVO Community Edition from GreenBytes (http://www.getgreenbytes.com/zevo/).
Jan 31, 2012 The interest was fueled in mid-2007 by a claim by Sun CEO Jonathan Schwartz that ZFS would supplant HFS+ as the file system for Mac OS X Leopard. While ZFS did not materialize in Leopard, Apple.
Then I resized my HFS+ partition on the external usb drive (using Disk Utility) and created a new FAT partition. I then converted the FAT partition into a ZFS one with
sudo diskutil eraseVolume 'ZFS Pool' ZFS rdisk2s3
Ok now your first brand new ZFS pool is up and running! ๐
However, I was not fully satisfied: first I don't know if I can trust ZEVO โ what if they decide to not develop their product anymore? How reliable is ZEVO code? Second: ZEVO has some limitations. They say that those limitations are there for our own safety (because ZFS is very resources hungry: it requires a lot of ram and processing power). But what if I have an high-end iMac with a lot of cpu cycles and ram to spare??
So I decided to try the real thing! I create a VM (I assigned it two cores and two gigabytes of ram) and installed Solaris 11 on it.
Here are the steps to mount the external ZFS formated drive in Solaris:
- the first thing I did was to check the Solaris device name for the external drive:
echo | format (my device name is c9t0d0)
- Then I forced the creation of a zpool this way:
zpool create -f usbpool c9t0d0s2
where 'usbpool' is the name for my ZFS pool on Solaris and c9t0d0s2 is the second partition on my external usb hard disk. 4 Ways to Download YouTube Videos - wikiHow.
Now I can use the usb disk ZFS partition inside Solaris. But I wanted to use it from Mac OS X too โ after all the was my goal when I decided to start using ZFS!
Fortunately, ZFS can natively share partitions via NFS and, equally important, Mac OS X can natively mount NFS shares!
So here is how to export a zpool via NFS in Solaris:
- zfs set sharenfs=on usbpool
- zfs share usbpool
- chmod 777 /usbpool
You also need also to check with 'ifconfg -a' the IP address of your Solaris VM, let's say 192.168.212.130
In OS X:
- sudo mount -w -t nfs 192.168.212.130:/usbpool /Users/daniele/Desktop/ZFSdrive
That's it!
Now I can read and write my external usb drive in Mac OS X using my Solaris 11 VM.
To unmount your NFS share in Solaris: zfs unmount usbpool. To unmount your pool the command is zpool export usbpool.
zpool create -f usbpool c9t0d0s2
where 'usbpool' is the name for my ZFS pool on Solaris and c9t0d0s2 is the second partition on my external usb hard disk. 4 Ways to Download YouTube Videos - wikiHow.
Now I can use the usb disk ZFS partition inside Solaris. But I wanted to use it from Mac OS X too โ after all the was my goal when I decided to start using ZFS!
Fortunately, ZFS can natively share partitions via NFS and, equally important, Mac OS X can natively mount NFS shares!
So here is how to export a zpool via NFS in Solaris:
- zfs set sharenfs=on usbpool
- zfs share usbpool
- chmod 777 /usbpool
You also need also to check with 'ifconfg -a' the IP address of your Solaris VM, let's say 192.168.212.130
In OS X:
- sudo mount -w -t nfs 192.168.212.130:/usbpool /Users/daniele/Desktop/ZFSdrive
That's it!
Now I can read and write my external usb drive in Mac OS X using my Solaris 11 VM.
To unmount your NFS share in Solaris: zfs unmount usbpool. To unmount your pool the command is zpool export usbpool.
To mount again your ZFS pool: zpool import usbpool
You can also check the pool and zfs version with, respectively, zpool get version usbpool and zfs get version usbpool
UPDATE
Ok, after some thinking I realised that the best strategy for me is to have a zpool I can share between ZEVO and Solaris: This is not true out-of-the box, since Solaris 11 uses the latest version of ZFS pool and filesystem (in my case they are, respectively, version 34 and version 6) while ZEVO uses version 28 of pool and version 5 of filesystem.
So this is what I did:
โ I recreated the zpool on my usb external drive explicitly specifying the same versions used by ZEVO:
zpool create -o version=28 -O version=5 usbpool c9t0d0s2
Zfs For Mac Os X 10.7
I then tried to export this ZFS pool via NFS as previously shown, but for same reasons that didn't work! It's something related to using an older version of ZFS pool and filesystem, but I haven't yet figured out what exactly is.
So I tried to export the NFS share in the old way:
share -F nfs -o rw /usbpool
I then mounted the NFS share in Mac OS X and it worked! Be aware that the previous command allows anyone on your network to connect to your NFS share; if you want to restrict the access only to one client, say 192.168.1.4
share -F nfs -o rw=192.168.1.4 /usbpool
That's it! Now I'm able to use the very same zpool both under ZEVO and Solaris!
Zfs For Mac Os X 10.13
To check that you're effectively exporting an NFS share
showmount -e (from the Solaris VM)
showmount -e 192.168.212.130 (from Mac OS X)
Some useful ZFS-related links:
Zfs For Mac Os X 10.8
If you want offer me a beer you can use the following button ๐