Date: Fri, 12 Jul 2013 09:41:56 -0500 From: Reid Linnemann <linnemannr@gmail.com> To: Volodymyr Kostyrko <c.kworr@gmail.com> Cc: freebsd-hackers@freebsd.org Subject: Re: Attempting to roll back zfs transactions on a disk to recover a destroyed ZFS filesystem Message-ID: <CA%2B0MdpMfa-vMKGXrvgbJu8QQd4vqqAriLedENTHAaqVGgNwHGQ@mail.gmail.com> In-Reply-To: <51DFF79C.905@gmail.com> References: <CA%2B0MdpMj81=Ct-ZUJ7N-TYO=OCHeEomU4Xa70sFVVoBoyETzkQ@mail.gmail.com> <51DFF79C.905@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hey presto! /> zfs list NAME USED AVAIL REFER MOUNTPOINT bucket 485G 1.30T 549M legacy bucket/tmp 21K 1.30T 21K legacy bucket/usr 29.6G 1.30T 29.6G /mnt/usr bucket/var 455G 1.30T 17.7G /mnt/var bucket/var/srv 437G 1.30T 437G /mnt/var/srv There's my old bucket! Thanks much for the hidden -T argument, Volodymyr! Now I can get back the remainder of my missing configuration. On Fri, Jul 12, 2013 at 7:33 AM, Volodymyr Kostyrko <c.kworr@gmail.com>wrot= e: > 11.07.2013 17:43, Reid Linnemann =D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0=D0= =B2(=D0=BB=D0=B0): > > So recently I was trying to transfer a root-on-ZFS zpool from one pair o= f >> disks to a single, larger disk. As I am wont to do, I botched the transf= er >> up and decided to destroy the ZFS filesystems on the destination and sta= rt >> again. Naturally I was up late working on this, being sloppy and drowsy >> without any coffee, and lo and behold I issued my 'zfs destroy -R' and >> immediately realized after pressing [ENTER[ that I had given it the >> source's zpool name. oops. Fortunately I was able to interrupt the >> procedure with only /usr being destroyed from the pool and I was able to >> send/receive the truly vital data in my /var partition to the new disk a= nd >> re-deploy the base system to /usr on the new disk. The only thing I'm >> really missing at this point is all of the third-party software >> configuration I had in /usr/local/etc and my apache data in >> /usr/local/www. >> > > You can try to experiment with zpool hidden flags. Look at this command: > > zpool import -N -o readonly=3Don -f -R /pool <pool> > > It will try to import pool in readonly mode so no data would be written o= n > it. It also doesn't mount anything on import so if any fs is damaged you > have less chances triggering a coredump. Also zpool import has a hidden -= T > switch that gives you ability to select transaction that you want to try = to > restore. You'll need a list of available transaction though: > > zdb -ul <vdev> > > This one when given a vdev lists all uberblocks with their respective > transaction ids. You can take the highest one (it's not the last one) and > try to mount pool with: > > zpool import -N -o readonly=3Don -f -R /pool -F -T <transaction_id> <pool= > > > Then check available filesystems. > > -- > Sphinx of black quartz, judge my vow. >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2B0MdpMfa-vMKGXrvgbJu8QQd4vqqAriLedENTHAaqVGgNwHGQ>