Ask slashdot: Which 100+ User Virtualization Solution Should I Use?
Gonzalez_S writes "Let's say you need to give access to 100+ users to create their own virtual machines and devices (eg. switches, .., ms windows or linux family) in a manageable and secure way. Which virtualization solution would you choose? There are vmware, xen, kvm, .. based solutions, but which one would you prefer and why? The solution should be stable, manageable, scriptable and preferably have ldap integration. In this case I also need to setup a playground for IT students, next to hosting production servers on the same system."
Why not work with AWS to setup a "private cloud" sandbox? Reserved instances can keep your costs relatively flat, and the AWS crew seems pretty amenable to helping out when it comes to unique needs...
vmware is cheaper and easier to set up
Citrix is a lot more expensive and a PITA to set up but a lot faster since Windows 7 and later has native citrix code in it for virtualization and a lot more customization
Pretend the last sentence or two weren't there. Then how would you answer the question? That might help the OP and community at large.
When my company had to come up with a solution to have all of our developers to develop in an environment that absolutely mimicked the production server we used a combination of VMWare to run a version of the Ubuntu. Puppet made creating all of this really easy. It gave us the ability to completely blow away a machine and reconstitute in very little time.
If you can get away with sharing one kernel (and ideally one distro for userspace), a container-based solution is likely going to be less resource-intensive overall.
Considering that you are likely out of an educational institution, Microsoft likely provides you with free licenses for their products. As such, Hyper-V and SystemCenter would provide you with a fairly good experience that is easy to manage and automatically deploy based off of Active Directory. It is a solution that will likely meet all of your stated requirements and your other likely needs and wants in a package that is "good enough".
If you have a budget, consider VMware's vSphere offering. It can get pretty expensive (license costs greater than that of your physical hardware) however it is currently best-in-class and provides some truly amazing administration tools.
Thirty four characters live here.
Opinions are a great thing to gather when building any type of system no matter how experienced you are. People stand shit up all the time that they aren't 100% familiar with and in this day and age products can change drastically. Do you really expect OP to know everything about every possible virtualization product? I don't see anywhere in his post that he is asking for anything more than an opinion. He doesn't even state that he needs one, he's simple asking for peer feedback. Instead he gets asshat responses from the internets...
I'd consider openstack for this.
CloudStack and XEN Cloud Platform.....known as XCP now thats free...... VMWare isnt FREE........
If they are IT students, install QEMU/KVM kernel modules, and let the students set up the rest.
The fact its all open source and mostly hackable without root rights makes it an ideal project to play with for advanced students.
If you have classes requiring this stuff, set up a few pre-made disk images and run scripts suitable for the classes involved.
Ah fuck off. It's actually a good and interesting question to see what the various specialists come up with.
It's free and offers higher performance than VMWare (which as far as ESXi 5 goes) sucks.
You can create users with privilege levels as expected and you may also cluster several servers together (as you can with other solutions).
You can also do containers OR a full virtual machine depending upon the OS you are trying to emulate.
Give this a shot before paying for any of the software others have recommended. Our company has switched all virtualized servers to run on Proxmox hosts and the uptime is 100% with MANY users.
End of story, everything else here is overkill. KVM sounds just about right for your needs and is very stable and FREE.
You can provide people with a variety of images and single command to deploy them (without root). It's not even that hard to setup. The hard part really is setting up an LDAP server to meet your needs.
---Up Up Down Down Left Right Left Right B A START
Xen with paravirtualized guests would be stable and scale well, as I understand it. There is Xen Center to do this, or you could get the new Debian 7, which is supposed to have good support for that out of the box as well. It has good manageability as I understand it.
But yeah, I'd be of the inclination to do your research rather than have us make the choice for you. We can only offer suggestions, but you need a good idea of what you want to do too. For example, IT students often don't have a good understanding of Linux, despite what you'd think.
I don't agree. There is nothing really unique to virtualization, it's just really interdisciplinary, storage, network engineering, wintel admin, Linux admin, physical datacenter management, etc on these scales. Nothing anyone who has been in IT for awhile and worn a few hats in that time can't be expected to do so reading and then get started.
It is a useful question to ask though, at least several of the products mentioned can likely meet his needs, there are qualitative and technical differences and soliciting some info on he experience of others, to help direct his research effort is not unreasonable
Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
Virtualization will not isolate them against each other. For example, it is quite easy to saturate I/O from the playground. Then your production performance goes down the drain as well. Also, basically no plain virtualization is really secure, these things are fat too complex. Another reason not to mix different classification levels like production and playground. Maybe if you really, really carefully isolate them with SE-Linux, but then you still have things like VM-to-VM crypto-key leakage.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
Take a look at using Jenkins which is a continuous integration builder but can be customized to just bring up VMS as needed. Using LDAP for authentication , and vagrant for VM management, you should be able to get a decent setup going.
Jenkins can ask the user for system name, IP, etc, and pass those values on to a dynamically generated vagrant file used to instantiate the VM. Best part is that users can store their public ssh key in LDAP and Jenkins would automatically deploy it, giving the user instant access to their box
seemed to have modded you "insightful" ?
sounds like youre a butthurt little bitch with a high sensitivity for job security
yes - ive seen your types everywhere - hording all the knowledge with retarded excuses for not sharing anything.
as for the poster's question, - id use KVM - but as in any virtual environment youll need a beefy server/servers to handle the cumulative shared resouces that people will be using along with allocated those shared resources according. try to anticipate cpu intensive tasks etc. I've tried xen, but it doesnt see to be as developed and I've seen some hypervisor security vulns lately that if a noob put their hypervisor publicly accessable able they can get ownt. vmware i just never got a good feeling for, though it's good for a quick OS load on windows. so yeah, KVM all the way.
I think the closest thing you'll get to "out of the box" for what you're looking for is Apache Cloudstack running on Citrix XenServer for a hypervisor. With basic networking, you can keep things pretty simple. With advanced networking, you can allow your users to build virtual data centres. It can be 100% free open-source software as well, although if you get Citrix CloudPlatform, you get a couple of extra features, and support, but you pay for the support. You could be something similar with other products, but CloudStack actually has a pretty amazing amount of stuff that is just there already, and doesn't need configuring.
He's asking because he realizes he's not technically competent to do the research himself. Would you fault a first-year med student for asking someone about that procedure if they had never done it before?
I don't agree. There is nothing really unique to virtualization, it's just really interdisciplinary, storage, network engineering, wintel admin, Linux admin, physical datacenter management, etc on these scales. Nothing anyone who has been in IT for awhile and worn a few hats in that time can't be expected to do so reading and then get started.
If he had those discplines and skills then I doubt he would be asking slashdot. Seriously if you need to ask slashdot the question he asked then he is unlikely to have the skillset to implemet ANY of the solutions in a well managed way.
There are a lot of options, and the OP is just asking for a general structure. Classic /. community fail to assume we are even dealing with someone that will be doing with implementation. This could be the director trying to get a ballpark before sinking their teeth in or a under-paid teacher, with little time, whto wants to make their students' learning environment better. I was the only one with a VPS in my classes, and thus the only one, in the end, who actually knew how to get anything done, outside of theory.
My rant to /. is over. Now to answer the OP:
The easiest way to get started would be Xen Cloud Platform + Citrix Xen Center. That alone will get you a free robust virtual hosting environment, but this will require you to set up a few VM templates and manually deploy to students. You can take this one step further by using OpenStack + XCP which will give you an API which you can use to build a web-front for student deployment. Some might already exist, but all the ones I am aware of are built around payment models.
As for users managing switches, I have no clue and good luck there. IMHO, I would VLAN and let OpenStack manage it. You can use the US Navy's network simulator to teach concepts if you like. It even allows using tools like wireshark for real-world analysis experience.
Good luck, I hope you use this to make students more ready for the real world.
http://www.openstack.org/
Scalable to 1000s of machines, self provisionable, quota based. Runs on commodity servers.
I ran redhat 6.0 with virtualbox to 60 plus student doing computer science projects. The base was on a quad core with 16 Gb and local Tb storage. this worked great with ssh access. Adim was via nomachine and ssh.
Try the same in redhat 6.3 with redhat virtualization.
For self management of systems a private cloud solution is perfect. Openstack can allow each user their own projects to spin/tear down servers as needed in an easy to use interface as well as provide API access (nova or ec2). Usage tracking and quotas are built in to prevent too much over subscription and the system scales easily.
If you have to be so arrogant and pretend to know what is best without research or asking other I.T. professionals then I have to say you are not doing yours and neither are the moderators who made this +4??
Stating that you are not qualified is also highly insulting and ruins the quality of candid discussion on Slashdot that I do like and enjoy reading the comments.
In fact regardless of the field I do not know of anyone who is competent who does not look to others with more expertise in a specific area for opinions. No matter how badass you think you are at your job there is always someone who knows more than you. Especially in a particularly area such as this case virtualization.
http://saveie6.com/
Nah, it's called getting a set of basic user requirements and then looking through a set of products to see which match the list.
"That worked so well!!", said no one who ever did that ever.
Or an expert for that matter?
I have setup VMware before but I sure as hell would ask others before I put live production and recommend an expensive solution and put my job on the line for 100 users. Google will show just search engine optimized crap of people trying to see stuff anyway and it is hard to tell which is real and which is a fake website pulling data from another designed to pimp up the ratings of a 2nd website.
Windows 7 forums are copied by bots all the time and put in fake ad/malware ridden sites with links to someone trying to sell something to get a higher Google SEO rating whenever I try to search for something technical. It is annoying.
http://saveie6.com/
If I understand your question, it sounds like you are trying to deploy virtual private clouds for each student to play and have full control over. Sounds expensive and complex. Have fun.
Having students use GNS3 and Virtualbox on workstations, with the containers / config stored in user directories sounds like an easier solution. This allows the students for complete control to spin up extra VM of any type, use real router/switch images, vlans, etc.. It also allows the students to totally bugger it up and only affect their local system. If you allow external storage devices, they can even take their environment home.
You will need some decent fat workstations. I can't comment on how well GNS3/Virtualbox will run under virtual/thin workstations, if at all.
Time travel is possible. We are quickly heading for 1984.
Just because he's asking doesn't mean he needs to ask us to get the job done. He listed out a few different solutions already! The question is "... which one would you prefer and why?" Maybe there's some quality about a different solution that would make his life easier.
No need to push a VMware client to +100 computers and users can use a modern browser on their home computers to get work done too if you choose Citrix.
As the licensing and costs? I do not know. But as a user and someone who has limited time to write a push update it is the least hassle.
http://saveie6.com/
You are an awesome human being. I'm sure many people like you and enjoy your company. When you die you will be remembered as a friendly person. Everyone will reflect on how helpful and kind you were.
The specific virtualization system you use doesn't really matter. You're looking for ways to manage it.
If you want to run your own cluster, check out http://en.wikipedia.org/wiki/OpenStack , specifically the Nova, Quantum, and Keystone components.
If you want to do it efficiently you might also want to consider using it as a service. Other people are already selling OpenStack on a massive scale with levels of efficiency that you'll never touch. Rent what you need, see what works, and then start building your own in-house when (or if) you find things you need to improve.
www.ovirt.org
Full VM solution, for free. What more do you want. Easy to setup, easy to use, easy to control. It has LDAP integration.
"Even if it's just for students to play with: If you have to ask us, then you're not qualified to do your job."
You seem to suffer under the impression that US schools have the money to hire top specialists.
oVirt, of course. It is the upstream of RHEV - which is Red Hat's offering, well polished and what not.
What about Open Stack? For production, don't oversubscribe RAM. For a play ground, isolate them to one physical machine and let that machine over subscribe. I'm guessing but you can host about 20-25 virtual servers per compute node, you'll need a physical management machine, and if you do a lot of different images/want backups, you'll need a machine with a bunch of disk space or a iSCSI appliance. The open stack doc will tell you which iSCSI system will work.
Necessity is the plea for every infringement of human freedom. It is the argument of tyrants; it is the creed of slaves.
I highly agree with you. The answers to technical/geeky questions on Slashdot always have a lot of experience and insight. That is something Google searches would never yield, unless they happen to be results of Slashdot questions regarding the topic you're searching for.
Gotta step in somewhere.
My first response halfway through Gonzalez' post was "Oh, yeah, he's an instructor, maybe at a community college, and he's in charge of getting this thing up and running." Next thought, "He's done no homework other than learning the names of some virtualization methods/engines and wants the smart folks on /. to do it for him." Clinched with the last two sentences.
Then, before delving into all the helpful posts thus far, I figured it was also possible he'd done a bit of swotting up and reached the point where he's brain-burnt, confused and maybe over his head. As another here has said, simply trying to use Google to get to sources for decent advice or real infos can be... disheartening.
Finally, since we all plopped out of the womb knowing little more than how to suck, poop, and cry, it's not unreasonable to ask those who might know more, or who've been in the same boat, for any useful info, pointers, advices, which lead him to right here and now.
Now to continue reading, see if anything interesting and useful shows up.
VMware - best in class but can be hideously expensive if you start using vsphere, but support is great
Hyper-V - probably the most sensible way to go if you're just virtualizing windows
OracleVM - immature for prime-time on commodity hardware, but free to implement
SmartOS - is an OpenIndiana based solution where the whole stack runs in memory.
RedHat has implementations of their own virtualisation stack, and they also do openstack as well.
READY.
PRINT ""+-0
Just make sure you disable Excel
http://www.youtube.com/watch?v=qk_va2LLox4
(Added bonus, those guys are friggin hilarious, check out their other talks).
Look into solutions that make use of nested virtualization.
If you want to create an IT playground that itself involves virtualization, being able to have nested virtualization will let you use VMs to confine the playground without taking away the VM toys.
I would point the best of breed solution for Tier1 production use, and getting the most out of your hardware: VMware vSphere vCloud Suite.
With other hypervisors, you get less hardware efficiency, because limited/less good overcommit options, more limited ability to efficiently mediate contention, and greater overheads.
Products:
Virtualization hosts: VMware vSphere ESXi Enterprise Plus with Distributed vSwitch -- provides you options that you can use to run production and IT playground side-by-side
VMware vCenter Server (Your infrastructure management)
VMware vCloud Networking and Security -- provides the ability to create isolated virtual networks using VXLAN
VMware vCloud Director (To provide users their management interface to their "Virtual datacenters" inside your environment)
VMware vCenter Orchestrator -- to automate the process of configuring these users
For monitoring; I would look to VKernel's solution, because VMware's operations management framework is fairly immature and requires huge amounts of RAM and other costs last I checked.
For backup; I would look very favorably towards SAN replication solutions; specifically NetApp SnapMirror + SnapRestore + SnapManager. Storage VMs using a storage solution that provides the required levels of backup for each workload.
Fallbacks being solutions like Dell AppAssure, Veeam Backup, unitrends, for lower Tiers especially like IT playgrounds.
For service management automation/ticketing and physical hardware level management, I would look a BMC's solutions or MS Systemcenter Service manager and Systemcenter Orchestrator.
I find myself in the unusual predicament of strongly preferring VMware's Hypervisor, but Microsoft's management solutions, especially for ITSM, because it seems like VMware does extremely well with virtualization, but not very well managing other layers; they have the whole "VMware Service Manager" offering, but it will probably whither and die.
He might even be held hostage by a PHB who expects him to be a miracle worker.
so I got to the end, and /.ers stepped up. Nice!
I never did any of this for a living, only a few classes, and very little of it for a hobby as time allows, only use VirtualBox for my own stuff, having tried several of the other end-user solutions over the past few years. Already got hipped to some neat things I'd not heard of - proxmox, chef, vagrant, ovirt, jenkins, etc. Don't know what OP gets from it, but I have some reading to do.
I'd be interested to see what Gonzalez ends up doing.
From those who really know their stuff, I suppose it's not a hardship to toss off the informative paragraph or two, but I can imagine that it might be nice to get some feedback even so.
I 90% agree with you.
But the force of the 10% disagreement is 9 times that of the agreement, leaving me stymied.
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
What a load of elitist bullshit. Maybe he has already done a lot of research and has a good idea. Do you really think he is panicking and turning to /. because he has no clue? I think that this, being a technical community that still has alot of expertise and insight in it, he decided to hear other peoples/professionals perspectives.
it never hurts to ask and get more information. The submitter didn't phrase it like he/she is going entirely by what /. says.
I have left slashdot and am now on Soylent News. FUCK YOU DICE.
Totally not the point of that presentation,, the main point was disable macros (which applies for all but trusted paths), make sure users can't modify files in those paths.
Alsn dont trust users.
Will you just run Windows and Linux? If not, what? What is your budget? How complex will your virtual network be? What are your security requirements? What are your performance requirements? Are the vms more for desktop user or will they be network server? Do you need high-availability and live vm migration? Does your virtualization setup need to work with an existing storage solution? If you simply don't know, and want to get something quick, the easy, but expensive, way to go is vmware.
Someone - I think Cisco - has a server based application very similar to Cisco's PacketTracer - server based virtualization for both machines and networking equipment. Forget the name of it though.
Don't blame me, I voted for Kodos
No i wouldn't fault a first year med student for asking. But regardless of the answer I also wouldn't trust a first year med student to perform anything but the most basic of procedures and even then I would be nervous. Similarly when you start to get into more demanding scnearios in IT (even though this one is on the very low end scale), I would not trust a beginner to get it right regardless of advise and reading he is doing. It comes back to if you need advise and you considered slashdot as your best source for that advise then you should not be doing the job in the first place.
Ah fuck off. It's actually a good and interesting question to see what the various specialists come up with.
Nah, it's called getting a set of basic user requirements and then looking through a set of products to see which match the list. This just reeks of laziness and namedropping on slashdot so someone will post the solution for you.
By the way, I'm looking for a toaster on linux, it needs to be able to have 6 settings, usuable by many people (including students). I need to be able to develop toast on it, but it also needs to run an operational toasting environment, preferably on the same hardware. I would like it to be fully scriptable, and I need to be able to hook it up to an LDAP. It would be nice if it came included with a coffeemachine, which should also be fully scriptable. I've found the Coffee HOWTO, but haven't bothered reading it. Could you guys give me an opinion on how to adapt this to my toaster project? I've looked at relays, resistors and capacitors... They all seem very nice.
Please spend a little more time reading the manuals and typing in a few requests in Google before posting this to Ask Slashdot: be a bit more professional.
Fuck it, karma to burn anyway.
You could try doing a little basic research before posting your question.
Here's a toaster that meets more of your requirements, though it runs NetBSD rather than Linux:
http://www.theinquirer.net/inquirer/news/1018836/toaster-pc-runs-bsd-makes-toast
Let us know if that doesn't meet your requirements for some reason, there may be some NetBSD packages that can do what you need.
I'm a Citrix user and happy with it. But you might need something more flexible and dynamic. I get the feeling Citix is good for server virtualization (website, db) but when it comes to sandboxing, quick testing, ad-hoc group-as-LAN VMs associations (and isolation), quick vm addition, processor sharing (vs. dedicating a processor to one VM!)... I was quite impressed when I saw VMWare's capabilities (demo from colleagues in the US).
You'll want to design your VMs in a way that's agnostic to the underlying layers. That way you can migrate easily as cost structures change, or features evolve. You'll want to be capable of that evolution with no discernible change to your users.
If a key feature is LDAP, long-term you'll want a solution that has policy in place now, and runway for you to implement governance and controls down the line. It would also help to have automated monitoring, lifecycle management, notifications, API-based programmability, etc.
You can build the basics with chef/puppet type automation, but then you've got to implement LDAP, policy, & governance on your own.
I'd suggest products like ServiceMesh, Enstratius, vCloud Director, and others. Most are pretty new. vCloud Director is designed to lock you into VMWare. Enstratius may stay relatively cloud agnostic now that Dell (its new owners) are dumping public cloud offerings. ServiceMesh is the disruptive startup with no IaaS alliances (at least until it gets acquired).
I will suggest Nested Virtualization,
Example, if you install RedHat5 with Virtualization, and create a RedHat 5 machine with virtualization, you are done, they can create virtual VM, virtual Storage, virtual Switch.
You create one virtualized RedHat 5 machine to each person.
Alvaro.
I'd suggest taking a look at Eucalyptus, an open-source cloud management system that's compatible with the Amazon EC2 APIs and thus pretty easy to script and automate for production resources and any of the students who want to play with features like on-demand load balancing.
Like the ones who filed a complaint on me for not installing their phones and assembling the cubicle when I am desktop and must get approval and have 40 other tickets
http://saveie6.com/
I like VMWare for larger installations as well. We also have special requirements, specifically we need GPUs. Until recently, that meant offloading that work to real hardware, but nVidia GRID is a godsend because we can install that part on the VMWare server (this is still in beta at my company, so I don't yet personally have access to it, but I've seen demos and I have to do the multi-server setup by hand and that is no fun).
I suggest looking at the purpose of this thing -- then you will find out that whatever you are trying to build, is impossible (full emulation of a real-life network, secure sandbox environment, etc.), or does not require virtualization (everything else).
Contrary to the popular belief, there indeed is no God.
I have been running it for several years for personal use and several uses of it professionally.
One of the better installs was a sensor for Tenable Security Center. For performance reasons we decided that we wanted a scanner on the same sub net for about 40 networks. So I built a centos container that had all of those vlans as interfaces to the machine.
I then installed an OpenBSD LVM machine and placed the container's management interface on a bridge that was only accessible internally to the machine. The end result is a scanner sensor that is still running to this day in an academic network with no compromises. It is running on a 16 gig Dell 1950.
For my home lab, I have a freenas machine running iScsi over two nics, and a dedicated nfs nic to a Dell C1100 with 2 2.8gig cpu and 72 gigs of ram. The secondary cluster machine is a dell 2900 and while there is a minor performance hit due to the older hardware, it works flawlessly.
I would try this out to see if your needs are met, and then purchase a commercial support license. Just do not skimp on hardware, and plan out your backend storage.
I'd go ahead and implement the user authentification in CICS and would run automatically managed instances of z/OS Unix. According to IBM, mainframes give you the best value for your money.
Also, that way you could allow your students to play around with COBOL. Everyone loves COBOL!
True enough, however, the request submitter deserves a real answer to their question.
I recommend Oracle VirtualBox hosted on a GNU/Linux server and having the students learn how to define, create, and manage these virtual machine instances from the command-line. I prefer VirtualBox over the other virtualization solutions for its relative simplicity and ease of configuration and management via the GNU/Linux shell interface.
Archipel + KVM has all your requirements:
LDAP management ACL, based on libvirt
Ha! Think you can learn it all from a book do you?
Anyway.. it's not really a "how do I.." kind of question - it's more of a question that draws from experience.
Nothing wrong with asking questions.. Thinking you know it all however..
I don't think you get toasters on Linux... yet at least..
Xen and all the accompanying products are released under the GPL are they not? So is KVM.
The trouble is - all specialists have to say - you shouldn't ask this question!!!!111/yes you suould!!!!!1111
Hi! I'm your Slashdot assistant! I see you have misused the word "advise".
"Advise" is a verb. You advise someone on some subject matter.
"Advice" is a noun. You give someone advice.
If he had those discplines and skills then I doubt he would be asking slashdot. Seriously if you need to ask slashdot the question he asked then he is unlikely to have the skillset to implemet ANY of the solutions in a well managed way.
The correct answer to his question, especially when talking about a teaching environment, are high dynamic / low lifetime solutions like OpenStack and Eucalyptus. Considering that a year ago the answer might have been older, now obsolete, "Managed Virtualization" solutions like VMWare, RHEVM and HyperV it's hardly likely that anybody anywhere has the real experience to comment properly. In order to do that you would need to have build several large systems using both OpenStack and Eucalyptus and tested them to see how they work. I don't believe that anybody has really done that yet.
This isn't something which, for example Stack Exchange is going to handle. They would close the question as being a call for debate.
It seems to me that Slashdot, especially with a bunch of people who work on Open Source solutions is not a bad place for such a discussion.
it's super awesome, can configure anything and is a breeze to install. you only need the base image, and all the configuration is applied afterwards + any modifications get pushed to the machines. Deploying systems has never been the same!!
KVM & Openstack/Cloudstack, it's pretty obvious.
give it a shot
open, free and kvm based virtualization manager.
http://www.ovirt.org/
// to do: Pentium 4 joke goes here
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
Clippy, is that you? Vigor has been missing you deeply.
Change is certain; progress is not obligatory.
It really doesn't matter whether you use KVM, Hyper-V, VMWare or whatever, it's already simple infrastructure.
The important thing is how to manage your hypvervisors, how to provide access for your 100+ users, etc.
So there are is one primary decision to make:
1. OpenStack or CloudStack - both are very powerful and very customizable, but although both need quite a lot of manpower to install, manage and administer. Most users of these solutions also invest lots of development-time to customize theses solutions for their own needs. Probably better for providers with 1000+ users.
2. OpenNebula - also very powerful, but not as customizable. You won't need to develop and/or program for your infrastucture but just can get startet. Probably the best choice up to 1000 users and if you don't plan to employ 3 programmers and administrators.
Anyway, all 3 solutions can use all of above Hypvervisors simultaneously (on separate hosts of course) so again you don't have to choose any of those, just start with KVM and go from there if some customers have specific needs.
Asking this is much like asking 'which is the best linux distro'. You won't get one answer. What type of system are you most comfortable with operating? If it is Microsoft system (for example) you have already got you answer. Are you are looking for a bare-metal hypervisor? Do you need GUI-heavy management tools? What sort of hardware are you going to use (old/new?). Probably looking at a comparison chart would be your best option. I could tell you what I use and why but that won't do you a bit of good. (kvm, stable and easy).
Our central infrastructure is on Hyper-V at work now on account of VMWare wanting way too much money. We use a lot of RHEL systems and they all work well. Our web server, MySQL server, puppet server, that sort of thing all run on Hyper-V. The Linux admin didn't have much trouble with it. The main limitation I'm aware of is that you can't do dynamic memory.
While it isn't ad Linux friendly as VMWare, it seems to work just fine. As to which between them you should use, depends on features and price. In our case Hyper-V was "free" since we have software assurance with MS campus wide and VMWare wanted like $20,000 per system for vSphere with the feature set we wanted, so it was stacked heavily to Hyper-V. You case may be different, so make sure to check out both.
However don't write off Hyper-V because it is MS. With Server 2012 it is a real, no-shit, enterprise virtualization solution that works well and has loads of good features. They fixed their rubbish networking from 2008R2 also, their virtual switches are exceedingly fast, and it supports full SR-IOV if your NICs do.
I was very pleased when I tried it out, our Linux admin liked it, so we migrated (we had an old VMWare 3 setup). Migrating VMs was easy too. Uninstall VMWare tools, use the Starwind converter to go from vmdk to vhd, use Hyper-V to go from vhd to vhdx (and make it fixed size), set up a VM, start it, and install the integration services.
We don't like muffins around here. We want no muffins, no toast, no teacakes, no buns, baps, baguettes or bagels, no croissants, no crumpets, no pancakes, no potato cakes and no hot-cross buns and definitely no smegging flapjacks.
If you're using only Linux, you may want to consider http://openvz.org/ . It's quite fast as compared to other virtualization software.
That's easy: Choose the one your distro of choice recommends - I'm presuming you're using Linux here.
Otherwise I'd recommend you switch to it before virtualising things - my fairly safe blind guess is that the custom-virtualisation-setup-community is by far the largest for x86 Linux.
If you run into troubles you can't get a grip on, start switching through the ones the most helpful people in the forums/irc channels you're using recommend.
Good luck.
We suffer more in our imagination than in reality. - Seneca
Hire a professional.
Slashdot isn't the place to theorycraft solutions that you have no experience with.
I'd go with SmartOS if you're confortable with Solaris. Crossbow is great for doing virtual routers and switches, and both its Zone-based and KVM-based containers are trivial to pump out with simple JSON, and a breeze to admin.
It makes me cry it's so bad.
Is the mainframe a dinosaur? Sure... and it's as agile and capable as the dinosaurs flying around our skies today*. IBM's z/VM operating system is the most reliable, most secure VM system on the market today, and it's got arguably the longest pedigree - it's been around for something like 40 years, cutting its teeth on government, academic and military workloads long before the internet was an everyday term. You can safely run up to hundreds of production and/or developer virtual machines in a single physical machine. Heck, you can run virtual machines within virtual machines! You can share multiple physical processors, memory and I/O almost effortlessly. You can cluster across multiple physical footprints, with full high availability to run active-active workloads if you need them for production or testing. (* NOTE: Over the last couple of decades, since around the time IBM's mainframes were declared dead like dinosaurs, archaeologists have discovered that dinosaurs are not dead at all: all of today's birds are clearly descended from theropod dinosaurs. Mainframes are similarly, um, not dead.)
Not to sound like an ass but I need something tested and well supported. Not freeware.
+100 users have specific needs as well as the I.T. staff who need to manage it on 100 users. A hypervisor is not what is needed. What is needed is a real managed, supported, and configurable way, and scaleable. That means clustering, no special software if possible for each client, authentication to the VM, scalability on the servers, IE or Firefox addons or none at all with a java server frontend to the VMs etc.
Xen is just a hypervisor. Not even close to the same league as a professional virtualization suite.
I mentioned Citrix because it is the only one I have seen which workers over a browser which means the desktop support agents do not have to bother with this and users can stay at home and still do work on personal equipment or their Ipads. VMware might be working on similarly offering but Citrix is more geared towards this problem but I could be wrong as I have dabbled in it but not did any large layout before.
http://saveie6.com/
Give a look at the open-source Ulteo Apps Virtualization, that supports Windows and Linux Apps !
http://www.ulteo.com
Francisco Gonçalves
francis.goncalves@gmail.com
A lot depends on what you want to host. The Windows Type 1 hypervisor platforms are well-known. If you want to host Linux/BSD/etc., there's really a different family for that.
If you want to add-in VDI, it's a different mix of products, but the commercial vendors are the same. VMware is expensive, Citrix less-so, Oracle is reasonable if and only if you like Oracle; Microsoft supports Microsoft and a hand-picked set of Linux options.
But you can teach a lot by using Xen, vyatta, and a bunch of FOSS components that are as secure and LDAP-using as the rest of them.
If you need your hand held, and you have budget and hardware, VMware is deluxe but sometimes opaque. Citrix is strong if loose and fast and more egalitarian (especially in VDI support).
You can get HTML5 support from any of the commercial vendors, but supporting Linux is a bit tougher-- Citrix does this better. Oracle doesn't support HTML5 at this point.
---- Teach Peace. It's Cheaper Than War.
There are several directions that you could go that would qualify as a good approach. As much as all of us will build up one solution over another, none of us have enough information to tell you definitely that "this" is the direction you should go. From my experience, you will end up with the best "fit" if you focus on the business needs and drivers first. Then look at what technology best aligns with those. Don't get caught doing technology for technology's sake (aka, cause it's cool). That being said, here are some of the main points that you should consider when choosing the direction to go (this is not intended to be a ranking order, you are the only one that would know the order these should go in): Price, Expected Growth, Support Staff Knowledge Base, RTO/RPO, Cost of Down Time, Work Load (IO, CPU, RAM, GB Capacity), Expectations of Users, Regulatory Requirements. Price: If your budget is tight, but your technical feature needs are complex, Hyper V would be good to look at. Be cautious in pricing with AWS, there are a lot of unforeseen costs if you are not careful. If you have a large budget, and high end technical needs, VMware is hard to beat (thought the technology gap is closing fast on them). Growth: Any virtualization platform with noticeable market share will be able to accommodate this, but you should still go into this with an idea of where you need to be 1, 3 and 5 years down the road. Support Staff: If all they know is Linux, Hyper V will not be "fun" and if all they know is windows, there will be a learning curve on anything other than Hyper V (how difficult that is to over come depends on the staff), and if no one knows storage architecture, you will need to add this to your team either buy hiring, training or outsourcing. Return Time Objective, Recovery Point Objective and the Cost of Downtime: Don't make assumptions here. I have seen sock mills in the middle of nowhere Alabama that would lose $23,000,000 an hour in orders if they went down. These 3 things need to line up. If you want an RTO of 5 minutes and an RPO of 1 hour, but only lose $1,000 an hour, you will likely not be able to cost justify the RTO/RPO. Work Load: Make sure you are not under spec'ed, and don't waste money on features you don't really need. User Expectations: If most of your students are remote to your infrastructure, then, from a total cost of ownership standpoint, you probably should not be looking at purchasing your own gear, as they would see no performance lose if you moved it off site, but you would likely see a cost decrease. If this is the case, look to an out sourced solution (AWS, Rackspace, Latisys (yes I work here...), etc.). Regulatory Requirements: If you are storing student SSNs or payment information, then the design gets a bit more complex (hooray HIPAA and PCI). Sorry for the novel of a post.
How is requesting third-party opinions NOT part of doing research?
Shit, replied to wrong comment. My karma, kill it.
I would highly recommend OpenStack (http://www.openstack.org/). It is much cheaper than the other solutions recommended here (VMware, Hyper-V, Citrix, etc.). It is backed by giants such as NASA, Rackspace, HP, RedHat, CERN, AT&T, Dell, and even VMWare. It is open source software and built with Python so it is very "scriptable". It uses a web based user interface and can leverage commodity hardware or specialized server hardware. Did I mention this is the same system many of those giants use for their own IaaS products both internally and as a public product?
When my company had to come up with a solution to have all of our developers to develop in an environment that absolutely mimicked the production server we used a combination of VMWare to run a version of the Ubuntu. Puppet made creating all of this really easy. It gave us the ability to completely blow away a machine and reconstitute in very little time.
We did the exact same thing for developing proprietary trading software, using KVM on Gentoo with Salt Stack. There are numerous free options for achieving massive virtualization...paying for a VMWare license (which you'll have to do if your environment gets serious at all) is a complete waste of money. Want Enterprise resiliency, vm migration, etc., add a clustered filesystem and Opennebula/Openstack to the mix.
The only reason not to do this would be a lack of in-house expertise, in which case, be prepared to pay well over the market for commercial solutions in perpetuity, and be beholden to their support staff and contracts. Good luck with that.
The Future of Human Evolution: Autonomy
SmartOS is pretty amazing. You can create virtual environments that share a kernel space, meaning that YOUR os is running directly on the hardware, making it _extremely_ fast with almost no overhead. The file system (ZFS) is also 'shared' using zones and pools so there's almost no cost there either. Migration a vm between SmartOS hosts is also a pretty amazing thing. And finally, DTrace allows you to figure out exactly why something is slow... There's a huge library of DTrace scripts available on the internet too.
SmartOS has it's roots in Solaris, so it's a little different than Linux, but for the most part anyone with Unix experience can figure it out.
you need to steer a million miles clear of. They are guaranteed to implement the project quickly, skillfully, and in a way which misses the entire point. Q: A wise man says "I know that I know a) Everything b) Nothing
Where are we going and why are we in a handbasket?
Is this Slashdot?
Because the first few posts clearly promote vmware and Hyper-V - both expensive, proprietary solutions.
vmware is fine only if you have money - I would rate at least $50k - as minimal sensible vmware for me is 3 hosts, mgmt srv,
SAN array + licenses - at least $50k.
Hyper-V is OK only if you are Windows only.
If you have any Linux need/skills - KVM/Xen are free and work great - add OpenStack or similar and you are good to go.
If this is for use in education, then I would strongly suggest you look at the VMware Academic Program (http://www.vmware.com/partners/academic/details.html) For only $250 you can get access to everything you need.
This is a dumb question, but is there a recommended way to share operating system virtual disks between VMs, so you don't need 100 copies of the same Ubuntu? I realize you could set up one server VM and advertise /usr/share over nfs or samba across a virtual switch, but are there better approaches?
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
For all the answers of "VMware" or "Citrix XCP" or even Citrix/Apache Cloudstack" there are some real issues here that are being glossed over. The integration points.
It isn't "VMware" that makes an environment. It's VMware ESXi, with vCenter Management, an existing Active Directory environment, a clustered MSSql or Oracle backend for vCenter, some sort of shared storage component for the VMs, and networking. Need those 200 users to be able to self service? that takes vCloud as well. Any one of those breaks out into a conversation of how resilient is "good enough". Do I cluster my AD? my SQL?
Assuming that the OP has a viable existing database environment, active directory environment, solid upstream network configuration, and shared storage already running [1] I see three viable options. Cloudstack (either Citrix or Apache), VMware vSphere w/ vCloud, and oVirt (either RHEL or DIY).
So back to the question, how do I choose?
$$$ is the easiest place to start, but let's tackle the other items first, as it's the easiest to research, and I'm sure your pricing will be different than everyone else's.
Support
Is support a requirement? If no then that makes the conversation easier. Apache Cloudstack or oVirt. If yes you're looking at Citrix XCP (cloudstack) vSphere and vCloud or RHEL.
Management
All three have user portals for self service of some type (VMware does if you buy vCloud as well). All three have good integration, and easy to use management of not only user level involvement, but also admin level tasks. Getting up and running via the published documentation is pretty easy on all three no matter where you're getting the product from (vendor or upstream). It is worth mentioning that the vendor releases all have a bit more polish and less sharp edges.
Hypervisor installations
This is somewhere they differ a bit imho.
Cloudstack assumes you'll handle the hypervisor yourself (KVM installation on a host) use Citrix XenServer, or a VMware vSphere Host (ESXi)
VMware provides a small hypervisor to be installed on bare metal.
oVirt provides a small hypervisor to be installed on bare metal OR you can handle the hypervisor installation yourself (KVM), same as Cloudstack. This is applicable to both RHEV or pure upstream oVirt I think. I'm not 100% on RHEV here.
User access
All three have user portals for self service. (VMware does IF you buy vCloud as well)
All three have nice pretty portals that are currently used by public cloud providers.
All three provide user level management with directory (AD) services.
my 10c
In the end, I'd prob use oVirt for your environment. 200 users? Give them all a self service portal. For you? hypervisor, storage, and network management.
[1] Don't have shared storage? This changes everything, but I'd prob still settle out with either CloudStack or oVirt for ease of management today.
Yeah but does it run Crysis?
Server 2012 made Hyper-v a serious option when it comes to virtualization. MS did a lot of work to lay the ground work for Self Service private Cloud. A way for IT to manage the servers and hardware and to delegate off to departments the ability to spin up and down their own VMs.
To be honest System Center had a lot of depth to it and something like this may not be the easiest to set up.
Also, what are you really trying to accomplish? Are you teaching virtualization or just building a lab for them? If its a lab you want, powershell will be your friend. Both VMWare and Hyper-v have very powerful powershell modules. This just calls for automation.
Why not consider Cloudstack (http://cloudstack.apache.org/docs/en-US/index.html) ? It works with varied virtualization back-ends - Xen, KVM, VMWare, Oracle VM. Has a simple browser-based interface for management as well as for users. It has LDAP integration.And of course a rich API that can even work with AWS. Start with a simple standalone system using the Runbook (http://people.apache.org/~ke4qqq/runbook/). Then expand from there to more VM server nodes.
Someone ported Linux to javascript, right? You just need to set up some kind of persistent storage (over nfs perhaps) on the server side so students have a place to save their files. I know the performance ain't great; maybe this shows a need for middle abstraction level between low-level syscall emulation and high-level shell. An eXtensible VM Specification, that could then be implemented in a language/shardware independent manner.
Tnx to the community for the usefull replies.
For this setup i it is necessary to be able to create virtual network devices, not only virtual machines, openvswitch seems to be only solution for kvm, xen, virtualbox based solutions.
So far the research i've done also based on the comments:
- vmware with vcenter seems like a safe bet
- citrix, xen should be able to deliver the same (but looks like more work?)
- no experience with hyperV?
- proxmox looks promising
- i should also check openstack, openqrm and opennebula
I didn't mention the most likely hardware setup in the posted question:
- probably blades to compute and nas to store (so that storage and compute power can be easily? increased)
> for the open solution: nfs ok, but pnfs looks like a lot of work?
Best response I have heard all day.
"That's right...I said it."
I spoke of Proxmox earlier and I still think it would work for you. Most of the solutions (Proxmox included) will use ISCSI if available. Freenas could fit that bill nicely. Storage replication is a nice bonus to taking this route. NFS is also usable for virtual machine disks. LVM can be used also provided you are willing to setup replication where you need HA capabilities (ala DRBD).
the problem isn't his qualifications but his faith in the slashdot community to come up with creative and novel solutions
your response is a perfect example of typical slashdot ignorance... you have no ideas yourself so you resort to slandering the op for not coming up with the right question
i guess we should reserve "ask slashdot" for questions like "which hole is the best to fuck my mom?"
i don't know enough to answer the op (i use virtualbox and xen but not with 100+ users) but there's nothing wrong with his question... it's nerdy, and he might know how to do it already but is curious about what alternatives can be proposed by his fellow nerd community
it's just a pity that douchebags like you seem to be par for the course on /.
Can you share anything about your success with it? I am in the early phase of testing the same for my company... I'll agree that the server setup is no fun :) not a big fan of needing 3 server VMs plus a SQL server just to evaluate the thing.