Recommendations For Home Virtualization?
An anonymous reader writes "I'll have to upgrade my home computers sometime in the next few months and I'm thinking it's time to swallow the virtualization pill. Besides the ease of switching between Windows and Ubuntu, I'm looking mainly for the ability to save machine state in order to be able to revert to a known working state. Googling turns up mostly guides from 2009 and earlier. Is VMWare ESX pretty much the way to go? Performance does matter — not for gaming but I am heavily into photography, so apps like Lightroom and Photoshop need to run well. Thanks for any insight."
http://www.virtualbox.org/
KVM is the future for linux. RHEL6 is dumping Xen, and VMWare is OK if you can afford ESXi
I have used VirtualBox quite a bit and I find it completely satisfactory. I have run both Win XP on Ubuntu hosts and Ubunutu on Win XP hosts and it has always worked very well. http://www.virtualbox.org/ I think it would do everything you want.
ESX is for server virtualization. Go with VMWare Workstation.
That depends...do you want one that functions autonomously, or do you want a cardboard cutout?
See here for research****
****Note: Sarcasm
Living With a Nerd
Just swallowed the virt pill myself. So far, as far as free as in beer goes, i've tried VirtualBox and KVM. Both seem to do the job, but VirtualBox has a handy no brainer gui, a "seamless" mode that shows only app windows, and some other tricks that I'm not sure KVM has. Performance on both is good to excellent.
I use VMWare Workstation for much of each day to run MS Office Apps, and it's very useful - but no VM performs well graphically.
I only have to do the things you mention occasionally. I use VMWare Fusion on my MacBook Pro (running OSX) and it works well for me. YMMV.
ESX is what an enterprise uses to have mass virtualization of many servers. For a home user, you only need Workstation and the hardware will determine the performance. Or you could just go with Microsoft's free virtualization software.
Proverbs 21:19 It is better to dwell in the wilderness, than with a contentious and an angry woman.
For stable server virtualization vmWare ESXi is pretty much the king at the moment, unless you want to pay an insane amount. It's free (as in beer) stable, easy to manage, fast and scalable. Sadly the management tools are windows only, I highly recommend it, if you have suitable hardware.
For workstations it's a bit less clearcut. Generally you want a primary OS in your workstation where you do most of your work, and secondary OS that you boot up in a virtualized environment. The three primary choises are KVM, XEN and OpenVS. They all have performance penalties, and I am not aware of any clear cut advantage for any of the three. I would suggest you go with what is default in your favourite linux distribution, as maintaining virtualization infrastructure isn't an especially fun task.
ESXi is free these days, it seems like a good option. If you are just looking to virtualize desktops, though, look elsewhere.
There's a free VMWare baremetal hypervisor based on ESXi, works ok.
You mean desktop virtualization? Do you need to run 2+ OSes at the same time? That's what virtualization is for. Or do you need to just suspend and restore states? You can get away with hibernation for that. Or do you mean go back in time to a known working configuration? Windows can do that (System Restore), but I don't really see why you would need that on your main machine. If you're trying stuff out, you should try it inside the VM anyway (you use Workstation or VirtualBox for that).
ESX is nice, but it's not what you think. You don't get a local console (last time I checked, anyway), you're supposed to access it from SSH or VNC. It also designed for datacenter stuff (like SAS disks and controllers. It doesn't support IDE for example). You're looking for VMWare Workstation (Paid) or VirtualBox (free for non-commercial use), which are pretty fast. Paravirtualization (ESX or XEN) will give ~98% speed on Linux (on a PV kernel) and Windows only works well if you use GPLPV drivers, otherwise is slow as hell.
I'd just recommemd you stay away from virtualization if you're just a desktop user. Unless you're trying out shareware/malware/stuff that can break your install. If you're upgrading, why not use the old machine to try ESX, XEN and other stuff and figure out yourself how you want to use it? Stick to dual-boot for now.
the new ver's of Photoshop does use video cards for speed up. You can make images and save the VM over head and have the easy fall back.
I'd like to run a virtualized copy of windows with direct hardware access (passthrough) to my video card - for games and bluray playback.
I've seen a couple of messages talking about it, but not much in the way of a guide or a list of gotchas.
When information is power, privacy is freedom.
Your question gives me pause on a few different levels:
A) You're not familiar with this technology. This is probably not the best way to get indoctrinated with VM's.
B) Other options for 'ease of switching' exist, like a KVM, Wubi, etc. These are likely to give you a more satisfactory result.
C) "Performance does matter" - yeah, no. Nobody uses VM's to increase their performance. They use them to save money, increase density, etc.
The tech is cool and has a number of really novel applications, but 'home use' and 'performance' are probably not among them unless you're some kind of super nerd. And if you were, you'd be too busy trying things out to spend time asking slashdot... :)
RHEL6 dumping Xen is actually a mistake. Not that KVM is bad, but Xen is actually really good and works well in production. The community is at fault for not trying to do more to integrate Xen into the kernel better.
But such is the way with open source. Dump a working solution in favor of an up and coming newbie with its own set of problems.
I'm running 64-bit linux host with VMware Workstation and a Windows XP guest.
Performance all around is very very good. If you full screen the guest, you can't tell that it's running virtual unless you check for the VMware icon.
Video performance is OUTSTANDING, essentially native. Netflix videos play full screen with very little CPU overhead.
Suspend and resume can be slow if your guest has lots of RAM.
I recommend using XFS for the filesystem containing your VMware images. I've tried other filesystems but nothing can touch XFS when it comes to handling those enormous virtual disk files.
More specifically, the PUEL edition of VirtualBox directly from the VirtualBox web site. Don't bother with the version available through the app repository. VirtualBox is great at releasing bug fixes every 1 or 2 months, the PUEL edition will give you all the extra bits like USB and 2D/3D acceleration. I left the various VMWare products behind many years ago and migrated to VirtualBox both at home and at work, and today I still think I made the right decision.
I've been writing a lot of documentation for Linux virt-tools here.
Rich.
libguestfs - tools for accessing and modifying virtual machine disk images
KVM isn't perfect, and does lack some of the polish and features of products like Xen and VMWare, but in raw performance it kicks serious ass. However, it is not as easy as Virtualbox, so for home or desktop virtualization, VirtualBox gets my vote.
The world's burning. Moped Jesus spotted on I50. Details at 11.
I use ESX to consolidate different servers and test environments at home so I don't have to pay a huge power bill for lots of boxes. The issue you may encounter there is performance, and with ESX the backend is dedicated to VM's and you can only access them from a different device as a frontend. VMWare workstation is fine if you are looking to do everything locally on a machine. The other thing to consider is nComputing's zero client solutions, I have used them for both business and home use, the L300 is a pretty sweet solution and will work on both windows and linux platforms. You can also combine nComputing and VM's on ESX which is how I've done it, it's a pretty sweet setup.
VMWare ESXi is a fantastic free product for server virtualization, but since it needs to go through the network, graphic performance will leave something to be desired.. you need a seperate dedicated machine to run it as well. While you have many options, in my experience the best ones for desktop virtualization are: VMWare Workstation $$ Polished Oracle/Sun VirtualBox Free Fast graphics performance (my subjective experience) They're close to each other in terms of performance, with VirtualBox feeling a bit more snappy.. but VMWare is more mature and polished. Little things like copy/paste sync between the guest virtual machine and the host that make working with it much more pleasant. I have both setup, and I end up using VMWare 95% of the time due in a big part to the copy/paste sync. I'm running Windows 7 on all machines, both Guest and Host.. so YMV under ubuntu.
Servers or desktops are very different. There are plenty of server virt bits out there but for exporting desktops you pretty much looking at vnc or rdp screens so a pretty basic frame buffer, I don't think any of them will provide much performance in pushing the pixels.
No sir I dont like it.
Click on "More search tools" and then click on "Past year". You're welcome.
I tried vmware and it just pissed me off everytime there was an OS kernel update. Would have to recompile the vmware modules and half the time they wouldn't work. The last straw with vmware was clock skew problems on the guests. I had to practically sync the clock every *minute* in order to keep the guest clock from getting out of whack. Even using Chrony didn't keep it synced well. VMware had a lot of messages on it's forum about the problem but never did anything about it.
I use Linux KVM now and will never go back to closed source crap. They can keep their black boxes, I don't want them. If you install Linux virt-manager, you get a nice gui for managing your guests (if GUI is your gig) and if you are CLI crackhead, then you can use virsh or numerous other command line utils to manage things.
Frankly, there's no reason I can see to use closed source virtualization. It's just too much of a headache.
boycott slashdot February 10th - 17th check out: altSlashdot.org
it's actually the full ESXi that's free now with the basic features. If you want things like clustering you can pay to enable those features.
-- "Freedom is the right of all sentient beings" -Optimus Prime
I tried living in a virtualized home once, but I found the insulation to be quite insubstantial. Made for some particularly chilly winters.
Now chili winters on the other hand, those are nice.
I heavily use virtualization both at work and home. I originally had an ESXi 3.5 server at home but my RAID controller was an Areca ARC-1170 which is not on the VMWare Hardware Compatibility Guide so after reviewing the off-the-shelf community help I learned how to roll my own oem.tgz to include the drivers. The system worked for a while but I then started to experience a lot of stability issues so I switch to KVM running on Fedora.
Unfortunately KVM on Fedora has had a lot of issues with the virt-manager being stable. Right now I'm on Fedora 13 and every time I open the console on virt-manager for a specific VM it causes X to crash and reload. If I boot the VM up from scratch with the console open it's less buggy. I actually had this problem originally on Fedora 11 and am still experiencing it with 13 even from a fresh reload. Fortunately it's not really an issue for me because I can just ssh or use XMing to send my X related apps.
The biggest issue with virtualization is that host memory is your most precious resource. To solve this problem, OS drivers can be installed to support memory ballooning. What memory ballooning does is make sure the guest OS frees up memory resources it is not using to the host. If you're running a lot of Microsoft Windows I definitely recommend ESXi since there are no good memory ballooning drivers available in KVM or Xen and really no roadmap for it. If you're running a lot of Linux I highly recommend KVM since current distros already have the kernel features that make memory more efficient. In fact, it is advantageous to run a homogenous distribution (i.e. all distro-X version Y) because the latest kernels have memory deduplication which will cause memory pages that are the same to be only stored once.
Take a look at proxmox (http://www.proxmox.com), it provides a simple to install distribution bundled with kvm and a gui to manage it from...
It's aimed at server virtualisation which doesn't seem to be what the original poster wanted, but then he mentioned vmware esx which is also a server oriented hypervisor so who knows.
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
Frankly, RedHat isn't Linux. They have never been, and they wont ever. RedHat is dumping Xen, ok ... But even if IBM (and a bit of RedHat) is working on KVM, so is Intel, Oracle, Samsung, Fujitsu and others working on Xen.
KVM is in mainline kernel? Well, so is domU support. And dom0 in mainline kernel support is slowly becoming a reality as well. Patches after patches, it's upstreaming.
RedHat is dumping Xen? Well, how long is this going to be sustainable when it's going to be directly available as an option to tick in your "make menuconfig"? Will they be so stupid as to REFUSE to integrate RPMs with the userland tools and hypervisor? What's going to say Oracle about this, when they recommend (and even ship) Oracle virtual machines?
Please stop cut/pasting things about RedHat dumping Xen, WE DON'T CARE ABOUT REDHAT (MISS-)COMMUNICATION !!!
If running photo manipulation apps and snapshots/continuous backups are your goal, give some serious thought to switching to a Mac. Time Machine works relatively well, especially when you're doing it to a NAS sitting on your network. Backups happen frequently without any involvement from you, and restoring to a more civilized time is painless. Virtualizing Windows or Ubuntu is easy with Parallels and VMWare and performance is fairly good, but you can go native if you need/want to. If latency is important (and it is if you're doing GUI interaction), you really don't want to use a VM for everything.
Dont do it. And dont ask. Photoshop will always use all avaiable power, and thats good, fast rendering, etc. If your time is like gold dont vm it
I'm running multiple VM systems including VMWare Server, VMWare ESX, VMWare Workstation, xen, KVM and VirtualBox.
VMWare Server is going away and sort of a pain to manage. However, it was free and worked decently. I have since replaced it with VMWare Workstation on my desktop and laptop systems. I use VirtualBox on my Mac laptop because it's free and was the easiest/cheapest to get going.
On my servers I am running VMWare ESX, xen and KVM on AMD systems (mostly dual core, but a couple quad core systems in the mix).
VMWare ESX was the most finicky as to installation but has been pretty simple to manage. The remote console options are simple. The VSphere management client is Windows only though. There is support for command line administration, but it's somewhat of a bear. You can script around it though and many people have done so and provide scripts online. Check out the VMWare community pages. Support is so so..
Xen was my workhorse for the longest time, but since my primary OS is RedHat/CentOS and RH is moving towards KVM, I've also been moving to KVM. The GUI management tools work fine, but are not as polished as VMWare ESX. However, it very much makes up for it in being able to do just about everything from the command line. I can deploy an image with a single command and this works wonderfully for testing. Performance is awesome with both xen and KVM. Well, the caveat is that some network intensive stuff seems to be bottlenecking somewhere, but it only has a single gigabit NIC across 8 VMs. I'll be adding another NIC in the next couple weeks and either bonding the adapter or just splitting them up.
Be aware that client/guest images generally do not have video acceleration so many games will fail to load. If you're running VMWare Workstation on a laptop, or the more recent KVMs then there is some measure of acceleration, but not 100%. Also, sound can be finicky especially across the network.
Now if I could just find a way to virtualize my mom's Mac OS X 10.3. Her 10+ year-old G4 is going to die some day. I don't think the hackintosh will work on an OS X that old, will it? Needs to keep compatibility with OS 9/Carbon for PageMaker. She doesn't like change.
I have done something similar. Some points. 1. First pay attention to what CPU you get. Some Intel CPU's do not support VT extensions. Most AMD CPU's do. 2. I have always found better performance if the VM virtual disks were on their own disks vs. the OS, and then vs. each other, if possible. 3. I have used Photoshop on a Windows VM with VMware Workstation, and did not see graphics performance issues as described. VMware workstation is not free, but is not too $$$, and has some nice features vs. the free options from VMware. 4. Lots of RAM!!! 5. If you use an option like VirtualBox or VMware workstation that runs on top of an OS, I preferred and went with a Linux Host over Windows, mainly due to stability and CONTROL. Once installed, I did not do ANYTHING with or to the host OS. If I needed Linux, I would run a Linux VM. I also used a lighter window manager (XFCE) for host OS, removed unneeded services, etc. 6. I did run Samba and NFS on the Host OS to share files between.
I have been using KVM on my home workstation for a few months now and I can highly recommend it. I typically use it for testing different linux distros, files systems, server configurations, etc.
If your system supports VT-x or the AMD equivalent the performance is very impressive, almost no noticeable difference. The virt-manager produced by Red Hat makes creating and configuring virtual machines a snap with its friendly user interface.
It supports many useful things like, headless VNC mode (defaut), start on boot, cloning, virtual networks, and so on. However if you are using it for graphics you may want to use the virtualbox style display for faster mouse response, just select it from the list.
It's opensource so it costs you nothing to try it and the current Ubuntu kernels have support for it built in. For me it was a simple apt-get to get started.
I run VirtualBox on my server, where I use NX to bring up the main (server's) desktop and then the various VM's I have running. Most importantly to me this offloads the VM's from my laptop in an organized fashion. Nothing stops me from running NX/ssh on the VM's themselves, but I like doing things this way.
...Acronis. You can use it to image a machine, so that you can easily restore it to a known working state again later, even on different hardware. I'm a big fan of trayless disk caddies too, so you could have something like this: http://www.newegg.com/Product/Product.aspx?Item=N82E16817994076 that would let you swap disks in and out easily. I like it because not only can I upgrade my machine on a new disk with no chance of thrashing my currently working machine, but I can also use the additional tray slots for imaging my machine as well.
That said, I've used an older version of photoshop in a virtual machine running under ubuntu with VMPlayer and it worked great. Virtualbox is an apt-get away and so far has been working great running Windows 7, but I haven't tried running Photoshop on it.
I Am My Own Worst Enemy
Oh - G4 - no hackintosh - duh.
If you are doing it just for OS state reasons, and you're using Windows, is to just run Windows 7 and boot from a differencing VHD, keeping your data files outside of it.
Its no more complex than safely using virtualization to do what you want (and ensuring you don't lose data on a revert) but you're running bare-metal. Virtualization doesn't buy you much if you're just doing a single OS.
https://www.ltsp-cluster.org/ Easy to setup, manage, etc. This is what I use at home, my wife/kids/myself just open the thin client browser, log in, and poof windows or linux in a browser window, intensive applications run on the server, I doubt I'll have to upgrade my thin client hardware for many many years to come.
VirtualBox works very well using Linux as a host, plus you get experimental DirectX/OpenGL acceleration support... (VMware Workstation charges extra for that, though I have no idea how well it actually works)
ESX is for enterprises running servers. You'll be missing out on a lot of hardware support, just to gain a few extra MB of RAM (cheap!) and a few CPU cycles. Also it's a pain :P
Last I checked a few months ago, VMware Workstation / Server on Linux still uses a file on disk to back the virtual machine's memory. This will kill your file I/O performance on your host, since these huge files are constantly being written to. There's a workaround involving moving this to tmpfs, but of course then your virtual machines use twice as much RAM. Anyway, I've been pretty disappointed in VMware ever since they got consumed by EMC^2.
But frankly, virtualization is kinda last year... physicalization is the buzzword now. Get a cheap cluster of ION-based nettops to host all your various servers, and filesystems, and stuff 24x7, and dual boot your beefy application desktops depending upon what game you're trying to play or application you're trying to run... I think you'll be much happier and free to tinker.
It's not really for you. While it does squeeze significantly more performance, especially with I/Os, out of a system. It is really too much enterprise and not enough desktop to make for a happy GUI experience. Virtualbox and VMware Workstation are excellent products, I would recommend running Linux VMs on a Windows host to maximize your Photoshop performance. I run the other way around, with Linux host and Windows guest because my important apps are Linux apps. For laptops I would also recommend the Linux-on-Windows solution because the power savings tends to be a little better on Windows, although that is changing rapidly with the regulator patches and powertop.
“Common sense is not so common.” — Voltaire
As others have posted and others sill undoubtedly post, we need more information to give you the recommendation you want. Making some assumptions from your question, it sounds like you want to virtualize your workstation. For full baremetal performance, don't virtualize your primary OS. The technology isn't there yet, but VMWare is making huge strides with their VMView product. Set up properly, you can have CAD running in a virtual machine on a server with a thin client displaying the output with very respectable speeds.
For your application, it sounds like you need something like Virtual PC or VMWare Workstation. Virtual PC comes free with Windows 7 Pro and Ultimate. That's what I use and it allows me to have two or three VMs running XP for testing and/or risky web use. I haven't tried Ubuntu as a VM in virtual PC, but I have an ESXi server running, so I haven't bothered. I'm very happy with my setup, below:
There's a lot of technology out there, so you may have to do some fiddling around yourself to see what works for you. It took me a few years to gather all the hardware together and work out how to build the software just right, but it works. I use my main rig for video (kids soccer, family vacations, birthdays, etc), photo slideshows, gaming, developing, etc, so performance was key. My setup isn't top of the line, but something close to bleeding edge while maintaining a budget. Virtualization is a tool. Find something that fits your needs, understanding each product's weaknesses and strengths and you will do just fine.
ASCII tastes bad dude.
Binary it is then.
Okay here's my experience of using virtualization at home and with a bit of office work:
Xen - for the time I started using it in 2008, a really big advantage was paravitualization mode which allows to run virtualized linux instances really fast -- in that respect Xen is awesome, however there are several disadvantages: in theory you could run anything that supports paravirtualization mode, so that means you could run All the BSDs, but I never succeeded of installing any of them when I tried, windows of course is out. You could run "fully virtual" environment if you hardware supports it, but you're going to just use some bits of Qemu, so there isn't much advantage of running xen if you have the hardware. The nastier bit about Xen, that has been always a pain to initially configure Hypervisor and get bridged networking going, I see it got better in recent years, but it's still a pain, and I just configure network bridge and omit Xen network config entirely; the other thing, at least in Debian, the most recent version of linux kernel it supports is 2.6.26, and generally seems like it's on its way out. On the plus side, xen-tools would let you create a guest in seconds, be that debian, fedora, centOS or any other popular distribution, also libvirt-bin supports xen, so you get a nice GUI management tool, still it's kind of painful to configure and maintain all of this.
VMWare -- I tried server, and this is an example why proprietary software on open source system really sucks. It's not as painful to install as xen, but it is a lot more painful to maintain; every time you update the kernel you need to run a script to rebuild all the kernel modules, this could be automated, but really, why bother? 'm taking about Vmware Server 1.X here, I tried 2.X and instead of a venerable VmWare Console that everyone with more or less success tries to copy (see "Virtual Manager", "VritualBox OSE"), they threw it away and came up with some web-based solution, for which you have to install browser plugin, and it is generally even more painful and slower that server 1.x. Also it's pretty much mandatory to run it on CentOS (Not fedora, because it has too recent kernel, not ubuntu becase there hasn't been a package since 8.10, if I remember correctly, and not in debian because there never been a package, you can always install Vmware from an archive file insted of a package, but it would only result in more maintenance overhead). On the upside your virtual host would get a lot of SMBIOS info if you need that for testing software, but in general VirtualBox seems to be the one-to-one replacement of VmWare.
VirtualBox -- I've only been playing with it recently and it seems that everything that VMWare gets wrong VirtualBox gets right, although it seems a bit desktop-y for me as I haven't tired to run it in a headless server config, also it doesn't seem to support Linux LVM and only stores virtual images as files; but that's all more of a nitpicking I guess it's more of a matter of preferences between it and KVM. I haven't tried reading SMBIOS info so I don't know if it works.
KVM -- it's in kernel and it's always will be supported, I use it and if you have the hardware, it's the first option to be tried out. This thing works out of the box, just install the packages and make sure that amd/intel hardware support is enabled, configure bridge (default option is NAT, but I haven't tried it) and you're done. I'm in the process of converting some VMware images to KVM and I can't be happier, it's fast, Virtual Manager works so well that I don't even have to use command line, which is also available, it supports LVM and for all intensive purposes this is industrial grade virtualization solution, the only problem -- no snapshot support, but I think that was added in the kernel recently (see yesterday's article about new version of linux kernel), and there are ways to get around that using LVM.
Question I would ask is are you using a computer as a server which will keep both instances running and you will be accessing it via a remote console and if the answer is yes then I would recommend XenServer or VMware ESXi. If you will be using the computer by logging on to it and use it as a workstation then your options are as follows: 1. Install VirtualBox, VMWare ESX server or Microsoft Virtual PC if your boot PC is Windows(For Windows 7, you will get free XP from Microsoft) 2. Install Xen or KVM if your booth PC is Linux
VMWare Workstation is king for desktop virtualization. People will recommend all sorts of free/opensource tools, but the features simply wont compare to VMWare. DirectX support, snapshots, seemly windows etc etc etc. It does cost about $150, but well worth it if you have serious needs.
They are coming along, but they aren't mature yet. You can give NxTop or Citrix XenClient a try, the latest versions are both RC's at the moment.
NxTop supports more hardware than XenClient. Neither officially support Linux as a guest OS - there are no client tools - but you can install Linux.
Both are free (as in beer).
If you are a heavy graphics user or gamer, then virtualization isn't ready for you. Graphics performance simply isn't ready. If you only have a single PC and plan to run Windows-whatever on the physical host, your options are fewer and more simple. If you do normal desktop productivity apps, then you may be just fine with virtualization. I perform lite video editing in a VM, so it is not as bad as we say, but you won't be happy with a 128MB virtual video adapter if you own a copy of photoshop, period. Your physical graphics card doesn't matter inside a VM.
OTOH, if you run true server processes without a GUI, then you should start your research. I've been running VMs for over a decade. I've deployed Xen, VMware ESX, VMware ESXi, VMware Server, VirtualBox, and KVM - in addition to the UNIX VM methods on non-x86 hardware.
For a desktop and casual virtualization, you need to look at VirtualBox and VMware Player and VMware Server. If you have $100, many respected people swear by VMware Workstation. These are all solid enough for desktop use where you reboot weekly or more often. VMware Server hasn't been updated in years and there are security bugs that should be a show-stopper for everyone. Now that Oracle (THE devil) owns VirtualBox, I'm not certain I'd want you hooked on it.
If you plan server virtualization, the you need to look at KVM, ESXi, VirtualBox and Xen. If you have $3500, then look at ESX - but as this is for home use, I doubt you're willing to spend that money. Don't expect to use the system as a desktop, however. You'll need another PC to access and manage the server over the network.
There is no easy answer for you. Just be certain to get a 4+ core CPU with VT-x support and plenty of RAM - 6+GB.
Today, I'm running ESXi, Xen and VirtualBox at home. VirtualBox runs well on my laptop (Core i5/6GB) and I use a full screen LUbuntu install 95% of the time in a VM. There's also a WinXP VM that I use weekly and to run MS-Office apps. It is fairly solid, but I don't leave it booted. The Linux VM locks up about every 5 days and often doesn't shut down cleanly if I wait beyond 4 days (need to kill the VM). The hostOS is Win7 x64. Previously, I ran VirtualBox with Ubuntu 10.04 x64 as the host and had a both Linux and WinXP VMs under it. The entire physical machine would lock up after 4 days when the WinXP VM was left running, even if it wasn't used. Stability was a real problem, IMHO. Even on previous machines, stability of VirtualBox beyond 5 days has always been an issue. It is the easiest VM solution for desktops, IMHO - assuming you want to stay away from VMware Player/Workstation.
ESXi runs a Win7 Desktop for Quickbooks and a Linux VM for the VPN into my network. Rock solid. E9450 + 8GB RAM. 2+ yrs of history on this hardware. The big issue I have is a WinPC is mandatory to manage the ESXi server using vSphere. There is no love for Linux management client. VMware is setup for corporate environments, period.
Xen runs about 10 paravirtual VMs - Zimbra, MediaWiki, Alfresco, FreeSwitch, CRM, etc... E8400 + 8GB RAM. Rock solid, but the Xen kernel isn't provided from the Ubuntu repos anymore, so I plan to migrate to KVM at some point. Ok, "migrate" isn't the correct term. Rebuild each VM under KVM is really what will happen since paravirtual migration seems like more effort than it is worth. 3 yrs of history on this hardware.
I have a core i5/8GB box that I need to retest with VirtualBox and KVM for stability and performance. KVM performance under 9.10 was terrible with default installation settings for both Windows and Linux VMs. I've written much about virtualization on my non-commercial blog http://blog.jdpfu.com/tag/virtualization - probably 80+ articles.
I initially read this comment as "I am heavily into pornography."
I am very happy with my setup. And I arrived at this after much trial and error. I am mostly a Linux person but I reached a point in my life where I could not deny that I need both Windows and Linux to get stuff done. So I setup a quite beefy 6 core CPU machine to handle all my home computing needs and then some. You don't have to go all out like I did, if your needs are simpler. Here is the setup details:
CPU: AMD Phenom II X6 1055T
Motherboard: GA-785GMT-USB3
Memory: 16GB
Hard Drives: 4 1TB RAID10
OS: Windows 7 home premium
VM: VMWare Server 2.02 with a bunch of Linux and Windows guests
I put it all in a quite case with lots of air flow and placed it under the 60" TV in the living room. My wife and kids get a free DVR (Windows Media Center) out of this deal. And I get a system that I can remote desktop/SSH into and run whatever the hell I want without breaking a sweat. Nice thing about this system is that it consumes little power (About 70W avg.) for what it provides and generates little heat. And it runs very very reliably.
...a bare metal hypervisor that will let me toggle between concurrent Windows and Linux VMs AND also give me SLI and Twinview support so I can take full advantage of my dual GTX-260s and dual monitors.
Time's fun when you're having flies. - Kermit the Frog
Don't get me wrong, you could do it, depending on what you need, but it is very persnickety about hardware, and the extra expense probably only makes sense to do if running ESX is the primary objective, for example, for purposes of training/learning about that particular system. You have to be extremely careful about hardware.. you cannot plug just any common cheap-o NIC or storage device in and expect it to work, most notably on-board RTL NICs won't work, but Intel PRO 1000s work fine.
On board SATA has some caveats, and you may find yourself having to go buy a RAID controller or SCSI HBA from a very small list of brands + chipset combinations that work. Just because the driver required is the same as a card that works, doesn't mean you are OK either, unless you feel comfortable hacking to add an unknown device's PCI IDs to certain files.
It is not like Linux, it won't "just work", and it is not like Windows either -- you probably won't find 3rd-party rivers for anything, cannot simply compile your own Linux drivers either without modifications, check your hardware thoroughly against community known-to-work lists.
I would say Vmware Workstation, Virtualbox are easiest to get up and running fast.
If you want a bare metal hypervisor, look to XenServer.
Or you could try Hyper-V.
Remember though, the same way VMWare 'hooks' companies they'll hook you too. You want to back your VMs up? Thats hard without paying for it. You want to transfer VMs between servers or manage multiple servers? Thats a pay option too.
Also, disk storage on ESX is a horrible pain. Local storage or iSCSI are you only two real choices. No USB which will be a HUGE problem once you want to start backing things up or moving VMs around.
I haven't used XEN (though I'm highly motivated to try it...)
Vmware is fun and great for a play lab, but for your servers you want to make it through a hard drive failure and hardware upgrades? Be careful. The devil is in the details.
I do security
In Linux, I currently use VMware Player. It works great for my needs. The only thing I could ask for is voodoo 3 or 2000-era graphics card emulation for my Geforce 9800MGS on the host. Somebody should code this up for VirtualBox, since it is open source. I haven't tried VirtualBox in a wile, but maybe things have improved in that area. The sound was also laggier in VBox.
If I transfer my guest VM though, I'll have to re-activate the defective capitalistic operating system which it contains.
Yes you posted that you are looking for a vm solution - have you investigated the option of running your apps under Wine or any of it's commercial variants?
Dump a dead-end technology that duplicates much of the Linux kernel for complete, established, merged full virt tech?
Yeah. Red Hat is insane.
If all you want is to keep a clean windows install, read about Microsoft's own free download tool called SteadyState. Primarily used by internet cafe's, schools and libraries, SteadyState "helps make it easy for you to keep your computers running the way you want them to, no matter who uses them."
The two primary features I recommend are 1) the disk protection feature and 2) user account feature. With disk protection, you can set up SteadyState to remove all changes upon reboot. That means you got a virus? Reboot and it's gone. All changes done to the protected drive are rest upon reboot. Need to save your pictures/graphics/images? Use the user account manager to change the user's folders to an unprotected drive, keeping all information under that user account between the reboots.
This will allow you to have the full power of your computer and it's console and not put it under a virtual machine headache. Anyway, which ever you choose, good luck.
With Synergy you can share a mouse and keyboard between two computers, each running its own native OS, beats virtualization any day.
http://synergy-foss.org/
The only thing keeping me from not getting rid of my windows partition is gaming.
My computer has an intel i7-950 processor, 6GB or ram and an nVidia 8800GTX video card. Its no slouch but its not competitive with the current hardcore gaming rigs.
About a month ago I decided to check if running windows under a VM was now viable even for 3D hardware-accelerated gaming. This approach would also have the advantage that I could keep a 'golden' windows VM image and forever eliminate the need to ever reinstall windows from scratch again, (and the associated pain of also having to reinstall all drivers, apps, service packs and misc patches that result in needing to reboot about 50 times). Also hitting the terminally stupid and insulting windows authentication limit would no longer be an issue.
After attempting to run several 3D accelerated windows games under both virtual box and vmware player, I concluded that virtual box had marginally faster performance, however it often wouldn't run 3D hardware games well or at all due to lack of robust 3D hardware support. VMware player had much better 3D hardware support, especially around DirectX 10 and ran everything I threw at it.
I also concluded that the performance hit of running windows games under a VM was still too significant for online 'twitch' games like Unreal Tournament that are primarily based on reaction time, however many 3D HW-accelerated games aren't really affected by somewhat reduced framerates (i.e. more strategy-based games)and those are perfectly playable under a VM. It seems if you're a windows gamer, its the types of games you play that is the factor of whether a windows VM solution is a good choice for you.
The difference between vmware player and virtual box correlate with expectations as Vmware player is a much more mature product (slow, robust) than Virtual Box (fast, unstable) for 3D gaming. I read somewhere that Oracle are committed to improving Virtual box's DirectX/3D hardware support in future though.
Currently I would recommend VMware player for 3D gamers looking to switch to Windows under a VM simply because of its better 3D support. However because of its performance edge, all it would take for Virtual Box to edge out VMware player would be if Virtual box got the same level of robust 3D support as VMware player.
Don't forget WINE too. If your windows game happens to install and work under WINE, then that is still a significantly faster performing option than running a game under a Windows VM.
The OP says "upgrade home computers." If the plan is to upgrade multiple computers, it would seem to make more sense to just build one badass box sitting in a closet somewhere and running ESX or other virtualization software. Use the existing machines to connect over RDP, X, VNC, or similar. I haven't used ESX, but the old GSX server was managed by a GUI client that could connect across the network and allowed direct control of the guest OS's. I never had problems with redraws, latency, or saturation of bandwidth when connecting over a GigE LAN.
I run XenServer from Citrix. They have a free version, and it just works.
If your goal is to eliminate native operating systems entirely and run virtual desktops exclusively, you might consider a Type-1 / bare-metal client hypervisor. Similar to what has already occurred with server virtualization, PC virtualization is gradually evolving from Type-2 or software-based client hypervisors to bare-metal. The case for a bare-metal client hypervisor is that you can generally achieve performance closer to native. There is also better isolation between the different desktops on the same hardware. Malware or instability in one OS will have very little chance of compromising the stability and security of any others. NxTop from Virtual Computer is a "bare-metal" client hypervisor option that is available for download. The NxTop product is primarily designed for one-to-many corporate PC management. However, the client hypervisor component, NxTop Engine, is available as a free download (personal or commercial use) and can be used on a stand-alone basis as a bare-metal PC hypervisor. NxTop Engine is a commercial implementation of the Xen open source hypervisor, with a number of enhancements in areas such as PC hardware driver support, power management, graphics, networking, etc. to make it suitable for PC deployment. The free download is available here: http://www.virtualcomputer.com/download If you would like to see what the user interface looks like first, you can also see a quick video demo in this recent blog post: http://www.virtualcomputer.com/blog/2010/10/13/video-demo-nxtop-integrated-citrix-receiver Disclosure: I am an employee of Virtual Computer.
ESXi hardware support really blows compared to XenServer, which is a real Linux kernel. So any device supported by Linux would, in theory, be supported by XenServer. If you want to run ESXi, I'd check the hardware compatibility list carefully.
Pain is merely failure leaving the body
RedHat has nice built in VM program. I much prefer virtual box but if you want a "free or low cost" solution then go with one of these. If you don't care about $$ then please, by all means, use VM*
But such is the way with open source. Dump a working solution in favor of an up and coming newbie with its own set of problems.
Commercial software does the same thing, too, but usually it's vendor leapfrog.
Dump Wordperfect for Lotus. Dump Lotus for MS Office. Dump Office for OpenOffice.
Dump Debian for Gentoo. Gentoo for RedHat. and so on...
And how many times have you seen "feature x has been phased out in version y of our product, please migrate/modify your data"? So much fun to build your business case around a software feature, only to find out that everyone drops it at the same time.
~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
nt.
I have tested Xen and is free as well and works on all hardware unlike the ESXi
VMs are awesome, right now I'm posting from ubuntu running in a vm on a gentoo vm on a DSL vm on a windows XP vm on an atari host. If you don't know how to do that without it being explained though, maybe vms aren't for you and you'll never be as cool as me.
Not all life is cyber. Extra Income
Depending on your version of photoshop you could just run it natively using Wine.
I did just that with CS2 for like 3 years professionally. Works (almost) perfectly with just (very) minor window management issues if you're using compiz.
Consider running XenClient on a supported laptop. It is brand new and still has a few bugs (and linux is not officially supported, but it works). Just make sure you get a laptop that is on the hardware comparability list. This will accomplish exactly what you want, Desktop virtualization without sacrificing performance. http://www.citrix.com/xenclient
VMWare server seems to be an ignored and dying animal and basically right now it is horrible.
I'm limping along with it because I haven't had time to migrate to something else.
Unless you jump through lots of hoops you can't even install it, then you can't launch console windows, then when you do the keyboard doesn't work and the mouse only works in the upper left area, copy and paste only works on the 5th try, your keyboard input get messed up all the time (in the host not just the guest). It also seems to be temporarily freezing the host periodically.
I've heard VMWare workstation works fairly well but stay away from VMWare Server.
I've run windows and linux under VMWare Server 1 and 2. I would stay away from 2. I have been using KVM/QEMU lately on Kubuntu 10.04 with virt-manager and it works really well. I have Windows 7 64 bit installed and I can't tell that it's in a virtual machine. I connected to the screen via the KVM VNC and it works fine, not sure how it would be for Photoshop. Also, there are ways to run the console directly via a command line. Note that you MUST have virtualization in the CPU to really get KVM to work.
Get yourself a motherboard that support VT-d and passthrough your video card to your windows HVM for 3d perfermance in your VM. This link shows boards that have it: http://wiki.xensource.com/xenwiki/VTdHowTo
if you are looking primarily to snapshot the OS, why not just use LVM? Why bother with the overhead of virtualization?
Virtualbox IMHO is easy and pretty useful. And there's a GPL version of it. However, Oracle is now KNOWN (fact) for not being nice to any FOSS projects they own. Sure... the good news is we have GPL, the bad news is that unless a significant development community focuses on the GPL version, we can guess that Oracle's proprietary version will move away from the free one. Why? Because Oracle has stated publicly that they are only interested in high revenue production from their software acquisitions (and FOSS doesn't bring in the $$$$$$). Also, realize that Oracle has a VM from a prior acquisition (Virtual Iron) that they like to push.
So... Vbox... makes sense technically... might have a rocky road ahead??? Not sure.
Already, a lot of interesting features are ONLY in the Oracle proprietary version. And, knowing Oracle somewhat, I could see them pushing SOME of that down into the GPL version since they're drawing a lot of bad press right now... and then pulling the plug later when things have calmed down.
Other alternatives.
Well duh.... kvm. Yes... it's still maturing, but it's the way of the future and might be reasonable. It's just if the hypervisor platform has to be both a hypervisor AND a full function (e.g. 3d gaming) workstation... then there could be some issues. My guess is that kvm will be the one that solves this issues over time... but not sure.
And there's Xen... but unless something radical happens there, I think Xen is a choice TODAY and NOT for tomorrow. Again, not totally sure... but I think it's reasonable to assume that kvm becomes the best choice eventually... even if Xen might be the better choice today for some things.
If you're a Linux only person... then lxc shows great promise as a zone/container like thing. I prefer to look at the future without Windows personally :-)
Just make sure that whatever computer you buy has hardware supported virtualization - it makes all the difference.
I'm interested in this but it seems to be pretty hardware picky - NIC in particular. I tried setting it up on a spare 4core machine and it refused to fully setup due to a NIC that was incompatible. I'd LOVE to get ESXi running to play with it but have not found anything regarding reasonable hardware for HOME use. I have used it in the office in a lab environment and being able to play with it at home would be helpful to gain knowledge about it :-(
Build it, Drive it, Improve it! Hybridz.org
XenClient allows full use of most of your hardware, even video cards. It's new and still in progress but as good as XenServer is this will be a great choice, plus it doesn't require a full OS to run on top of, it uses its own custom Linux Hypervisor.
http://www.citrix.com/English/ps2/products/product.asp?contentID=2300325&ntref=prod_top
None of the virtualization environments allow for applying color profiles to the virtual graphics display.
As a photographer, you will be concerned with proper color management of your monitor, and so you
need a base environment which properly supports this. That base environment regrettably needs to be
a Windows desktop or server operating system.
I would like to know if you are able to color manage your monitor with an appropriate
ICC profile, and if so, how you get this profile properly applied to the virtual display?
VirtualBox works very well using Linux as a host, plus you get experimental DirectX/OpenGL acceleration support... (VMware Workstation charges extra for that, though I have no idea how well it actually works)
No, they don't charge extra. I have VMware Workstation 7 and it's as easy as checking a box in the VM settings... no extra cost or license. And it actually works quite well. It's not like fully native performance, but it works well.
But such is the way with open source. Dump a working solution in favor of an up and coming newbie with its own set of problems.
Dump Debian for Gentoo. Gentoo for RedHat. and so on...
Oh that must be my problem, I went the other way (kinda). I dropped Red Hat for Gentoo and then dumped Gentoo for Ubuntu. At least on my workstations. I've mostly used RedHat/CentOS flavors always for my servers. This recent Xen drop thing has made me consider using Debian instead. And I'm an RHCE, go to Red Hat Summit nearly every year and have been using Red Hat since version 4.1 (the original 4.1, not RHEL), so I don't make these decisions lightly.
I know, it seems to be stupid to ask, but these days the hardware is so cheap, why don't you just buy two dedicated boxes? The virtualization in a datacenter is making much sense since the partial load of separated servers can be consolidate into a single physical box to administer. But, for personal usage? I don't mean someone who wish to build a whole lab of servers for experimentation on his laptop is not having such needs, but what are yours? Why do you feel you have to take the virtualization pill? I don't believe you need to based on what you said so far.
Achille Talon
Hop!
Debian continues to support it. I just switched from CentOS to Debian for just that reason. Yeah, you have to choose between stable (i.e. oooold), testing and unstable, but I found Squeeze (testing) completely reliable. Even some of the bugs I saw on Ubuntu are gone. Install Squeeze, then
apt-get install xen-tools virt-manager xen-linux-system-2.6.32-5-xen-amd64
and go from there.
thegodmovie.com - watch it
Does it fully support paravirtualized Linux guests by now?
thegodmovie.com - watch it
Try XenClient. It's Citrix's client virtualisation, bare metal, hypervisor. It only works with Intel hardware at the moment, but gives the VMs access to local hardware rather than virtualised hardware so performance is good.
I'd prefer to use XenClient on my laptop rather than gentoo linux and VirtualBox running Win7, but my laptop doesn't support the Intel Virtualisation stuff and has an nVidia graphics card. Apparently support for nVidia and ATI cards is coming...
XenClient is free and unlike ESXi, has a full graphical interface :)
I use a lot of virtualization on my home computers, primarily so I can run (gasp) Visual Studio on my Macs. I'm not really sure what you're trying to do; virtualizing desktop applications tends to have a bit of a performance hit. It's really best for running applications that your OS doesn't support... Or for testing out "black market" software.
If you're more concerned about being able to back up and restore a computer to a known state, why don't you use Time Machine (Mac) or a Windows / Unix equivalent? I could throw a NAS on my network and point all my macs to it, and get (mostly) the backup situation that you're looking for.
No, I will not work for your startup
I am running Citrix Xen server at home in my virtual test environment. I find it has great compatibility with cheap whitebox hardware, is fast, and has good management tools. www.citrix.com VMware ESXi was too much of a challange to get it to work on cheap hardware.
My servers have become ever more complicated over the years: first Bind9, ISC-DHCP, NFS, Squid, Exim4, Spamassassin, ClamAV, CUPS, Apache2, PostgreSQL, Samba, Wide-DHCPv6, NTP/GPSD, and Asterisk to name a few, but now I've thrown out NFS and added Kerberos, OpenLDAP and OpenAFS (the fabulous Andrew File System). However, even though my Debian GNU/Linux server can easily handle this entire load, there are drawbacks to running all of these processes on a single physical server machine. The ones I see involve security and compatibility.
From a security standpoint, the problem is that if the wrong people ever manage to gain root access through some weakness in, say, Apache2 or Exim4, then they've got access to everything. As for compatibility, whenever the decision is made to upgrade the OS of a system that has only one OS, many if not all of the applications it runs also have to be upgraded. If any major problems are encountered, the ability to run certain applications may be lost, or it may even be necessary to turn back and reinstall the old OS, which may represent a terrible waste of time, money and effort. This might also be referred to as a continuity problem.
To address these issues, I've started working with KVM and Linux-VServer: the former is like a more traditional virtual machine, always requiring set chunks of memory and disk space for its VMs, while the second is like working with chroot jails on steroids. Despite all of their magic, however, both were easier to configure and maintain that I expected. So, as long as there's enough memory, it's now possible to set up server machines that start out running little more than KVM and libvirt-bin, along with the usual LVM tools for disk management. These physical machines can then be used to launch a number of KVM virtual machines, each of which can in turn run one or more Linux-VServer machines.
In the above scenario, it's possible to isolate many different applications -- especially those that are relatively vulnerable or need to be kept extra secure (e.g. Kerberos). If the bad guys do gain remote access to any of the more vulnerable applications, then it's more likely that the damage they do will be limited. In addition, upgrading becomes much less of a risk, since the virtual systems can in principle be upgraded individually; if one application does not upgrade properly, it doesn't have to hold the rest back. Even better, if you always keep a gigabyte or so of memory in reserve along with a fair amount of disk space, then you can always opt to replace older virtual systems as opposed to upgrading them; a good way not to burn your bridges behind you in case things go wrong. Finally, working this way means complicated upgrades will no longer have to be done all at once: they can be spread out over days, weeks or months. The only drawback is that you're left with multiple operating systems to maintain instead of just one per physical machine. But, that now seem like a small price to pay.
As for virtualization on the desktop, I've been using VirtualBox for the past so many years, but I have no idea how long that's going to last, because I don't think we can trust Oracle. I guess I'll end up using KVM and Linux-VServer for that as well. I suspect that it will be better to do that now while we have the choice, as opposed to later when we have none.
Apple hardware and Vmware Fusion.
You could actually play 3D accelerated Windows games from with in your virtual Windows.
And even if you don't Virtualize... the hardware (now intel) can run Ubuntu (or most *nix of choice), Windows, and Mac OS X - all natively. (rEFIt works wonders)
I used to only use Ubuntu as my host and VMware workstation 6, but ever since my company gave me a MacBook Pro and a copy of Vmware Fusion I have gone mostly all Mac hardware on my personal systems, Works wonderfully for any and all members of my family (whatever their tastes).
Granted, it costs a lot more than free.
I don't know where you get the idea that KVM kicks serious ass. KVM has always, always lagged behind in performance, especially when you increase the number of CPUs. KVM is good, no question. But it's still at least a couple of years behind Xen.
I went through this same exercise last year and this is what i found. Skip bare-metal hypervisors. You get no console and ESX is finicky about what motherboards it accepts. My favorite setup was Windows 2008 host and hyper-v vm's. 2k8 is expensive but not if you get a technet subscription or microsoft action pack. Outside of that go with virtualbox. Its free.
The problem youre going to find is that you dont get the higher video stuff like tHe windows 7 eye-candy.
How about using Linux + crossover / wine ? Anybody having experience on that ?
Joanna Rutkowka's Qubes. Security is the future. http://qubes-os.org/trac/wiki
depends wether you are a clicky-clicky or a where-is-my-terminal kind of user. if the latter, you'll enjoy kvm much more, which you can start without graphics in daemon mode and connect to your running image via ssh, x11vnc, rdesktop. if the former, you'd better stick with virtual box because it has a very nice GUI. if you wanna deploy your virtual machines headless though, you should really consider kvm, because virtualbox's headless version just let's you connect via proprietary remote desktop protocol...
We tried Xen first and it didn't work well for us. Then we switched to KVM and after ironing out some issues it's working great. YMMV. For our use case, Xen took too much overhead and disk performance was slow. With KVM we can pack in many more VM's per physical CPU while using less memory. The VM's also seem to be more responsive.
Are there still some issues with KVM? Yep. Nothing that impacts us on a day-to-day basis, and I've had to create a boatload of documentation for relatively simple maintenance tasks. Virtualization in general saved our company significant amounts of money -- we will literally have 3 servers not virtualized soon (2 with special physical cards are going away soon).
We were using ESXi but gave up after some major flaws (like upgrade problems) and some other things like unsupported hardware.
WE have Win2k8 and 7 so managing a Hyper-V Core R2 server (Free) is bomb.
I have a similar requirements and here is my recommendations.
Forget about running photoshop or lightroom or any of the creative suite in a virtual machine, especially if it is a 64bit version like CS5. These need to have full reign of your computer to have decent performance, as they will eat up as much processing power and ram as you feed them especially GPU.
As for running linux, or another OS using virtualization, and want to use vmware, have you thought of using the free vmware player? At first I dismissed it because I thought you couldn't install any OS on it. There is however, a great site called http://www.easyvmx.com/ that generates the VMX file for you to make this possible. The only thing is you cant create snapshots like you can in workstation.
If you are looking for open source, any of the recommendations here are good as well. Regardless of your needs, I believe that virtualization has a place on the consumer desktop because it allows you to learn a new OS, and software very easily without being destructive to the host, as well as using a guest to help with malware, and virus threats. Just get a good PC with plenty of ram and good luck with your journey.
Last I checked a few months ago, VMware Workstation / Server on Linux still uses a file on disk to back the virtual machine's memory. This will kill your file I/O performance on your host, since these huge files are constantly being written to.
This definitely works with virtualbox. We have a server in the lab that runs virtualbox guests on linux, and the virtualbox hard disks are LVM logical volumes, so there is no extra file system overhead there, and thanks to LVM it should be straightforward to resize them. I also use virtualbox on my desktops and laptops, for experimenting with stuff and for when I need a windows box (but here the virtual hard disks are just files). Have not booted into a windows partition in... forget how long...
We have also been migrating away from VMWare server everywhere we can because the web admin interface that they shoved down users throat a few versions ago is a stinking pile of crap that doesn't work at all with most browsers. And that was not a strong incentive to try ESX.
...and is awesome. You can run it at home if you get an iSCSI SAN. Get two servers and you can use Xen Motion to live migration VMs between physical servers. We use this
in a production environment with 20 physical servers and about 100 VMs. Xen rocks.
http://www.citrix.com
Your best bet is to use something designed from the metal up to work. But that means buying a piece of hardware probably more than you've got, and including pro grade nics.
The compatability guide helps to identify the hardware you'll need (or if your current hardware is compatible.)
I've used VirtualBox, VMware Player, Xen, Qemu ad infinum. ESX is ready for enterprise, and ready for the closet floor underneath the 50cm fan. For the wife/live-in-partner support (if they're not an IT geek) the web console for management is far easier to explain than VirtualBox. The crashes you can experience with other vendors (you do get the same crap with Vmware) are not handled well, and restarting often involves popping up a shell to kill some pids. ESX has fixed most of those sorts of issues since ESX 3.0.2.
I've used most of the ones on the market, VMWare, Parallel, VirtualBox. I do not notice any significant difference performance wise on any of them, though I am just running non-gaming applications. It is hard to compare them all, personally I find them all satisfactory, but VirtualBox wins for me because it is straightforward to set up, open source so always free to use. I love the headless mode because I can run my virtual machines in headless mode to save on CPU and memory, and then just remote desktop into the virtual machine. So basically the virtual machine is always running in the background and I am just remot-ing it should I need to, in my opinion that is way better than having to start/resume the machine machine every time you need it.
You could always upgrade your hardware as you see fit for your needs. Build some sort of DIY home Storage Area Network (ZFS FTW :) There's ton's of articles on google for it and you'll be in awwe heaven with the speed, performance, snapshot abilities, and redundancy add-on's you get via the file system). You'll have to shell out some extra money for the SAN but the benefits in the end will outweigh them all. If you have a fast enough internal network you can PXE boot into any VM or OS that you chose, you can do things like iSCSI, or simply share massive storage to any machine you want via other protocols such as NFS or CIFS. RAIDZ and RAIDZ2 are imho better than most anything you can build for the home environment, a much cheaper alternative to many RAID solutions today (cheaper JBOD controllers vs RAID controllers, WD black 1T drives are now sub $100's OEM for both 3GB/s and 6GB/s in the store vs ebay), and you'll have fun learning a lot. I assume that by mentioning Ubuntu you at least have a basic knowledge of systems administration beyond the typical internet user and I would recommend trying OpenSolaris for the base OS.
It can be a fun project for everyone and heck if you're really interested in building a practical application and yet having fun you can get some cheap IB (InfiniBand) controllers on eBay and play with 10+ GB/s ethernet or storage.
No Xen is at fault for being a whole other OS. It breaks regular $n.x style management.
No XenServer is not a real linux kernel. It just runs one in Dom0. Xen is pretty much another OS. This is why KVM is the way forward.
Hmm, upon further review, it appears you're right. Correction noted.
That said, it's still true that XenServer hardware support is broader and less finicky than ESXi.
So for your homebrew server boxes I recommend Citrix over VMware as my pick for a Type 1 Hypervisor.
Pain is merely failure leaving the body
I would recommend KVM, sure there is a real OS running, but that is an advantage. This whole type thing is a relic of the past when it had any real impact on performance.
You calibrate the monitor on the host, and use the resulting ICC profile with each application both on the host and guest.
This is discussed here: http://forums.virtualbox.org/viewtopic.php?f=8&t=18188
I used to use VMware - but frankly although I still own a copy - I found that virtual box was easier to use. Also you can set an option to make the windows of the hosted OS independant so you can alt tab between windows in either OS.
My Main OS is ubuntu and I host Win XP - mainly for a few hardware things - like my scanner - which has specialised software.
I should note however that the version of Virtual box you will get from the Ubuntu repositories does now support USB (as that code is non free) so get the Software from the Oracle website.
Do you want to run a pure virtual environment? Or do you want to boot an OS, and inside that, boot a VM with the other OS? do you have the ability to have a dedicated computer to be the "hypervisor" (so that it can manage the VMs)?
VMware 7 offers great graphical capabilities, altough you should be aware that right now no VM solution offers an 100% seemless graphical experience (altough we are getting there).
Anyways, XenClient might be the thing for you, as it claims to offer full HD graphics usage inside VMs. However, it's in an early stage, and they seem to be marketing it as mostly laptop oriented (if not laptop exclusive).
I have experience with virtualization, so I might help you out :)
"A sysadmin is a cross between a detective, a police officer, a gardener, a doctor and a fireman"
www.citrix.com/xenserver
I do recommend that you get a minimum of 8Gig of ram and have enough disk space for the vms. Think 500Gig hard drive or larger. Also get as fast a CPU as you can. I got an amd quad core 3.4Ghz CPU. Windows 7 actually runs ok in the VM. I'm not a gamer, and there is a free version of vmware if you don't want to pay and it is still pretty good.
Only 'flamers' flame!
Does slashdot hate my posts?
'nuff said
What I haven't yet seen mentioned are a couple advantages to it is the ability to manage VirtualBox via alternative frontends like phpvirtualbox, although it annoying requires Java runtime (sorry, not a fan) for remoting in VNC-style.
And as mentioned above VB is portable across Windows/Mac/Linux and unofficially FreeBSD hosts making it easy to move stuff to different OSes like that without any issues. That's the only downside I can see to the KVM/XEN kernel stuff: you're kind of tied to that VM technology on that host OS. But then I may not know what I'm talking about.
--semi-off topic rant I've been using VB for years now but I started looking at alternatives a little while ago: whilst VB can have an incredible number of virtual hard drives of hundreds of gigabytes each Microsoft's VirtualPC supports only three virtual drives of a max capacity of 160 gigs each. I mean...what the hell... /end off topic rant
"UNIX is very simple, it just needs a genius to understand its simplicity." -Dennis Ritchie
I run my whole house from an ESXi box I built from scratch. I first made sure the hardware I bought has drivers to run with ESXi, load the .dd image into a flash drive, boot from there, and it's up and running a minutes.
As I have an Intel NIC with 2 ports, one port is connected to my ISP cable modem, and the other one to my Gig switch. One Ubuntu server VM is configured as a router between both networks, and all the basic services are running there. Firewall, Asterisk, DNS, DHCP, OpenVPN, etc.
Other VMs are in separate virtual switches and provide different functionality. I have a massive 1.5 TB VM as a fileserver (NFS/CIFS, etc) where I store all my data files, and yes I also use Lightroom. That server also hosts my movie and music libraries, but the services for those (DLNA, daap, etc) run on separate VMs.
Overall, I have 8-10 VMs working happily in a single 12 GB RAM box with a regular modern quad-core single CPU Intel chip and 2 x 1.5 TB hard drives.
Granted, I work for VMware and I'm trained on these things, but the setup and maintenance of the system is trivial. I spend more time configuring my VMs properly and making sure everything is properly updated and secured, but other than that, it's a set it and forget it type solution.
I've been messing with home virtualisation since early 2001, rolling trials versions of VMWare Workstation.
MS Windows guest for internet browsing in a MS Windows host, for safety reasons, fear of Internet viruses and hacks, special set up for dial-up connection, need to be stable.
Linux guest sometimes, but usualy not virtualized (dual boot).
I switched to VMWare Player, tired of begging trial licences for Workstation every month or so. Player needs text editing to create a VM, but that's ok. Some extra features are missing but for standard use that's no big deal.
Then I went for Virtual Box, mature enough, easier to build a vm, still nothing to pay.
My VM Home Usage :
- Internet surfing , with strong isolation, when you're not so sure to have secured your system or when you hadn't time to do it.
- Software evaluation ( rollback to previous VM state in case the software blows your OS, or when the trial expires and you still need to evaluate)
- Get rid of dual booting Linux (for some cases)
- Keep ready a stable system with specific apps you need to run with reliability.
- some other usages maybe an AC would think of...
After the good advice in the comments above, if you still really really want to virtualize, you could try Xen with PCIe passthrough to DOM running your graphics intensive apps. It will appear natively to the virtualized OS. I have no experience with this - I use virtualization purely to run windows-only financial apps - but there are reports of success in the Xensource forums and examples of it working on YouTube. Good luck. See: http://lists.xensource.com/archives/html/xen-users/2009-01/msg00865.html http://www.youtube.com/watch?v=5I13E1MQbMc&feature=related
Beware: I believe all are created equal, and have the right to life, liberty, and the pursuit of happiness.
Kvm is a great winner for me. I use it on fedora to virtualize windows XP oan windows 7 and performances are more than good.
for best performance don't forget to use "Latest Windows Virtio Drivers". th gain ratio for I/O is about 10x
The majority of virtualization softwares is directed to the i386/AMD64 architecture. Keep this in mind if you are working on mobile equipment, SBCs, other computers- SPARC, PPC, MIPS, etc. You can throw most of these solutions out the window. Host and client usage will usually be the same. The average home user isn't out to throw away a chunk of money on software; because you're giving suggestions such as Xen, VMWare, etc doesn't mean that they are practical. Is the host secure? Are you just wanting services or an entire system? Will your equipment pass the basic requirements? Have you considered an alternate such as SSH login to another box?