Linux - Virtualization and CloudThis forum is for the discussion of all topics relating to Linux Virtualization and Linux Cloud platforms. Xen, KVM, OpenVZ, VirtualBox, VMware, Linux-VServer and all other Linux Virtualization platforms are welcome. OpenStack, CloudStack, ownCloud, Cloud Foundry, Eucalyptus, Nimbus, OpenNebula and all other Linux Cloud platforms are welcome. Note that questions relating solely to non-Linux OS's should be asked in the General forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hello, I am new to the concept of virtualization. Years ago I remember hearing about running 'virtual Windows' from the Linux platform but I am really more interested in finding out what other uses there are for the technology. Could someone give me a brief overview of what it is used for in an application development environment? I have googled it and there seems to be some uses for safely testing and debugging apps but I don't know any more than that. TIA.
A common use is to allow Linux users to run Windows at the same time as Linux to do those things they cannot do in Linux. In my own case, for example, I run WXP in a virtual machine because the printer/scanner is not supported under Linux and I haven't found a way to replace the email+PIM and mobile phone integration functionality of Outlook with nokia PC Suite.
AFAIK developers use VMs for testing their software on different OSs (e.g. Linux/*BSD/Solaris/???), and for separation of development, testing and packaging, without having to have multiple boxes. (If the app crashes the OS while being tested, no problem, just restart the VM it's running in. Meanwhile you can continue with other work.)
Sysadmins use VMs in order to maintain flexibility - you can easily move a VM from one box to another to balance loads; this is not so easy if the app is running on the base OS. They can also use them to maintain separation between clients in hosted environments, and to provide a specified level of service to a client in a shared environment.
Since sysadmins do these things, developers (in larger shops) need to as well.
This goes beyond the scope of your question regarding a development environment, however you may find the following interesting....
One of the more common use cases in the Enterprise is high-availability. If you boot a Virtual Machine from shared storage (SAN), you gain the ability to "Live Migrate" running systems from one piece of hardware to another with no interruption in service. This because both systems would be able to concurrently see and boot from the shared filesystem (i.e., GFS2, Redhat Cluster Suite)
Additionally, when using SAN storage for hosting VM's, you can create a single Virtual Disk containing a "golden image" of a workstation/server, and deploy additional servers via snapshots w/LVM2. This reduces the file size of your VM's to the size of the delta (changed bits in relation to original image), which in most cases can be ~10MB per workstation.
These capabilities, are further enhanced by the ability to backup your all of your VM's by simply backing up your SAN (for disastor recovery / COOP). This make recovering your environment much easier than backing up/deploying an entire "bare metal" datacenter.
There are numerous other use cases in addition to the mulit-os scenario catkin shared above, including but not limited to; Development/test environments, dynamic cluster/HPC node provisioning (desktop cycle harvesting), replacment for X clients/ssh clientes/cygwin on windows systems, etc...
Last edited by Forrest Coredump; 10-16-2009 at 01:30 AM.
Reason: sp
VMs can also be used for security reasons, such as having a dedicated VM for sensitive transactions. That way it is less likely to be compromised than the everyday system which is exposed to a greater variety of risks.
Distribution: M$ Windows / Debian / Ubuntu / DSL / many others
Posts: 2,339
Rep:
Quote:
Originally Posted by catkin
VMs can also be used for security reasons, such as having a dedicated VM for sensitive transactions. That way it is less likely to be compromised than the everyday system which is exposed to a greater variety of risks.
Strange idea and definitely does not help much
A:the data still goes thru the network
B:some emulator actually execute the guest code directly on the host processor
C:the guest and host are still in the same memory space and its not encrypted
D:its a strange idea
VMs can also be used for security reasons, such as having a dedicated VM for sensitive transactions. That way it is less likely to be compromised than the everyday system which is exposed to a greater variety of risks.
I think what catkin is probably referring to is the fact that most of the virtual hardware is abstracted from the bare metal (thus giving an additional layer of protection, e.g, iptables/ibtables on the bare metal, and the fact that you don't have to worry much about the physical security of the vm (so long and the bare metal is protected).
Not to mention the ability to manage the exposed surface area of both your bare metal and your vm's centrally (windows GPO, CFEngine, etc...).
just to add to what was already said - todays' servers are extremely powerful, and an installation of windows + AD, or linux + apache, or $any_other_trivial_usage_of_server_os oes not load a server by even one percent.
So, in order to put the powerful hardware to good use, and save up money in the process, you would use the server as a virtual host, on top of which several instances of $any_other_trivial_usage_of_server_os can be run.
This is more secure that chroot, resourses are better used, and you even save power, since only a single server is actually consuming electricity
Originally Posted by catkin
VMs can also be used for security reasons, such as having a dedicated VM for sensitive transactions. That way it is less likely to be compromised than the everyday system which is exposed to a greater variety of risks.
Strange idea and definitely does not help much
A:the data still goes thru the network
B:some emulator actually execute the guest code directly on the host processor
C:the guest and host are still in the same memory space and its not encrypted
D:its a strange idea
See TOM'S HARDWARE GUIDE interview with Joanna Rutkowska (reportedly "one of the top computing security innovators in the world"), in the "What do you do for your regular systems?" section she says she uses VMs for security.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.