January 25, 20224 yr First off, I apologize if anything I'm asking warrants a "RTFM" - I tried doing my due diligence by reading the manual and exploring the threads here, but before I start trying to experiment with my current setup I'd just like a sounding board. So my current hardware has support for one NVMe M.2 and one 2.5" or 3.5" disk. My plan was use Unraid as my Docker/VM manager while all of my media/data is hosted on my Synology DS920+. Since I didn't need a ton of space, I opted to forego using an HDD and just installed a single 1 TB NVMe drive. I set up my array on the single NVMe and installed Unassigned Devices in order to connect to the Synology NAS via SMB. Everything seemed to be working great for a while - I had a few docker containers installed (Plex and *arrs mostly) and a Home Assistant VM. But then things started getting a bit sluggish. The Plex/Radarr/Sonarr GUIs weren't responding as fast, and Plex didn't seem to want to serve up library information as quickly on any of my clients. After doing a bit of research it seems that using an SSD may not be recommended in the primary array. I believe I ignored this advice in the manual due to my lack of terminology experience, thinking that my single drive doesn't count as an "array". It also seems that since the SSD is in the array, trimming does not automatically occur, which could be causing some of the sluggishness I'm seeing (although most articles I read about trim point to write speeds, not read speeds). So I guess my questions are: 1. Is my current setup actually not advised? 2. If so, what changes should I make for my use case? My best guess is to somehow make my HDD (currently not installed) the array drive and make my NVMe a cache drive. Though I'm not sure how I should go about doing that in a way that minimizes the chance of me losing all of the data currently on the NVMe drive. I have backed up all of my applications, but I'd prefer not to go through the restoration process for each application if I can avoid it. Thanks in advance for any insight offered!
January 26, 20224 yr Community Expert One option that some people use is to use a small USB stick as the only array drive (with no data being stored on it) and then set up the SSD as a pool device. This meets the requirement that Unraid must have at least 1 drive assigned to the main array before it can start up properly, and pool devices CAN be trimmed.
January 26, 20224 yr Author 7 hours ago, itimpi said: One option that some people use is to use a small USB stick as the only array drive (with no data being stored on it) and then set up the SSD as a pool device. This meets the requirement that Unraid must have at least 1 drive assigned to the main array before it can start up properly, and pool devices CAN be trimmed. I've seen that suggestion as well. How do you think I should go about "converting" my NVMe drive to a pool device, and is it an issue to have my docker/VMs running on a pool device and not the array itself? I'm still getting a feel for what the Unraid OS requires/expects.
January 26, 20224 yr Community Expert 1 hour ago, Rick_ said: I've seen that suggestion as well. How do you think I should go about "converting" my NVMe drive to a pool device, and is it an issue to have my docker/VMs running on a pool device and not the array itself? I'm still getting a feel for what the Unraid OS requires/expects. You could use Tools->New Config and simply assign the nvme to a pool and if it is set for the same file system as it is using currently then it will be picked up with data intact. Note that the default for array drives is xfs while for pools it is btrfs (and multi-disk pools MUST be btrfs). Most people use a pool for dockers and VMs so that is definitely not an issue. Typically the array is used for storing large files (e.g video) or backups which do not fit onto a pool.
January 27, 20224 yr Author 4 hours ago, itimpi said: You could use Tools->New Config and simply assign the nvme to a pool and if it is set for the same file system as it is using currently then it will be picked up with data intact. Note that the default for array drives is xfs while for pools it is btrfs (and multi-disk pools MUST be btrfs). Most people use a pool for dockers and VMs so that is definitely not an issue. Typically the array is used for storing large files (e.g video) or backups which do not fit onto a pool. Thanks! I was a little worried going that route since the description of the "New Config" tool only specifically refers to arrays, not pools, so I actually tried something a little different and was successful. Basically documenting it for my future self and anyone else who needs to do it as well: Shut down the system Physically installed a PCIe NVMe M.2 carrier card with an additional 1TB NVMe drive. Physically installed a 3.5" 2TB HDD Booted up the system In the Main tab, I left the array as it was (with the original NVMe drive) Created a new pool with the new NVMe drive using a btrfs file system Disabled Docker and VM Management in Settings Started the array Went to my Shares tab and set all the ones I want on the cache pool to Prefer: Docker (Docker being the name of my cache pool) This actually exposed a bug / UI issue with Unraid. From the main Shares page every one of my shares displayed Prefer: Cache. When clicking on the settings of a share, Use Cache Pool was set to Prefer and Select Cache Pool was set to Docker with the Apply button greyed out. I assumed that meant that I'm seeing the current settings, not realizing that "Cache" in "Prefer: Cache" was actually the name of a previous cache pool that doesn't exist anymore. This resulted in Mover not actually moving anything since the Cache pool didn't exist. I fixed this by changing the Use Cache Pool dropdown settings to No, then immediately changing it back to Prefer. The Apply button was then able to be clicked, saving the settings. In the Main tab I clicked the Move button. It took about 30 min to move 60 GB from the array NVMe to the cache NVMe. My next step is to add the 2TB HDD to the array, then remove the 1TB drive from the array and make it another cache pool for VMs. As a side note, I think they should rename the Use Cache Pool options... maybe something like: No --> Cache Unused, Write to Array Yes --> Write to Cache, Move to Array Prefer --> Write to Cache, Overflow to Array Only --> Write to Cache, Array Unused
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.