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.

Starting Array with Cache or Unassigned Devices Only

Featured Replies

Hi everyone.

 

My intent is to use unRAID primarily as a VM host. I have a couple of SSDs that I want to put in a BTRFS array to store my VMs (I need BTRFS for copy-on-write). I thought I could just set those two disks as cache drives, but unRAID wont let me start the array like that. 

 

Next, I tried using Unassigned Disks. I had to manually add the second disk to the BTRFS array, but other than that I can mount it and share it just fine... except that I still can't start the array, and with the array stopped, I can't add VMs.

 

I stuck a second USB drive in the machine and called that Disk 1, and that was enough to get the array started and let me use the VM tab, and it seems quite happy to let me use Unassigned Devices or Cache Only to store the VMs, so there doesn't seem to be any technical reason why I need to have an assigned disk to create VMs. And this is a very silly workaround.

 

This seems like a really trivial thing, but I can't seem to find a way around it. Is there some way to force the array to start either with only cache drives, or alternatively, to access the rest of the functionality of unRAID with the array stopped? Is there maybe some javascript I can edit somewhere to bypass the GUI restriction?

Edited by tokyojoe

unRAID has a long history as a NAS, while VM's have been added only recently.  The behavior you are seeing is a characteristic of that history and to the best of knowledge cannot be changed.  I do not know whether Limetech plans to further optimize unRAID as a pure hypervisor.

  • Author

Even as a NAS, though, what do people do who run an SSD-only NAS? I mean, I can't be the first person to run into this problem, can I?

A SSD only NAS isn't officially supported, but even for those who run them the SSDs are assigned as data drives.  The "cache" drive in unRAID is part of the array, but it isn't part of the "storage" array.  The cache drive can cache writes to the storage array, and acts as a defacto "application" drive.

 

Again, you're thinking "unRAID is a hypervisor and it's not letting me do what I want".  It's not.  It's a NAS with a history as a media server and with some great features added, like support for Dockers and VMs.  That may change, who knows?  But if you orient yourself around the idea that it's a NAS, the fact that it needs at least one data drive assigned to the storage array makes sense.  Inconvenient for your use case, but rational.

 

You're not the first to bring this up.  If you want, search the Feature Requests forum and either support an existing request, or make your own.  Given the success of unRAID as a hypervisor your request makes perfect sense, even if it isn't currently supported.

You can do the equivalent with unRAID.

 

Just assign the SSD as disk1. No parity.

 

disk1 will act exactly like the cache in such a minimalist configuration.

 

Starting the "array" will mount the ssd as disk1, start your dockers, and VMs. Your unmounted disks will also mount.

  • Author

I think I've been a little misunderstood. What I'm trying to do is understand how unRAID works so that I can bypass the restriction. I realize that it's a NAS and that it makes sense that it wants a drive in the array.

 

What does "Start Array" actually do, and can I just do those things manually from the command line? How does the unRAID GUI detect that it's been started?

Where are the HTML/PHP files stored? Can they be customized? There are a number of ways that I can imagine bypassing the restriction.

 

 

