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.

Can't use balance to convert 2 disk pool to raid1

Featured Replies

Hi all

 

Yesterday I added a second nvme to my main cache pool, which was one disk but set up as a two disk btrfs pool in anticipation of adding the new disk.

 

For some reason when I added the second drive, it expanded the pool with the disks listed in single mode, not raid1. When I try to use the balance feature under the first disk I get the following errors.

 

Jan 16 10:27:38 tbgoose ool www[533140]: /usr/local/emhttp/plugins/dynamix/scripts/btrfs_balance 'start' '/mnt/cache_nvme' '-dconvert=raid1,soft -mconvert=raid1,soft'
Jan 16 10:27:38 tbgoose kernel: BTRFS info (device nvme1n1p1): balance: start -dconvert=raid1,soft -mconvert=raid1,soft -sconvert=raid1,soft
Jan 16 10:27:38 tbgoose kernel: BTRFS info (device nvme1n1p1): 241 enospc errors during balance
Jan 16 10:27:38 tbgoose kernel: BTRFS info (device nvme1n1p1): balance: ended with status: -28

 

Googling around suggest this is due to not enough space on the cache disks, but I had ~70GB spare on the original drive (out of 256GB) and as far as my research shows converting to RAID1 shouldn't need lots of extra space or anything.

image.thumb.png.554c98a9ed28f7315f96f2cbcefeaf8d.png

 

Not really sure how to progress at this point. I have turned off docker, have turned off vms. Regardless of whether the array is started I get the same error.

 

This is my main cache pool which contains docker.img, libvert as well as appdata. I am not really comfortable using manual btrfs commands without someone holding my hand...

 

Disk info showing it is btrfs

image.png.486729fc0e7336b3a990e1f657ff2c82.png

 

Edited by tbgoose

Solved by JorgeB

  • Community Expert
  • Solution

Not enough space for the conversion, you need to move some data before, or add a new temp device, like an overlay image.

  • Author

Ok cool, simple enough. I made a bit of space by clearing some VMs I wasn't using (including a 30gb vdisk). It looked like it started, and it did stuff and then errored again.

 

Jan 16 19:49:46 tbgoose kernel: BTRFS info (device nvme1n1p1): relocating block group 30408704 flags metadata|dup
Jan 16 19:49:46 tbgoose kernel: BTRFS info (device nvme1n1p1): found 2400 extents, stage: move data extents
Jan 16 19:49:46 tbgoose kernel: BTRFS info (device nvme1n1p1): relocating block group 22020096 flags system|dup
Jan 16 19:49:46 tbgoose kernel: BTRFS info (device nvme1n1p1): relocating block group 13631488 flags data
Jan 16 19:49:47 tbgoose kernel: BTRFS info (device nvme1n1p1): found 48 extents, stage: move data extents
Jan 16 19:49:47 tbgoose kernel: BTRFS info (device nvme1n1p1): found 48 extents, stage: update data pointers
Jan 16 19:49:47 tbgoose kernel: BTRFS info (device nvme1n1p1): 35 enospc errors during balance
Jan 16 19:49:47 tbgoose kernel: BTRFS info (device nvme1n1p1): balance: ended with status: -28

 

This i what the balance looks like now, did it complete? Still says 33gb is single, and 197GB is raid1. I don't get how it can now be both. I don't think I can reclaim much more space easily unless I copy off the docker.img. That kind of scares me as I would have to use the built in file explorer to move it (no krusader) and that seems to hand for large transfers.

image.thumb.png.67a87721014324bb30153bec63d1000f.png

 

Edit: Managed to claw back a few more gbs, and it has now completed successfully. Thanks for your help. There could perhaps be a note about enospc error in the pool documentation, as from the outside there doesn't seem to be any reason why the space would be needed (as should be converting the second new device, not touching the first one). But likely more going on behind the scenes than I understand?

 

Jan 16 20:50:31 tbgoose kernel: BTRFS info (device nvme1n1p1): found 1739 extents, stage: update data pointers
Jan 16 20:50:32 tbgoose kernel: BTRFS info (device nvme1n1p1): balance: ended with status: 0
Jan 16 20:50:32 tbgoose emhttpd: cache_nvme: btrfs restore profile: raid1
Jan 16 20:50:32 tbgoose emhttpd: update_pool_cfg: 31 cache_nvme 0

 

image.thumb.png.cb971c908d60ef83ffddda0508ea32e4.png

 

Now it is working, do I need to set a balance schedule or I can ignore that?

Edited by tbgoose
update, issue solved

  • Community Expert
2 hours ago, tbgoose said:

Now it is working, do I need to set a balance schedule or I can ignore that?

Typically no, but if there are a lot of changing files, and the pool is kept close to capacity, it may be a good idea, at least a partial balance every month.

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.