Last night on my home system (Solaris 11 Express + SRU09) running Virtualbox 4.0.12, I used “VBoxManage modify” to increase the size of my windows7 vdi from 20gb -> 30gb which appeared to work ok (https://trivialproof.blogspot.com/2011/01/resizing-virtualbox-virtual-hard-disk.html). I then ran up gparted in another virtualbox image which had my windows7 vdi attached as a disk and expanded the ntfs partition which again appeared to work ok. I then booted said windows7 and all hell broke loose with getting zpool errors. The system wedged so I had to reboot and which resulted in not being able to import the pool:
root@monkey:~# zpool import
pool: backup
id: 4822704405427686190
state: UNAVAIL
status: The pool was last accessed by another system.
action: The pool cannot be imported due to damaged devices or data.
see: https://www.sun.com/msg/ZFS-8000-EY
config:
backup UNAVAIL insufficient replicas
raidz1-0 UNAVAIL insufficient replicas
/dev/ad8 UNAVAIL cannot open
/dev/ad10 UNAVAIL cannot open
c15t0d0p0 ONLINE
/dev/ad16 UNAVAIL cannot open
/dev/ad18 UNAVAIL cannot open
pool: data
id: 11490383354744682126
state: FAULTED
status: The pool metadata is corrupted.
action: The pool cannot be imported due to damaged devices or data.
The pool may be active on another system, but can be imported using
the ‘-f’ flag.
see: https://www.sun.com/msg/ZFS-8000-72
config:
data FAULTED corrupted data
mirror-0 ONLINE
c15t0d0 ONLINE
c15t1d0 ONLINE
mirror-1 ONLINE
c15t2d0 ONLINE
c15t3d0 ONLINE
However, thank goodness for the extreme rewind feature as using the following recovered my pool (after about 36 hours of running) and only rewinding 1 second of transactions!
root@monkey:~# zpool import -fFX data
Phew…..
Just for my own reference this are quite useful links:
ZFS Internals – Part 1
ZFS Internals – Part 2
RAIDZ On-Disk Format