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.

Cache Drive Removal Help

Featured Replies

Until recently I have been using an OCZ Revodrive 350 480GB PCIE SSD as my cache drive. In Windows it shows up as a single 480GB drive, but in Unraid it appears as 4x 120GB drives because I think on Windows its driver makes it appear as one. Anyways, I had it setup as a BTRFS RAID 0, but because it is old and I want a little redundancy, I decided I wanted to replace it with 2x 120GB SATA SSDs. I have added the new 120GB SSDs to the cache pool and set the pool to RAID 1 and would like to now remove the Revodrive all together, which will logically remove 4 of the 6 cache drives. However, from what I understand, this is NOT okay because BTRFS RAID 1 does not just mirror across all disks exactly the same, which seems to be supported by the fact that the cache is reporting a size of 364GB. My question is, how can I remove the 4x 120GB from the Revodrive from the cache safely?

 

Untitled.thumb.png.16e4ca55dda447fb3220e692282aaca9.png

Solved by JorgeB

  • Community Expert

You should be able to remove it using the CLI, but please post the diagnostics first. 

  • Community Expert

Since you are still on v6.12 you can remove them using the GUI, with v7.0 there's currently an issue and the CLI would need to be used.

 

To remove them, just stop the array, remove one of the devices, start the array, wait for the balance to finish, and the device removed, i.e., when the pool read/write activity stops, and then stop the array and remove another device, repeat until all 4 are removed.

 

