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.

After adding Array parity drive and Cache parity drive at the same time, cache went Read-only BTRFS

Featured Replies

Hello,

I finally finished moving all my things from my old synology, and yesterday added the second HDD drive for Array parity, and another SSD to the cache pool for redundancy.
After assigning both and starting up, it started building the parody for the Array, but the cache was still down. According to [this guide](https://forums.unraid.net/topic/46802-faq-for-unraid-v6/#comment-480417), I then ran the balancing on the Cache pool while the Array was rebuilding and nothing happened (in the UI). I changed the "rebalance" to unraid1 cause after reading another forum post I figured that's what I wanted? (1 spare, so 2 mirroring drives is RAID1? I'm not fluent in RAID speak, even reading wiki isn't very helpful).
I clicked start and since then my cache has been in Readonly, and docker refuses to start. I didn't know it's readonly initially, I only knew docker wasn't running. Looking up the issue I had when running ecrc.d/rc.docker start I found it could be corrupt vDisk, so I deleted it and tried again (obv didn't work) and I'm super mad cause I might've lost some databases for no reason.. (Some can't be bind-mounted)
Now I am stuck with readonly cache pool. Why is btrfs the default if half the unraid docks keeps apologizing for not knowing how it works!?
btrfs scrub start -rdB /dev/sdc1
returns:

root@Tower:~# sudo btrfs scrub start -rB /dev/sdc1
Starting scrub on devid 1
ERROR: scrubbing /dev/sdc1 failed for device id 1: ret=-1, errno=30 (Read-only file system)
scrub canceled for 77b95c22-29af-4138-bdc2-97be8f555818
Scrub started:    Tue May 27 11:15:06 2025
Status:           aborted
Duration:         0:00:00
Total to scrub:   0.00B
Rate:             0.00B/s
Error summary:    no errors found

Not sure where to go from here. Any tips? In the meantime the Array finished building parity successfully, and I copied what I could from the drive cache was originally on.

Thanks, besides this fighting with drives unraid has been a blessing!

tower-diagnostics-20250527-1130.zip

Solved by JorgeB

  • Community Expert

Pool went read only due to no space, post the output from:

fdisk -l /dev/sde

  • Author
1 hour ago, JorgeB said:

Pool went read only due to no space, post the output from:

fdisk -l /dev/sde

Disk /dev/sde: 111.79 GiB, 120034123776 bytes, 234441648 sectors
Disk model: KINGSTON SV300S3
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device     Boot Start       End   Sectors   Size Id Type
/dev/sde1        2048 234441647 234439600 111.8G 83 Linux

Both the drives are 128gb, I thought I'd just have 120gb still but now with one disk of redundancy, not sure how adding a drive can remove half the capacity

  • Community Expert

The btrfs usage doesn't make sense, post output of btrfs fi usage -T /mnt/cache

  • Author
1 hour ago, JorgeB said:

The btrfs usage doesn't make sense, post output of btrfs fi usage -T /mnt/cache

Overall:
    Device size:                 112.38GiB
    Device allocated:            111.96GiB
    Device unallocated:          427.02MiB
    Device missing:                  0.00B
    Device slack:                    0.00B
    Used:                         36.14GiB
    Free (estimated):             73.96GiB      (min: 73.75GiB)
    Free (statfs, df):            36.97GiB
    Data ratio:                       1.01
    Metadata ratio:                   2.00
    Global reserve:               17.66MiB      (used: 0.00B)
    Multiple profiles:                 yes      (data)

             Data      Data      Metadata System                              
Id Path      single    RAID1     DUP      DUP      Unallocated Total     Slack
-- --------- --------- --------- -------- -------- ----------- --------- -----
 1 /dev/sdc1 108.77GiB         -  2.00GiB 16.00MiB     1.00GiB 111.79GiB     -
 2 /dev/sde1         -         -        -        -   600.00MiB 600.00MiB     -
-- --------- --------- --------- -------- -------- ----------- --------- -----
   Total     108.77GiB 599.00MiB  1.00GiB  8.00MiB     1.59GiB 112.38GiB 0.00B
   Used       36.01GiB     0.00B 66.78MiB 16.00KiB   

I don't understand why the second drive is showing up like that, this is how it looks in unraid dash:
image.png

Edited by djkato

  • Author

Could it be because I pressed the balance button twice cuz UI didn't react, so it interrupted the first one only partially formatting it (that's the 600mb?) and on second press it locked up, now being confused?

I feel like just removing the drive and adding it again could work? I don't see a way to check if it has any data on that second drive though

  • Community Expert
22 minutes ago, djkato said:
600.00MiB 

Btrfs is detecting this device as 600MB, not sure why, but the easiest way to resolve may be to copy all the data somewhere else, then recreate the pool, and see if the space is correctly detected.

  • Author
1 hour ago, JorgeB said:

..., then recreate the pool, ...

Not sure how I do this, relatively new to unraid. I assume it's:
1. Stop the arrays (copy everything off of it first obv.)
2. unassign both drives
3. start and then stop the array
4. assign the array
5. start?
Also, do you recommend I make it btrfs again or should I do ZFS/XFS? I don't plan on adding more in the foreseeable future, and I read that btrfs isn't mature enough yet. What's the benefit that devs chose it over XFS?

Thanks for your help :)

  • Community Expert
  • Solution
41 minutes ago, djkato said:

1. Stop the arrays (copy everything off of it first obv.)

After this, click the 1st pool device, then click "erase pool" and confirm, then back to main start array and reformat.

This is not a btrfs issue, but after erasing the pool you can change the filesystem to zfs, xfs is for single pool device pool only.

  • Author

(edit, forum deleted all my text ?!) Hey, It's been trying to stop the array for almost an hour now. Not sure what to do? Or if force turning off the server is safe. The parody is apparently good.

Also, you said XFS is for single drive. Is it ok that my main drive is XFS, or is that a problem?

image.png

Edited by djkato

  • Community Expert

In the main array each drive is a self contained file system so any format is allowed. In pools you can only use xfs in single drive pools.

  • Author

still isn't stopping sou... how do I stop it safely?

image.png

  • Community Expert

If it won’t stop by itself then normally all you can do is a forced stop by holding down the power button.

  • Author

I erased and redid it, it seems to work now. Sad that I had to wipe everything, now I have to change ownership of so many folders so the docker bind-mounts work x-x but thanks for yall's help!

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...

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.