The Gecko
Dabbler
- Joined
- Sep 16, 2013
- Messages
- 18
My FreeNAS box was having some issues and one of the zvols on the main drive array experienced some corruption. The rest of the zvols on the same array were fine.
Before attempting some destructive ZFS transaction group rollback commands on the main drive array, I first made a backup of all my remaining files on the non-corrupted zvols. I connected an external drive chassis via external SAS, and loaded it up with 12x 1TB disks. The disks were configured into a single zpool consisting of two 6-disk RAIDz2 groups, striped. This array was made available as a single LUN to clients through multi-pathed Fiber Channel. Then I connected to the external chassis FC LUN on my Hyper-V host, formatted it, and proceeded to perform a file-level backup by copying the files from the main drive array into the external chassis. Finally, I exported/detached and powered off the external array.
The ZFS rollback experiments were not successful. Eventually I gave up and rebuilt the main drive array. Then I mounted the external array, exposed it as a FC target and connected it to the Hyper-V host. All my files were present. This is where the weirdness began.
Smaller files on the external array (a few KB) opened and looked perfect. However, none of the files over a certain size could be read. I can't tell what the transition point is because all files were either a few KB or several hundred MB and larger. ISOs could be mounted, but could not be installed from. VMs and their VHDs could be added back into Hyper-V, but every single VM complained about a corrupt hard disk. Thinking that something went wrong during the traversal of FC, I tried swapping around the multi-pathed FC cables, tried using only one FC cable, tried connecting to the external array via iSCSI instead of FC. I experimented with the settings used to configure the LUN, but nothing made a difference.
Currently, the external array is online, but not being used. Does anyone have any suggestions or questions for more information?
Before attempting some destructive ZFS transaction group rollback commands on the main drive array, I first made a backup of all my remaining files on the non-corrupted zvols. I connected an external drive chassis via external SAS, and loaded it up with 12x 1TB disks. The disks were configured into a single zpool consisting of two 6-disk RAIDz2 groups, striped. This array was made available as a single LUN to clients through multi-pathed Fiber Channel. Then I connected to the external chassis FC LUN on my Hyper-V host, formatted it, and proceeded to perform a file-level backup by copying the files from the main drive array into the external chassis. Finally, I exported/detached and powered off the external array.
The ZFS rollback experiments were not successful. Eventually I gave up and rebuilt the main drive array. Then I mounted the external array, exposed it as a FC target and connected it to the Hyper-V host. All my files were present. This is where the weirdness began.
Smaller files on the external array (a few KB) opened and looked perfect. However, none of the files over a certain size could be read. I can't tell what the transition point is because all files were either a few KB or several hundred MB and larger. ISOs could be mounted, but could not be installed from. VMs and their VHDs could be added back into Hyper-V, but every single VM complained about a corrupt hard disk. Thinking that something went wrong during the traversal of FC, I tried swapping around the multi-pathed FC cables, tried using only one FC cable, tried connecting to the external array via iSCSI instead of FC. I experimented with the settings used to configure the LUN, but nothing made a difference.
Currently, the external array is online, but not being used. Does anyone have any suggestions or questions for more information?