October 20, 20241 yr Hello, I recently upgraded the CPU, Motherboard, etc. in my Unraid server. Some things are super fast, but I believe I've uncovered a substantial bottleneck in the system: my spinning cache drives. I can frequently peg my Intel 12700k at 100%, as reported by Unraid Dashboard, just doing some docker tasks. If I view htop during that period, it shows CPU utilization under 10%. My understanding is that Unraid's CPU calculation includes IOWAITs while htop does not, so the processor is likely stalling waiting on drive access. During this period I can see my array drives are idle (no read/writes) and my cache drives are thrashing like crazy. So I'd like to replace my cache drives with SSDs. I currently have a pair of 4TB drives in a redundant pool as Cache and Cache 2. I only use about 256GB, I just had 4TB drives lying around. I don't want to buy 4TB SSDs to swap them out, so I assume I can't simply stop the array and assign one of the SSDs into the cache drive slot and have it work/rebuild. What is the best process to accomplish this? If it matters, I store appdata and system solely on the Cache. I do have a few shares set up as Cache -> Array. Edited October 20, 20241 yr by Gizmotoy
October 20, 20241 yr Community Expert Solution You will need to move the data somewhere like the array, and then back to the new pool, you can use the mover, or if you can have both pools installed at the same time, you can just copy it directly.
October 20, 20241 yr Author 28 minutes ago, JorgeB said: You will need to move the data somewhere like the array, and then back to the new pool, you can use the mover, or if you can have both pools installed at the same time, you can just copy it directly. Got it. I figured it wasn't quite as easy as just replacing the drives, but was hopeful regardless. For the direct copy latter case you mentioned, what would that process look like? Install the new SSDs Create a new 2-drive cache pool Copy the files over (how would this work, just `cp` to `/mnt/driveX/` ?) Remove the original pool Remove the drives Something like that?
October 21, 20241 yr Community Expert Yes, if you are using the pool for Docker and VM services stopped them first, and when done check all paths, if you are using /mnt/pool_name for any, you will need to adjust, or rename the pool.
October 26, 20241 yr Author I decided to give the mover path a try. It was trickier than I expected because was unfamiliar with the mover settings. For anyone finding this later, you can't just change the primary from Cache to Array and then run the mover. Nothing happens. You have to keep the Primary as Cache, then the secondary as Array. Then you need to set the mover direction to Cache -> Array. Then later when the new pool is ready you reverse the mover direction: Array -> Cache. Notably I had to run the mover two times each way even though there was nothing accessing the cache drive, nor was docker or any VMs running. Strange. In any case, it worked pretty well.
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.