It's all broken!! D:


Recommended Posts

2 hours ago, johnnie.black said:

There's metadata corruption on disk3, this results from you having mounted the disks before without parity, so the transactions generations don't match, after the rebuild is finished see this thread, you should be able to use btrfs restore to recover the data but the disk will likely need to be reformatted after, since that error is usually fatal with btrfs.

 

Took a quick look at that thread, will I need enough free space in order to do what's being suggested?

 

I.e. my array is rather full, will I need to somehow add a >3TB disk in order to copy stuff from Disk3 (if it doesn't mount properly after the data rebuild)

 

Cheers!

 

(42% restored so far, yay) :)

Link to comment
7 minutes ago, nexusmaniac said:

Took a quick look at that thread, will I need enough free space in order to do what's being suggested?

Yes, you'll need has much free space as data currently on disk3, or at least the data you want to recover, though you don't have to recover to the array, you can recover to an unassigned disk.

 

The problem was caused by starting the array without parity, there's always some filesystem housekeeping when mounting and unmounting disks read/write that didn't update parity, and with btrfs this is especially dangerous, despite the few bits of invalid parity only affecting metadata, not the data itself, the metadata on the emulated disk has an older transaction number than the disk itself, so it's invalid.

 

This wouldn't be a serious problem if you didn't then assign a data disk to the parity slot, and would only translate to a few sync errors on the first parity check, but for the future if you need to repeat the same the disks should be mounted manually in read-only mode to make sure a similar problem doesn't happen again.

Link to comment

Forgot to mention if you don't really have the space or a spare disk you can do it like this:

 

-wait for the rebuild to finish

-unassign disk3 and start the array, it will emulate the disk (and still be unmountable)

-format the emulated disk3

-using btrfs restore try to recover all data from the now unassigned disk3 to the emulated disk

-if successful and when all is done reassign disk3 to rebuild.

Link to comment

Cheers, loads! 

 

I can borrow a blank 4TB HDD for a couple of days and set that as an unassigned device :D

 

Having a spare disk sounds like it'll make the whole process a bit easier ;)

 

I'll ping you if I have any more incredibly daft questions!

(You wouldn't think I've been working in a technical role for over 5 years would you 😅 Sadly it's mostly limited to hardware, R&D, Windows related things and some python dev work. Not much in the way of dealing with data storage / NAS etc.)

 

Truly appreciate your help & guidance! 

I've got a couple more hrs left on that data rebuild. Then I'll see what state disk3 is in and start moving things over to a 4TB UD.

Link to comment

Well this is embarrassing:

Time to sit for another 7hrs :S

 

3 hours ago, johnnie.black said:

-unassign disk3 and start the array, it will emulate the disk (and still be unmountable)

Eek, that read as needing to stop the array in order to unassign the disk so I did.

 

10 minutes ago, johnnie.black said:

No need, because the filesystem is corrupt the disk won't mount, next step is to use btrfs restore like I linked earlier.

Which I did before I got this, apologies.

 

Don't want to cancel this operation do I 😇

 

image.thumb.png.17537f40e03095be5fb4f91cf8d0e7bd.png

Link to comment
1 minute ago, johnnie.black said:

That was for if you didn't have the space or a spare to btrfs restore to, since you'll have a spare disk there's no need, you should wait for the rebuild to finish again.

Gotcha, my bad.

 

I've got the UD mounted and ready. 

 

I shall see if I can stay up late enough to kick off some of those btrfs commands :)

Link to comment

@johnnie.black

 

root@Raptor:~# cd /x/
root@Raptor:/x# mount -o recovery,ro /dev/sdf1 /x
mount: /x: wrong fs type, bad option, bad superblock on /dev/sdf1, missing codepage or helper program, or other error.
root@Raptor:/x# mount -o degraded,recovery,ro /dev/sdf1 /x
mount: /x: wrong fs type, bad option, bad superblock on /dev/sdf1, missing codepage or helper program, or other error.
root@Raptor:/x#

Moving onto recovery (step 2 in your thread)

Quote

2) BTRFS restore (non-destructive)

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.