Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

It's all broken!! D:

Featured Replies

  • Community Expert
Just now, nexusmaniac said:

I'm not going to hit anything until somebody says what, hoping to recover disk3 :)

Already told you, just carefully follow the instructions above.

  • Replies 56
  • Views 5.7k
  • Created
  • Last Reply
  • Author
Just now, johnnie.black said:

Already told you, just carefully follow the instructions above.

Trurl said press Parity already valid, you've said not to - that's why I hesitated, sorry ;)

 

Should I do what you've said to try and recover my data? :D

  • Community Expert

Yes, like mentioned follow the instructions carefully, especially the part of not refreshing the GUI after the invalid slot command, or a parity sync will start instead of a disk rebuild.

  • Author

ok cool, I'll untick parity valid then?

 

I've run the invalid slot command and not hit refresh.

 

Time to start the array?

  • Author

@johnnie.black

 

Safe to ignore the red warning and hit start then? Then just cross my fingers that it'll still begin a rebuild in 6.6 :) 

 

Just after a final confirmation before I do anything I'm not supposed to haha - hopefully it'll all be over and done with soon and I can stop bugging everyone ;)

 

image.thumb.png.2f7ceca61c2b7c281099669dc18ed22e.png

  • Community Expert
24 minutes ago, nexusmaniac said:

ok cool, I'll untick parity valid then?

Yes, and it has to be done before running the invalid slot command, after running the command you can only press the start button, nothing else.

  • Author
Just now, johnnie.black said:

Yes, and it has to be done before running the invalid slot command, after running the command you can only press the start button, nothing else.

Am I safe to re-run the invalid command now that the button is unticked?

  • Community Expert

Yes

  • Author
Just now, johnnie.black said:

Yes

image.thumb.png.6a12a6914df1bb75690641055ea78cb9.png

  • Community Expert

Proceed

  • Author
1 minute ago, johnnie.black said:

Proceed

OMG! :D 

 

Oh thank you so so much, both you and Trurl! 

 

I'm sorry for all the bother I've caused... I'll let you know once the restore is complete but that looks good?? :D

 

image.thumb.png.68bb28597b82b7222a34eef02fa5191f.png

  • Community Expert

It would be better if the disk mounted, but hopefully it's fixable or at least recoverable, grab and post new diags so I can see the mount error.

  • Community Expert

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.

  • Author
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) :)

  • Community Expert
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.

  • Community Expert

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.

  • Author

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.

  • Author

@johnnie.black

 

Hey :S

 

The data rebuild 'completed' ... I don't know if it has worked? Orrrr...

 

image.thumb.png.beb2451c6a1c01c7d8e4615c4d416e30.png

 

There's no emulated storage or anything, thought there would be? Have I misunderstood ;)

 

EDIT:

 

Sorry, I have to stop the array and unassign the disk first... My bad

 

Edited by nexusmaniac

  • Community Expert
5 minutes ago, nexusmaniac said:

Sorry, I have to stop the array and unassign the disk first... My bad

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

  • Author
1 minute 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.

If the contents are emulate, shouldn't I have a file thing next to disk3?

 

image.thumb.png.fdcdedfe72c6a17d8202416c782186f6.png

 

I'll continue with the link you sent 🤞

  • Author

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

  • Community Expert
1 minute ago, nexusmaniac said:

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

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.

  • Author
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 :)

  • Author

@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)

 

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.