Keep certain VM's running without array started


Recommended Posts

14 hours ago, ich777 said:

I really don't think this will ever happen because if you allow this the licensing model from Unraid is basically useless.

Think the other way around, a user who installs the ZFS plugin creates a zpool and/or mounts disks via Unassigned Devices and is allowed to run the VM and/or Docker without the Array started what's the point then of the license?

I think you get what my point here is...


I see, now I understand more.

I don't mind a different kind of licensing scheme to enable this feature, even one at higher price and with online activation... if you can think of a good way to implement it :)

Link to comment
3 hours ago, ysss said:

I don't mind a different kind of licensing scheme to enable this feature, even one at higher price and with online activation... if you can think of a good way to implement it

That's a difficult balancing act for Limetech as many users want to stay 100% offline and not connected to any third party server. See the lively discussions over UPC on several thread.

One solution could be a two prong licencing scheme (online OR offline), but that would mean more work.

 

Back on the topic, I share the viewpoint of ich777.

Even ignoring the question of Unraid specifically and while I see the appeal of server consolidation, I do not think that it should apply to ALL functions.

I feel that it is not a good idea for mission critical functions (pfsence, homeassistant, etc.) for all the reasons that you mention. Having the server being able to run those without the Array is not a proper solution but more of a crutch.

 

If I ever was to run something of the sort, I would definitely go to a dedicated low maintenance, high availability additional server.

  • Like 1
Link to comment

Just seeing some of the comments on ‘you don’t know the internals’ - damn right I don’t and I don’t care as none of my business, it doesn’t change the fact that as a consumer I have valid requirements.

Will they get implemented, hey I don’t know, or if when (due to design choices maybe by lime tech), but I do know market forces and eventually someone will release a product that meets these requirements.

Ultimately I think people are paying for two things:

1) the unraid parity solution (best efficiency ref disk space) - this is technically free given the open source code is available, so really they’re paying for the UI to configure it

2) the docker community App Store, which is also community/open source as I understand it.

I’m sure if enough frustrated people don’t get their diva-ish ways one will crack and start building a module for OMV on some other open source base platform.


Sent from my iPhone using Tapatalk

Edited by johner
  • Like 1
Link to comment
On 3/4/2022 at 1:45 PM, ChatNoir said:

That's a difficult balancing act for Limetech as many users want to stay 100% offline and not connected to any third party server. See the lively discussions over UPC on several thread.

One solution could be a two prong licencing scheme (online OR offline), but that would mean more work.

 

They could leave the current (offline) licensing alone with v6.9 and just switch to online from v6.10 and onward... 

 

What are the argument for offline licensing these days? I mean, you still need to go online to get updates, addons, do online backups and whatnot. 

 

On 3/4/2022 at 1:45 PM, ChatNoir said:

 

Back on the topic, I share the viewpoint of ich777.

Even ignoring the question of Unraid specifically and while I see the appeal of server consolidation, I do not think that it should apply to ALL functions.

I feel that it is not a good idea for mission critical functions (pfsence, homeassistant, etc.) for all the reasons that you mention. Having the server being able to run those without the Array is not a proper solution but more of a crutch.

 

If I ever was to run something of the sort, I would definitely go to a dedicated low maintenance, high availability additional server.

 

I never thought of hosting pfsense\firewall on a VM, but for my case... my unraid server seems to be the most 'available', since it has dual PSU, ECC ram, a higher quality supermicro motherboard, etc.... so in that sense, I'm leaning toward putting mission critical stuff on the best hardware that I own...

Link to comment
26 minutes ago, ysss said:

What are the argument for offline licensing these days?

When the internet goes out, I still want access to my stuff. Requiring an internet connection to start my storage server is a HUGE nono.

 

Internet is still a fickle thing in some parts of the world. I'm glad you are privileged enough to not have to worry whether the internet is down, but you are not considering what life is like for us peons with spotty internet.

 

If you have no concerns about losing internet, why even bother with local storage? Just stream everything.

  • Like 1
  • Upvote 1
Link to comment

I understand that it could be bad to allow a VM to start without the array because the Unraid license model (as some of you pointed out). However, if Unraid sees it has a PRO license active then it should not be a problem. Perhaps, make a new license "PRO+" and then we can simply pay for the additional features we want. A "system pool" can and should be added for VM's and Docker to be able to run independently from the array (a lot of users already run their systems this way). At the end of the day, if it can be done great, if not that's fine. This is merely a feature request. If not I'll just have to run a separate system, but its not something I'm looking to do. So if ultimately the problem has to do with licensing and the possibility of Unraid being 'cheated' out of licensing, then just add a new license that allows for this. Is there something else I'm missing?

Edited by JustOverride
Link to comment
13 hours ago, JonathanM said:

When the internet goes out, I still want access to my stuff. Requiring an internet connection to start my storage server is a HUGE nono.

 