(@bjp999, my understanding is that SSDs are unsupported as main array disks, that they wont do TRIM, and that I can't put multiple array disks in a BTRFS array (selecting BTRFS appears to make each disk its own independent BTRFS array), unlike with the cache drives.)

Starting the array mounts all of the array disks, shares disk and user shares, activates Dockers and the Docker manager, and activates VMs and the VM manager. Doing the equivalent from the command line and maintaining the gui to configure and control the features is not doable. You might say starting the array is the on switch. Even with no license you can boot unRaid. But starting the array is where the licensing limits are checked and enforced. Only then are the goodies available.

 

But you can certainly configure an SSD as disk1 as I described. The cautions about having SSDs and trim concern maintaining accurate parity. If there is no parity, none of them matter. You can locate the appdata, domains, iso, system, and other user shares (root level folders) on disk1 (it would likely happen automatically as part of install.

 

If all you have is a single sad as disk1 in your array, it would behave just like a cache (except it's name). And when you start the "array", it would be mounted and all of the features in unRaid turned on. 

  • Author

But I have two SSDs, as I said. The cache drives allow me to put those SSDs in a BTRFS array, which is what I want, but I can't do that using the array - even if I format the disk using BTRFS, they are all separate BTRFS file systems. Maybe I'm misunderstanding, but my understanding is that there are quite a number of differences between the cache disks and the array disks.

You are right. With cache you can create a btrfs cache pool. You could likely do that from the command line, but doubt you'd find a way to add it as an array disk.

 

You can install a dummy disk1 (any old sata disk will do) and configure your cache. You'd never have to use the disk1, but you have to have at least one data disk for unRaid to believe you have an array.

  • Community Expert

You can even use a small flash drive and assign it as your data disk.

1 hour ago, bjp999 said:

You are right. With cache you can create a btrfs cache pool. You could likely do that from the command line, but doubt you'd find a way to add it as an array disk.

 

That is not possible. As you already suggested, at least a single disk array can be created, which needs to be started to operate the cache pool.

  • Author

As I said in my original post, I'm using a second USB drive as Disk 1 - that's /is/ my current workaround.

 

I really thought this would just be a simple thing to work around in a more sensible way. (Honestly, I really just didn't want to have to explain to my coworkers why each 

of these would need two flash drives...), but I guess I'm stuck with it for now.

 

There's really no other way? The PHP files can't be modified? There's no API calls or anything? What about installing kimchi or cloudmin or an alternate KVM web-gui?

unRAID is built as a NAS with hypervisor functionality, not the other way around. It is an integral part of the core functionality to start the array and from there start additional functions and features.

 

There is nothing possible with the GUI to go around this core design (as intended by LT).

 

  • Author

Alright. In that case, I should be able to just create VMs through the command-line, right? I'm not really experienced with KVM tools (virsh, etc.), but they seem to be present; does anyone know of any reason that I absolutely need to use the GUI to manage VMs? Alternatively, I found a forum post with someone using virt-manager on unRAID, so I might be able to go that route as well.

 

I completely 100% realize this is a NAS, and that it doesn't support SSD-only NAS configurations, and that I'm doing something weird. I'm not trying to say that LimeTech should do anything different. I'm just trying to tinker.

  • Community Expert

If you don't want the GUI, and you don't want a NAS, then why do you want to use unRAID as a hypervisor? I can sort of understand wanting to not use the NAS, but if you only want to work at the command line then why wouldn't you just choose a more mainline version of linux?

Arguably one of the main reasons to use unRAID as a hypervisor is the management GUI, otherwise why not use Proxmox or ESXI?

23 hours ago, tokyojoe said:

As I said in my original post, I'm using a second USB drive as Disk 1 - that's /is/ my current workaround.

 

I really thought this would just be a simple thing to work around in a more sensible way. (Honestly, I really just didn't want to have to explain to my coworkers why each 

of these would need two flash drives...), but I guess I'm stuck with it for now.

 

There's really no other way? The PHP files can't be modified? There's no API calls or anything? What about installing kimchi or cloudmin or an alternate KVM web-gui?

 

No other documented way. And you are the first one to ask such a question.

 

The beauty of unRAID is that it puts a lot of power into the hands of the end user WITHOUT using the command line or writing programs.

 

It seems that you are willing to go to some pretty exorbitant measures to avoid a simple work around, which I really don't understand. Are you trying to avoid buying a license? I personally think that the workarounds (using a disk1 SSD instead of cache, or using a dummy disk1 [even a small USB stick] and forming a cache pool) are quite sufficient to satisfy the needs of those wanting to leverage the platform only for VMs and Dockers.

 

If you think you represent a fair user base that might have interest in unRAID, you might want to share your enhancement suggestions with LimeTech. They make those types of decisions. I do think having the option to "start the array" consisting of only a cache drive/pool would be a reasonable enhancement, albeit not a high priority IMO.

 

If you are interested in tinkering under the hood, you're not going to get much help here. Bypassing the start array requirement to enable function gets into circumventing the licensing aspect of unRAID, and any threads that are heading in that direction will be removed.

  • Author

To clarify, the main reasons I like unRAID are that it (a) runs off of a USB stick, and (b) has out-of-the-box support for PCI passthrough with basically no extra configuration required. I was trying to get it to work with a regular Linux distribution with KVM installed, but I couldn't get PCIe passthrough to work, even after many hours of following tutorials and banging my head against my desk. I read about unRAID, and I thought I would give it a try, and amazingly it "just worked", and I was sold. I also looked at Proxmox, and though I haven't tried it, it looks like it would require a similar amount of configuration to get passthrough to work, so I feel like it's likely that I would have the same problems getting it to work. We've used ESXI in the past, and it works, but we have other things we don't like about it and are exploring other options. I don't care too much about the KVM gui in unRAID (although it would be nice) as it seems like I may need to make custom changes to the XML anyway, which (according to my limited understanding, at least) makes it difficult to use the GUI without risking losing those changes.

 

Honestly, I think I will just stick to using a dummy USB stick as I'm doing now, as you said. I just have a bad habit of taking these little challenges too seriously.

 

I didn't realize the license was tied to the functionality of starting the array specifically (I would have thought the whole system to stop working without a key). I certainly didn't expect to be accused of trying to avoid the licensing process with what I thought was a tiny tweak. With this in mind, I can understand why this isn't as small of an issue as I'd realized.

 

Anyway, thanks for your comments, everyone.

That makes sense.

 

No insult intended. And for the record no accusation was made. Just a question, and explaining that start array is the point at which licensing is enforced.

 

I agree that the VM Manager GUI is lacking a few features, and that editing the XML is not ideal. Exacerbated by the fact those edits are lost the next time the VM manager GUI is used to make other updates.

 

I do expect @bonienl had it in his sights and will be enhancing it to support the additional configurations required for passthrough.

 

A bit delayed - but welcome to the unRaid forums! Hope you will become an active member here, sharing your experiences, ideas, and ultimately advising others with issues around visualization! 

 

Plesse consider giving the NAS side of the house a try. You might find you'd like to use it for your data needs. It is a fantastic platform for managing a lot of space and reducing / limiting risks of data loss very economically.

 

Best of luck! 

3 hours ago, bjp999 said:

I do expect @bonienl had it in his sights and will be enhancing it to support the additional configurations required for passthrough.

 

This is something being discussed with LT, it requires substantial changes to the VM manager, but plans do exist to further enhance the VM manager functionality.

 

Archived

This topic is now archived and is closed to further replies.

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.