Ah OK, well I was curious myself so I messed around with things a bit. The Fixit option is quite complicated it seems since the machine starts up this way with really nothing working yet (no network, no kernel modules, etc). So to get from the initial Fixit boot to a fully functional system where you can use the network to copy files off the ZFS drive is quite complicated. I was reading through the instructions and while I'm not shy about using the commandline in any OS, it had my eyes glazing over after a while.
That said, if you were to start from Fixit, you need to issue a few command to get ZFS working (note that the DVD will be automatically mounted at /dist):
Code:
Fixit# ln -s /dist/boot/kernel /boot/kernel
Fixit# ln -s /dist/lib /lib
Fixit# kldload geom_mirror
Fixit# kldload opensolaris
Fixit# kldload zfs
Fixit#
Now you will be able to issue ZFS commands as per normal.
You could in principle now mount the drive from the ZFS mirror (see below) and a second empty drive, and copy the data across. If you want to use the network to copy to a Windows share, or an FTP, starting from Fixit is much much more complicated.
Instead what would be easier is to just build a temporary FreeBSD system by doing a minimal install of FreeBSD to a fresh harddrive. You could use any old drive for this, the minimal install is very small (could even use old 10 gig drive you might have lying around).
What follows is something I tried this morning. I have a FreeNAS8 system called TANGENT which has a pool called tangent_pool that contains two datasets called 'bulk' and "dcim'.
My "rescue" system is a FreeBSD 8.2 system called TRIDENT. I took one of the drives from TANGENT and put it in TRIDENT (well I did all this in VMWare, so I actually copied one of the vmdk files from TANGENT to TRIDENT.
To get the drive from TANGENT to show up and become readable in TRIDENT I did the following:
Code:
trident# zpool import
pool: tangent_pool
id: 11365092829410101623
state: DEGRADED
status: The pool was last accessed by another system.
action: The pool can be imported despite missing or damaged devices. The
fault tolerance of the pool may be compromised if imported.
see: http://www.sun.com/msg/ZFS-8000-EY
config:
tangent_pool DEGRADED
mirror DEGRADED
ada1p2 UNAVAIL cannot open
ad2p2 ONLINE
trident# zpool import -f tangent_pool
pool: tangent_pool
state: DEGRADED
status: One or more devices could not be opened. Sufficient replicas exist for
the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'
see: http://www.sun.com/msg/ZFS-8000-2Q
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
tangent_pool DEGRADED 0 0 0
mirror DEGRADED 0 0 0
5266465553725886239 UNAVAIL 0 0 0 was /dev/ada1p2
ad2p2 ONLINE 0 0 0
errors: No known data errors
trident# zfs list
NAME USED AVAIL REFER MOUNTPOINT
tangent_pool 155K 5.88G 24K /tangent_pool
tangent_pool/bulk 24.5K 5.88G 24.5K /tangent_pool/bulk
tangent_pool/dcim 21K 5.88G 21K /tangent_pool/dcim
trident# ls -l /tangent_pool
-rw-r--r-- 1 root wheel 0 Aug 19 16:38 .windows
drwxrwxrwx+ 3 root wheel 3 Aug 19 16:50 bulk
drwxrwxrwx+ 2 root wheel 2 Aug 19 16:00 dcim
trident#
I hope this helps!
-- Durk