Virtualization

I have a ThinkStation with a Xeon processor and 64GB of RAM and I want to use it as a hypervisor.

Ideally, I want to have a distro of Linux running with a large number of people to be able to remote into it. At least twenty.

On the other hand, and this part doesn't matter as much, I was thinking of getting something like RPi's to connect to the server.

What hypervisor would you recommend to accomplish this? Right now, I have Citrix XenSever but I am not really happy with it thus far.

I'm thinking KVM but I'm open to other suggestions.

Other urls found in this thread:

vmware.com/products/horizon.html
wiki.installgentoo.com/index.php/PCI_passthrough
github.com/stascorp/rdpwrap/
kraxel.org/blog/2016/09/using-virtio-gpu-with-libvirt-and-spice/
twitter.com/NSFWRedditVideo

65gb RAM and you want 20 people. You should be ashamed of yourself.

Esxi

What *exactly* are you trying to do? Virtualization might be overkill for your end result.

Some developers run Windows natively and it's currently the only OS they can afford to run. I want to allow them to connect to the ThinkStation and leverage the power of the GPU that is installed in it.

and I want them to be able to remote into a VM running some form of Linux.

>Ideally, I want to have a distro of Linux running with a large number of people to be able to remote into it. At least twenty.

vmware.com/products/horizon.html

>VM
>GPU

Good luck.

thanks. I'll look into this.

What's so good about this over, say, this ?

Proxmox is pretty good, I run it. It's basically a fancy web front end for kvm.

Use KVM

Also, if you only have one GPU, you can only have one VM use that GPU. Follow this guide: wiki.installgentoo.com/index.php/PCI_passthrough

Good luck

I appreciate the help. I think this comes from a fundamental misunderstanding of VMs but can multiple users sign into a single VM or do I have to create multiple VMs to have them all have unique, concurrent sessions?

So to be clear, I just need to allow multiple users into their Linux image at one time.

It depends what you mean by "unique".

Linux is a multiuser system, so you could spin up a single VM and have multiple users sign into it (concurrently); each with their own username, password, home directory, etc.
But they'd still share the same kernel and system-wide configuration, applications, etc; I.E., if you installed a program on that VM, it would show up to every user of that VM. This setup would need a system administrator to keep things tidy.

If you wanted each user to have a *truly* unique session (in that each user would have full power to fuck up whatever they wanted at the system level, and those changes wouldn't be propagated to other users) you'd probably want each user to log on to their own VM.

I would need the former more than likely. Just be able to have people maintain their own home directories and run their own applications.

I am looking into Linux Terminal Server Project right now but I am not sure whether that supports RDP. I don't really want them to have to PXE boot into it.

>can OS can handle multiple users

Do you even have basic understanding how modern operating systems work?

If I have a laptop and I am signed in, my coworker cannot remote into my machine without signing me out. That's what I am trying to clarify. I don't want to have to make 20 VMs if I can have all twenty users on the same one or 5 on 4 of them.

what is you usecase? just curious.
I use Proxmox, it can handle multible users very well

So a couple things here:
I don't know anything about windows, but Linux might work a little differently than you think.

First: Linux let's multiple users sign in remotely (via ssh, for example) or locally. In fact, this is largely how access control is handled: every process has a "User Identification Number" or "UID" of the user that ran it, and this number is used to check permissions (I.E. to check if it can access a certain file or not); even a default, "single user" Linux workstation will have multiple UIDs defined for different general roles such as administration vs daily use, as well as specific roles such as a UID for a database server, or mail server.

It doesn't make much difference to the operating system itself whether these UIDs are used by someone directly logging in on a physical machine, someone logging in remotely, someone issuing a command saying "execute this command as this UID", or a program just being told it has a particular UID. Multiple UIDs are always in use. Linux is built for this. You don't need to virtualize to do this.

Second: Linux doesn't necessarily have a need for a graphical interface. Pretty much everything useful that Linux can do vs Windows is going to be done via the command line (unless you have specific software in mind that you know needs a GUI, or you want to your users to be getting used to the feel of the GUI of a specific distribution). With this in mind, a full fledged RDP-type system doesn't always make sense. If you just want your users to take advantage of the server by running heavy scientific code, there's no reason they need a GUI. You don't need to virtualize to do this.

Third (talking a little out of my element here, so do your research): Linux handles graphics differently than you might expect. The component of the system that let's you access any type of GUI (vs just white text on a black background and a blinking cursor) is called X11 and runs as a server that provides resources (i.e. keyboard, mouse, and monitor) to client programs (I.E. your desktop environment, web browser, etc) to use.

This means that even if you're running Linux on a single-user machine, you're still running an x11 server that is responding to requests from local programs. This also means that the x11 server doesn't particularly give a fuck where the requests are coming from; its just a server that responds to requests, whether its local or remote. x11 session data can be forwarded over SSH, so instead of having a full "remote desktop" you can have individual remote application windows. You don't need to virtualize to do this.

Now, can you us what the fuck you're actually trying to do? It sounds like you might be better off just running a plain old Linux box, no virtualization needed. Especially if you want to issues with the GPU, as others pointed out.

Horizon costs money

KVM is god tier.
Enable physical passthrough (vt-d).
And then you can stub the card and give it to any one of your KVM machines.

If you want to run the same windows system with multiple users then you must install windows server OR use a rdp wrapper that patches on the fly the rdp dll to allow multiple users. something like this github.com/stascorp/rdpwrap/

Linux doesn't have that problem.

>Also, if you only have one GPU, you can only have one VM use that GPU.
Not if you use ESXi

It can be pirated you tard

There's no way it could allow multiple VMs to run on a single GPU.

Isn't this sort of the the goal of virgl?

kraxel.org/blog/2016/09/using-virtio-gpu-with-libvirt-and-spice/