Perhaps it can give a X-days reprieve by allowing it to downgrade to trial\temporary license before it can reauthorize?

 

13 hours ago, JonathanM said:

 

Internet is still a fickle thing in some parts of the world. I'm glad you are privileged enough to not have to worry whether the internet is down, but you are not considering what life is like for us peons with spotty internet.

 

I get you... I was gonna say that nowadays just about everyone has access to cellular internet and that most people would already find alternative ways to access the net if they experience outage for more than hours...

 

But then again, personal\smartphone connectivity is very much different than a storage server's.. not to mention that some of these servers found their use due to the unavailability\unreliability of internet connection in the first place.

 

 

So yeah, point taken.

 

Anyway, this is just a feature request.... and I think a (reasonable) online licensing model today is much more acceptable than it was a few years ago.. and things will continue to move toward that end of the spectrum (everything is hyper connected).

 

 

Link to comment
  • 4 weeks later...
  • 3 weeks later...

Yes. please allow this.

I have the highest level license.

I have 60 drives.  12 are in the Array, the others are in various pools.

One of the pools is for instance a btrfs 1c3-0 raid (3 copies of each item, striped across 4 disks.  Another is an SSD pool, another is an NVMe/Cache Pool, and last is a backup of the Array, since I have found the Unraid array to not be as robust as I thought.

 

I think that FreeNAS lets you do that so I may end up moving there.  But since there are different sets of data on each pool, and I run a slew of services in Docker, It is not acceptable that EVERYTHING go down, because one disk in the Array is having a transient error.

 

No data at all for Docker is even stored on the Array.  It should be possible to run it without.  I am about to try from the CLI, but the people who act like  they know the development of the software and say that this isnt possible is flatly untrue.  
 

The majority of the techniques used here are Open Source Linux solutions, with the exception being the parity calculation across the block devices.  Everything else, the volumes, shares, raid, whatever, could be done in vanilla Linux if you want to dive DEEP into the Command line stuff.

 

Please allow me to start Docker without the Array being up, and start up pools separately.  This wouldnt be that hard actually, and were this open source I could even help with it.  Because of the number of disks and arrays it takes forever to mount and enable all the pools and drives, if I have to do a hardware operation on a single pool. 

 

This is despite the fact that there is no interdependence at all between these pools.

 

I know I am not using Unraid in a traditional sense, but if we dont have some basic features I might have to do something else. I like the interface and UI, and Unraid has held my hand while I learn the in depth features of linux vol management over the years (which I knew nothing about at the start), and migrating would be a huge pain.  I like the ecosystem and community, but this glaring flaw really hurts the people who want to push the software.  I may have to virtualize it like others do.  Which is silly, its supposed to be the hypervisor.  But pulling down all 5 pools and 20 docker services such that none of my internal network features are available, just because I want to move a drive from shelf A to B is ridiculous.

Link to comment

See this image as a rough example.  I also use BTRFS on several, and may try ZFS, but it gives an overview of the abstractions involved.

 

 

Also if you use encryption, the PV layer uses cryptsetup and the devices in /dev/mapper in a layer just below.  This maps dm-# to md#.  BTRFS / ZFS /XFS live in the FS layer/

 

The parity calculations all occur at the PP layer.  And the "Array" is at the LV level- sort of, since there is a Filesystem on each drive, and they get mounted into a filesystem on top of the FS layer in /mnt/user/.

 

In the end, the Unraid Array is just a software Raid5/6 that exceeds the nominal safe limits, and allows you to have 20 drives and 1 parity, with a dedicated parity disk rather than rotating parity blocks.

 

The pools are entirely separate. 

 

All of this is demonstrable by the fact I can mount these disks manually without the array started (and I need to sometimes since early on I made my array BTRFS- which is flat out pointless and a pain- but Ive had to learn to mount the drives manually.

 

 

70ap44fe0vwy.png?width=960&crop=smart&au

 

To mount a drive without the array started, generally the commands are:

 


cryptsetup luksOpen /dev/sdag1 myDiskName
# should ask for password PID
# cryptsetup luksOpen mountpoint+partition# Name/Handlels

#should now show up here
ls /dev/mapper
# create a place to mount it
mkdir /mnt/myMountPoint
mount -t btrfs /dev/mapper/myDiskName /mnt/myMountPoint

 

Other useful commands are: and I have a slew more, but it really gets off the point

for x in /dev/mapper/*; do echo "$(realpath $x) -> $x"; done;


 

dmsetup ls --tree -o blkdevname

 

I am working on commands to bring up a pool without the array, and Ill just put it in the "go" file. Or maybe write a plugin, though I have 0 idea how plugins are made.

Link to comment
1 hour ago, AndyT86 said:

Yes. please allow this.

I have the highest level license.

I have 60 drives.  12 are in the Array, the others are in various pools.

One of the pools is for instance a btrfs 1c3-0 raid (3 copies of each item, striped across 4 disks.  Another is an SSD pool, another is an NVMe/Cache Pool, and last is a backup of the Array, since I have found the Unraid array to not be as robust as I thought.

 

I think that FreeNAS lets you do that so I may end up moving there.  But since there are different sets of data on each pool, and I run a slew of services in Docker, It is not acceptable that EVERYTHING go down, because one disk in the Array is having a transient error.

 

No data at all for Docker is even stored on the Array.  It should be possible to run it without.  I am about to try from the CLI, but the people who act like  they know the development of the software and say that this isnt possible is flatly untrue.  
 

The majority of the techniques used here are Open Source Linux solutions, with the exception being the parity calculation across the block devices.  Everything else, the volumes, shares, raid, whatever, could be done in vanilla Linux if you want to dive DEEP into the Command line stuff.

 

Please allow me to start Docker without the Array being up, and start up pools separately.  This wouldnt be that hard actually, and were this open source I could even help with it.  Because of the number of disks and arrays it takes forever to mount and enable all the pools and drives, if I have to do a hardware operation on a single pool. 

 

This is despite the fact that there is no interdependence at all between these pools.

 

I know I am not using Unraid in a traditional sense, but if we dont have some basic features I might have to do something else. I like the interface and UI, and Unraid has held my hand while I learn the in depth features of linux vol management over the years (which I knew nothing about at the start), and migrating would be a huge pain.  I like the ecosystem and community, but this glaring flaw really hurts the people who want to push the software.  I may have to virtualize it like others do.  Which is silly, its supposed to be the hypervisor.  But pulling down all 5 pools and 20 docker services such that none of my internal network features are available, just because I want to move a drive from shelf A to B is ridiculous.

 

You can technically already do this by pulling the customized raid6 module from unraid and re-compiling md to use it - then you're just depending on whatever OS you're running to do the VM/container work. 

Link to comment
 
You can technically already do this by pulling the customized raid6 module from unraid and re-compiling md to use it - then you're just depending on whatever OS you're running to do the VM/container work. 

Yes exactly, for those that are curious, search the forum. There is a guy in Europe (Thomas Hellstrom) that has done this and even written his only cli based status/management tool. I tried to get him to publish it on GitHub but he’s yet to do it (well hadn’t a few months back when I last checked).


Sent from my iPhone using Tapatalk
Link to comment
1 hour ago, johner said:


Yes exactly, for those that are curious, search the forum. There is a guy in Europe (Thomas Hellstrom) that has done this and even written his only cli based status/management tool. I tried to get him to publish it on GitHub but he’s yet to do it (well hadn’t a few months back when I last checked).


Sent from my iPhone using Tapatalk

 

I'd guess it's well and truly finished... but I'd also guess that he probably shares my concern that publishing such, while still legal, could greatly impact limetech in a negative manner. I'd only just realized that the whole thing wasn't a completely proprietary blob a few weeks back when I was trying to recompile mdadm to 'behave normally' so I could test out an lvm cache for the unraid array and stop worrying about mover. 

 

For those who are truly in need of this, I do hope they find a way to implement it within the OS, but if not, they've always got the option to compile it - if they don't know how, but have a strong enough desire to warrant it, what a great opportunity to learn!

 

... I could just imagine someone seeing a guide they could copy/paste without ever knowing or understanding the herculean efforts the fellows have put into making this thing, reaping the benefits but without paying for it (in either sweat equity, or to the unraid devs). I'm all about open source, but I'm also pragmatic; most don't contribute back to the projects they use, and limetech's already got a business around this with people's family's depending on it for income. I'd hate to be the person whose actions resulted in slowing down development due to layoffs, or worse, them having to close up shop altogether.

Link to comment
  • 5 weeks later...
On 3/3/2022 at 8:43 PM, ich777 said:

I really don't think this will ever happen because if you allow this the licensing model from Unraid is basically useless.

Think the other way around, a user who installs the ZFS plugin creates a zpool and/or mounts disks via Unassigned Devices and is allowed to run the VM and/or Docker without the Array started what's the point then of the license?

I think you get what my point here is...

 

You can check the license before starting those VMs.

 

It is so crazy to assign every function with array starting.

When I try to modify some small configure, like server name, I should stop all my docker container and all my vm (someone are router and dns server, so the remote connecting will be lost), and then I can stop array, for what I want to do. But they obviously don't need array.

  • Like 1
Link to comment
1 hour ago, SeanOne said:

 

You can check the license before starting those VMs.

 

It is so crazy to assign every function with array starting.

When I try to modify some small configure, like server name, I should stop all my docker container and all my vm (someone are router and dns server, so the remote connecting will be lost), and then I can stop array, for what I want to do. But they obviously don't need array.

 

Not to be pedantic, and I do really get where you're coming from (I've posted several times in the thread outlining justifications for this feature above), but changing your servers name, especially on a NAS, is kind of a big deal as it has lots of implications - windows even makes you reboot, for example. Even changing a ports IP address I'd consider to be a less disruptive task, as you could simply be changing one of any number of ports addresses, while the hostname impacts em all across the board.

  • Like 1
Link to comment
  • 4 months later...

+999999

 

Please implement the feature to run VMs/Docker without having a Array started. No joke... I would pay 100 € instant to get this feature. Let's do a kickstarter campaign? :)

 

@limetech

Are there any plans or did you ever discussed this feature internally? What can we do to push this?

 

Currently I'm running unraid as a proxmox vm and the only reason for me not to upgrade, is that missing feature. But I want to run unraid on bare metal so hard... :/

Link to comment
  • 1 month later...

i run unraid as a vm / usb passthrough on esxi 8. whilst i support the idea of this feature i dont think its a huge leap to suggest people just use something else. 

 

everybody can run esxi for free near enough, the limitations aren't huge - its performance is very similar to baremetal and you get a degree of abstraction so you can further test whether its an unraid based fault affecting you or not. (or you can run proxmox for free too)

Link to comment

The beef people have, is it adds layers of complexity. unraid has native VM capability.

 

esxi 8 has specific hardware requirements that not everyone can or want to meet.

 

I use proxmox which is a lot more forgiving in this regard. I’d still like to have one management console, and my dockers to continue running when I perform work on the array. I also like the community apps that are VM image builders like the macOS one, a lot more faff trying to get these running on prox or esxi.

 

I think there is enough of an ask here for it to be a valid requirement for lime tech to figure out a design that works and meets their licensing requirements.

Edited by johner
Typo
Link to comment
On 11/1/2022 at 3:37 AM, johner said:

my dockers to continue running when I perform work on the array

How do you accomplish that when the containers need the array to function? And before you say, "all my containers can be run without the array" remember that the vast majority of the containers or VM's people use with Unraid use the array for bulk or working storage.

 

This is not a simple ask, it would require major rewrites of almost all of Unraid, and change how things work on a fundamental level.

Link to comment
9 minutes ago, JonathanM said:

How do you accomplish that when the containers need the array to function? And before you say, "all my containers can be run without the array" remember that the vast majority of the containers or VM's people use with Unraid use the array for bulk or working storage.

 

This is not a simple ask, it would require major rewrites of almost all of Unraid, and change how things work on a fundamental level.

 

 

May it's usefull to just shut down VM's which are using the array. Apps like unifi controller, don't really need the array to work.

Edited by enJOyIT
Link to comment
28 minutes ago, JonathanM said:

How do you accomplish that when the containers need the array to function? And before you say, "all my containers can be run without the array" remember that the vast majority of the containers or VM's people use with Unraid use the array for bulk or working storage.

 

This is not a simple ask, it would require major rewrites of almost all of Unraid, and change how things work on a fundamental level.

idk the truth to this but on the face of it, it doesn't seem like a massive problem to solve.

 

we already have HW USB GUID based validation for licencing

we already have infrastructure set in place to backup / migrate those USB sticks

 

its not a huge stretch to say have an option where you flag a specific nvme ssd or regular ssd as a 'docker / vm' device and that thing is allowed to boot without the array main splash thing operating. it could purely be limited to people who are valid licence key holders and subject to the same 'once yearly' migration plans etc

 

none of that seems too farfetched to me, seems easily workable if enough desire to implement is had. if i was to pull a statistic out my ass, i'd guess around 75%~ of unraid users have some form of ssd (whether nvme or not) and the way the industry / market is going, you can have them for super duper cheap now. cost is barely becoming a barrier anymore. i've seen $20 deals on 250gb nvme ssd's or $25 deals on 500gb ssd's. 

 

no decision will ever have the entire userbase support but i've seen patches / bugfixes / development time spent on niche user experience stuff (like drivers for niche hardware) so if the vast majority of users could have this implemented in the way i described, i dont think it'll cause the entire house of cards to come tumbling down. you might get a few butthurt users who dont have ssd's or dont want to have say bi-weekly online auth or something but they'll soon come round when they need the functionality. 

  • Upvote 2
Link to comment
7 hours ago, JonathanM said:

How do you accomplish that when the containers need the array to function? And before you say, "all my containers can be run without the array" remember that the vast majority of the containers or VM's people use with Unraid use the array for bulk or working storage.

 

This is not a simple ask, it would require major rewrites of almost all of Unraid, and change how things work on a fundamental level.

Array = parity array…

 

docker and VMs should be able to continue to run on a cache etc.

 

basically make each array independent with their own start/stop/check buttons etc.

 

this might then also support multiple parity arrays…

Link to comment

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.