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."
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.
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
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.
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.
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.
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.
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 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.
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/
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.
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.
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.
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
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.
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!
Legitimise Doing
Archipel + KVM has all your requirements:
LDAP management ACL, based on libvirt
Xen and all the accompanying products are released under the GPL are they not? So is KVM.
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/
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.
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.
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.
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?
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).