You can then reimport the pool with the remaing 2 devices as cache1 and cache2, stop the array, if Docker/VM services are using the cache pool disable them, unassign all cache devices, start array to make Unraid "forget" current cache config, stop array, reassign all cache devices (there can't be an "All existing data on this device will be OVERWRITTEN when array is Started" warning for any cache device), re-enable Docker/VMs if needed, start array.

  • Author

So I removed the first two Revodrive drives one at a time, letting it do a balance after every one. Then I swapped the positions of the new SSDs to the top, one at a time with a balance as well. That left me with the two new SSDs in the cache1 and cache2 positions, and 3 and 4 were still Revodrives. I then went to remove the Revodrive in position 4, but when I started the array again it now says 'Unmountable: Unsupported or no file system' on the cache drives. I tried re-adding the drive I just removed but that didn't change the unmountable status. Not sure why the removal of that drive made it unmountable all of a sudden... Is there anything I can do to fix that? I did take a backup of the cache just before doing the drive shuffling, but I think it only backed up docker related things...

Diagnostics.zip

Edited by lanlawr

  • Community Expert

I did say to make the remaining cache devices 1 and 2 by reimporting the pool in then end, not rearranging devices, post the output from:

 

btrfs fi show

 

  • Author

Yeah it looked like I could do that, apparently not, that's on me

 

Label: none  uuid: d82a2777-eb96-4d7f-95e1-5658d0b0289f
        Total devices 1 FS bytes used 412.00KiB
        devid    1 size 1.00GiB used 126.38MiB path /dev/loop2

warning, device 4 is missing
Label: none  uuid: 12860a44-93b2-4324-9eab-67904c1378fc
        Total devices 3 FS bytes used 46.49GiB
        devid    3 size 111.79GiB used 30.00GiB path /dev/sdh1
        devid    7 size 119.24GiB used 38.03GiB path /dev/sde1
        *** Some devices missing

 

  • Community Expert

Type

sfdisk /dev/sdd

then type 2048 and Enter and post the output from that, but don't continue

  • Author
Welcome to sfdisk (util-linux 2.38.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Checking that no-one is using this disk right now ... OK

Disk /dev/sdd: 111.79 GiB, 120034123776 bytes, 234441648 sectors
Disk model: KINGSTON SA400S3
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

Old situation:

Device     Boot Start       End   Sectors   Size Id Type
/dev/sdd1        2048 234441647 234439600 111.8G 83 Linux

Type 'help' to get more information.

>>> 2048
Created a new DOS disklabel with disk identifier 0x50c9ee1c.
Created a new partition 1 of type 'Linux' and of size 111.8 GiB.
   /dev/sdd1 :         2048    234441647 (111.8G) Linux
/dev/sdd2: 

 

  • Community Expert

Hit CTRL + C to abort, and repeat, but now with 64 instead of 2048

  • Author
Welcome to sfdisk (util-linux 2.38.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Checking that no-one is using this disk right now ... OK

Disk /dev/sdd: 111.79 GiB, 120034123776 bytes, 234441648 sectors
Disk model: KINGSTON SA400S3
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

Old situation:

Device     Boot Start       End   Sectors   Size Id Type
/dev/sdd1        2048 234441647 234439600 111.8G 83 Linux

Type 'help' to get more information.

>>> 64
Created a new DOS disklabel with disk identifier 0x3b99b2fc.
Created a new partition 1 of type 'Linux' and of size 111.8 GiB.
   /dev/sdd1 :           64    234441647 (111.8G) Linux
/dev/sdd2:

 

  • Community Expert

That device it's not going to help, but maybe sdi can, abort that and type

sfdisk /dev/sdi

then type 2048 and Enter and post the output from that

 

  • Author
Welcome to sfdisk (util-linux 2.38.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Checking that no-one is using this disk right now ... OK

Disk /dev/sdi: 111.79 GiB, 120034123776 bytes, 234441648 sectors
Disk model: OCZ-REVODRIVE350
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

sfdisk is going to create a new 'dos' disk label.
Use 'label: <name>' before you define a first partition
to override the default.

Type 'help' to get more information.

>>> 2048
Created a new DOS disklabel with disk identifier 0x235667ee.
Created a new partition 1 of type 'Linux' and of size 111.8 GiB.
Partition #1 contains a btrfs signature.

Do you want to remove the signature? [Y]es/[N]o: ^C
root@StuffNThings:~# sfdisk /dev/sdi

Welcome to sfdisk (util-linux 2.38.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Checking that no-one is using this disk right now ... OK

Disk /dev/sdi: 111.79 GiB, 120034123776 bytes, 234441648 sectors
Disk model: OCZ-REVODRIVE350
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

sfdisk is going to create a new 'dos' disk label.
Use 'label: <name>' before you define a first partition
to override the default.

Type 'help' to get more information.

>>> 64
Created a new DOS disklabel with disk identifier 0xc03fe7ed.
Created a new partition 1 of type 'Linux' and of size 111.8 GiB.
   /dev/sdi1 :           64    234441647 (111.8G) Linux
/dev/sdi2:

 

  • Community Expert
27 minutes ago, lanlawr said:
Partition #1 contains a btrfs signature.

This is what I was looking for:

 

now type again:

sfdisk /dev/sdi

The type

2048

then N to keep the signature, then type

write

and when done post a new output from 

btrfs fi show

 

  • Author
Label: none  uuid: 12860a44-93b2-4324-9eab-67904c1378fc
        Total devices 3 FS bytes used 46.49GiB
        devid    3 size 111.79GiB used 30.00GiB path /dev/sdh1
        devid    4 size 111.79GiB used 30.03GiB path /dev/sdi1
        devid    7 size 119.24GiB used 38.03GiB path /dev/sde1

 

  • Community Expert

Now reimport the pool with those 3 devices, unassign all current cache devices, start array to make Unraid "forget" current cache config, stop array, reassign those 3 devices (there can't be an "All existing data on this device will be OVERWRITTEN when array is Started" warning for any cache device), start array and post new diags.

 

P.S. even if the pool mounts normally don't try to add/remove more devices before I can look at the diags 

 

 

 

  • Author

Okay, the cache did mount properly, here are the diagnostics

Diagnostics.zip

Edited by lanlawr

  • Community Expert
  • Solution

Pool profile looks good, you now need to add back the Kingston SSD, since it's no longer part of the pool, so this would be the recommended way forward:

 

-stop array, add the Kingston SSD as device 4 (don't change the slot order for the devices for now), start the array, when that's complete

-remove the two remaining OCZ devices, one at a time, when that's done

-reimport the pool with just the two remaining devices, unassign all cache devices, start array to make Unraid "forget" current cache config, stop array, change pools slots to 2, reassign the 2 devices as cache1 and cache2 (there can't be an "All existing data on this device will be OVERWRITTEN when array is Started" warning for any cache device), start array and post new diags to confirm all looks good.

 

 

  • 3 months later...
  • Author

Totally forgot to follow up. After following the rest of the instructions properly, everything is all good and the new cache is happy. Thanks!

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.