Hey - sure and by the way I have the disks now here at my home. I am trying to dd one of the disks to try my data recovery efforts. Do you know any specialties about DDing a single ZFS disk from a RAID1 in FreeNAS or Solaris...
I discovered two ways:
Here is what I tried so far: the two scenarios:
Scenario A Case 1) Lab setup with VMs and leave mirror running without splitting disks up
What I did so far: (reproduction of the real case in the prod enviroment - its a NAS Server for pictures in a photo store)
Installed FreeNAS 8.3.0 in a VM
Two VDisks (with 10GB)
Raid1 - ZFS
I created a pool "datastore2"
I created a dataset "foto2"
I copy a file blabla.mp3
I made "zfs destroy datastore2/foto2" like on the real box
Reboot FreeNAS
open shell: "zpool history -il" then "zdb" to check for add txgs. And took a TXG from the history before the "destroy" command "86"
shell:"zpool export datastore2"
shell"
zpool import -N -o readonly=on -f -R /mnt -F -T 86 datastore2"
I managed to import the pool with its prior state.
"zfs list" shows the pool and dataset "foto2"
I saw the files and tried to copy the file - but got IO errors
Scenario A Case 2) What I am trying to do with the real data
I did every thing as mentioned above - but I only took one of the disks because I wanted to save the second one.
I came to the part when I wanted to use a prior "destroy" TXG - but I always ran into the IO error when importing the zpool.
I managed to rollbacl older TXGs but only - after - the destroy command
At the moment I am not sure what to do next.
I am just preparing a box with opensolaris to try the second method with the forensics script.
the below mentioned commands did not work in FreeNAS:
I had good luck with ZFS recovery with the following approach:
1) Use zdb to identify a TXG for which the data structures are intact
2) Select recovery mode by loading the ZFS KLD with "vfs.zfs.recover=1"
set in /boot/loader.conf
3) Import the pool with the above -T option referring to a suitable TXG
found with the help zdb.
The zdb commands to use are:
# zdb -AAA -L -t <TXG> -bcdmu <POOL>