Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
What VM technologies exist for Linux, their pros and cons, and which is recommended for which application?
Since this kind of question can be asked for X other than "VM technologies for Linux", and since the answer changes with progress, I suggest to define a template for this kind of pages. Those pages will have the tag 'stateoftheart' and they will be revisited each month and each month there will be up-to-date list of technologies, up-to-date reviews and up-to-date recommendations.
This is a job for ... Wikipedia!
Types of Virtualization
Platform Virtualization
Comparison of Virtual Machines
Now that the obvious stuff is out of the way...
Linux runs fine as a guest on every VM host I've used, so I'm going to assume that you're referring to Linux as the host operating system. I'm also going to assume x86 or amd64 hardware.
Platform virtualization breaks down into two major forms: Desktop virtualization and Server virtualization. Both types will allow you to load and run multiple OS instances as guests that virtualize their I/O through the host OS. Desktop virtualization concentrates on providing a highly interactive console experience for each of the guest VMs, while Server virtualization concentrates on maximizing computing performance, generally while sacrificing console services and more exotic devices (Sound cards, USB, etc.) Server virtualization implementations typically include either RDP or VNC for remote access to a virtual console.
On Linux, your choices for Desktop Virtualization include:
VMware Workstation -- it's commercial, somewhat expensive, mature, and provides the most hardware, device, and guest OS support of any solution.
VMware Player -- it's commercial (freeware) and only supports VMs that were created elsewhere. Available with Ubuntu.
Parallels Workstation -- it's commercial, somewhat expensive, and not up to par with VMware. Doesn't support 64-bit guests.
VirtualBox -- available in commercial (freeware) and community versions (GPL). Fedora's preferred solution.
On Linux, your choices for Server Virtualization include:
VMware Server -- it's commercial (freeware), mature, and provides the most hardware, device, and guest OS support of any solution. Available with Ubuntu.
Xen -- it's open source. A para-virtualization solution, it has only recently added hardware-virtualization, so Windows guest support depends upon specific CPU support.
Virtual Iron -- a commercialized version of Xen that adds native virtualization.
KVM -- it's open source. It depends upon QEMU for the last mile. Ubuntu's preferred solution.
Linux-VServer -- it's open source. It provides virtual jails based on the host OS kernel, so no Windows guests.
For myself, I stick with VMware Workstation (7+ years) and VMware Server for my Linux-hosted virtualization needs. At work, it's VMware Workstation (on Windows), VMware Server (on Windows), and VMware ESX (on bare metal). I'll probably have another look at Xen, KVM, and VirtualBox at some point, but for right now compatibility between work and home is paramount.
2008 Oct
To be filled in at October to reflect the market status then.
2008 Sept
Products/services/technologies currently existing
VMware
Xen
VirtualBox
VServer
???
Comparisons
???
Recommendations for particular application areas
Home multi-boot replacement
Small business which has MS-Windows legacy applications
Datacenter of multinational corporation
???
W Craig Trader answer is great, but just to add there is also User-mode Linux (UML) which has been around for a while - it has been in the mainline kernel tree since 2.6.0 . Note that I haven't used it myself.
Ubuntu prefers KVM, and I believe Red Hat is moving to it over Xen now as well. Both KVM and Xen can be managed by libvirt, optionally through the virtual machine manager GUI. The virtual machine manager can manage remote instances through ssh connections.
In addition, a good comparison can be found here (pdf). Lots of performance tests done. The short version is that xen and linux-vserver were generally the best on performance grounds.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 5 years ago.
Improve this question
Our customer has about 800+ computers running Windows XP distributed across the country. Each computer can be accessed using TeamViewer. The goal is to replace XP by a Linux distribution remotely.
Does anybody know if this is possible, and where to start?
Thanks!
PXE is your only realistic hope:
Some on-site assistance is needed to press F12 at Bios before Windows XP boot:
A) On PC-A, setup DHCP server that refer DHCP-client to PXE server that download Linux ISO from a web server (of course all three can be a Windows machine in the same LAN segment onsite)
B) reboot PC-B onsite to reboot machine and press F10-F12 to choose Boot-options
C) then choose network-boot (PXE-Boot)
further reading : https://www.vercot.com/~serva/
guide: https://youtu.be/nnxgFpUr1Og?t=39
Note: Make sure you have enabled proxyDHCP and not DHCP Server
I would try with something like these:
Clonezilla, which works by replicating a previously prepared disk image to one or more computers booted inside a network segment
Cobbler, which works like a provisioning server for Linux based machines
Of those options, I have used Clonezilla with success. As long as the prepared base image doesn't change too frequently, the main time consuming tasks would be related with configuring the Clonezilla server and building that seed image.
I did a basic test of Cobbler and it worked fine in my environment, being this a way that would be more apt to deal with requirement changes.
Please also note that both options require some network configuration, like DHCP server settings that work with the PXE protocol.
Also, for your requirement, someone, a human being, would be needed to execute one or more of these tasks:
Properly enable network booting in the BIOS of each of the 800+ machines, unless it has already be done before
Boot the machines to install the new operating system
The network booting option, based on the PXE specification, should be supported by the motherboard of those machines and have higher booting priority than other devices, like CD drives, hard drives, etc.
Another thing to consider for the couple of options I'm suggesting, is how are those 800+ distributed across the country. The more disperse they are, the more cumbersome this task will be. Quite contrary, if there are few places were those machines are located, the more feasible this task will be; for example, by preparing and testing a server, computer or laptop that you then carry to each of those few places and installing the new operating system.
Regarding the option to boot using the public Internet to reach a remote deployment server, I don't know about how that could be done; in fact, for me that would be something quite interesting to learn about. If something like this is possible, another variable to note is the hardware compatibility of the destination machines, because as far as I know, protocols like PXE do some kind of multicast or broadcast in the local network segment and I presume those 800+ machines don't have recent motherboards with advanced firmware that could support more modern boot protocols.
That's all for now.
I have VirtualBox on my Windows 7 machine, and recently installed a Redhat linux VM. I'm planning to learn linux programming with some low-level stuff, such as kernel function calls and assembly.
My question is: is my Redhat VM a "real" linux environment for my purpose? I guess that whatever I do in the VM is done in a "linux simulator" in VirtualBox, and under the hood the "linux simulator" still does its job using functionalities provided by the Windows host (e.g. Windows function calls). Is this true?
VirtualBox is not a "Linux simulator", it is a "computer simulator". OS selections within such an simulator are for the purpose of deciding which virtual devices to make visible, and not for running a different simulator "core".
I think you should dual boot linux instead of VM because not only it saves resources ("Prevent Computer from going slow") But also give you better functionality and hardware support
Edit:
and you can also use Live Cd(also usb)
We are planning to setup RHEL KVM hypervisor on a Physical machine and then create multiple Linux VMs on that hypervisor.
In order to directly map/present Storage LUNs to these VMs, we are planning to use NPIV technology of KVM.
I want to clarify few things:
Is KVM NPIV technology same as NPIV technology of Windows 2012 Server Hypervisor where once NPIV environment is set correctly, Storage LUNs can be directly mapped to VM using virtual WWN?
What are the supported guest VM OS type which are supported for NPIV like RHEL, SUSE etc.
Any particular Network switch types which supports KVM NPIV technology.
It will be great if somebody knows the answer of these questions and share them.
Thanks,
Nitin
1) NPIV is an ANSI Standard, so yes it is the same idea as 2012 Hyper-V Uses.
2) I'm looking for this info as well, will update if I get it. http://www.linuxtopia.org/online_books/rhel6/rhel_6_virtualization/rhel_6_virtualization_chap-Para-virtualized_Windows_Drivers_Guide-N_Port_ID_Virtualization_NPIV.html seems to indicate it's agnostic to the guest operating system, but I have a couple contacts I'm asking for details from.
3) Brocade and Cisco FC switches both support.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
This is more of an advisory question.
I am into a virtualization project and need a good software to do that.
Basically I am into Desktop virtualization that allows to run multiple operating systems on the same physical hardware.
I cannot afford to buy the developer APIs of VMWare, so I have moved on to Linux.
I did some research on the same and learnt that Xen can't be installed on Fedora 16. Is it true? because I am doubtful of the same.
My Questions are :
Which Operating system should I install?
Fedora 16 /Ubuntu 11.10 /Any other?
Which software for the same?
Xen/Any other?
I want an advise because I am using it for the first time and any post-installation problems will hurt me bad.
I am a newbie in linux... Can anyone please help me out on this?
P.S. : No offence, I am not asking which is the BEST! I am just asking what will suit my purpose.
If you are looking for APIs you are probably most interested in libvirt for simple ESX style api for interfacing LOCALLY with the virtualization hypervisor on your system.
libvirt works with qemu, kvm, and xen and probably more.
http://libvirt.org/
redhat has traditionally had better virtualization support in its enterprise offerings. but fedora is not that. I'd suggest ubuntu oneiric.
If you are looking for a REST API to talk to a large number of virtualization servers... ala vsphere. I'd suggest looking at openstack.
http://www.openstack.org/
http://www.devstack.org/
http://www.trystack.org/
I have used VirtualBox several times. I had some production servers running virtualized on Linux with it. I think it was bought by Oracle, but still open source and free (I hope :)
Take a look at it, may be is what you need. I remember installation and configuration was easy, and very well documented.
It seems you want to begin with Linux as a Windows guy. Why not to intall Microsoft Virtual PC? I bet it does support Linux and all modern distributions will likely work.
I also recommend VirtualBox as a good starting point for you if you want to use Windows as a hypervisor.
If you want to use Linux as hypervisor, I recommend to stick with standard KVM. E.g. in RHEL (CentOS) or Fedora you can use it easily. Definitely read this document: Virtualization Getting Started Guide
http://docs.fedoraproject.org/en-US/Fedora/18/html/Virtualization_Getting_Started_Guide/index.html
As it explains everything to start with virutalization including very easy setup and installation on Fedora Linux. It also applies to Ubuntu, but the installation procedure will be different. But you will end up using the very same tools and software.
Is there a way to figure out if a win 2003 server server you are connecting to is virtualised? I tried asking but not 100% sure of the answer is correct.
This is a duplicate of this question: How to identify that you’re running under a VM?.
Quoting from the accepted answer to that question by JawnV6:
The classic trick to detect a VM is to populate the ITLB, run an instruction that must be virtualized (which necessarily clears out such processor state when it gives control to the hypervisor), then run some more code to detect if the ITLB is still populated. The first paper on it is located here, and a rather colorful explanation from a researcher's blog is located here.
I guess looking at the Device Manager (Control Panel | System | Hardware | Device Manager) should give you a good idea.
On one server, running on VMWare ESX, I see the following tell-tale signs of a virtual machine:
System Devices: VMware server memory controller
Network adapters: VMware Accelerated AMD PCNet Adapter
Mice: VMware Pointing Device
Disk drives: VMware Virtual disk SCSI Disk Device
A simple test that detects a VMware network adapter, is:
ipconfig /all | grep "VMware Accelerated"
(would perhaps also detect a host running VMware workstation)
Here's a decent explanation. You can check the manufacturer of a piece of hardware from WMI or within Device Manager to determine if it's a physical device or not.
http://blogs.msdn.com/virtual_pc_guy/archive/2005/10/27/484479.aspx
Can you tell us any more about how you're connecting to this server?
This depends on a couple of factors.
Are you using remote desktop to connect to the server and can you gain access to system files and folders?
Do you know what type of virtualization software is running the server?
Without know that information this question may be a litle difficult to answer correctly. There are a large number of virtualization software vendors and each of them have different setups that are in the virtual servers.
Without more information, the short answer is no. To the actual guest operating system it looks and acts like an operating system that is running on bare metal.
You could look for support software installed, for instance VMware usually installs VMware Tools on the guest operating system.