Now that I have explained virtualization (see /posts/virtualization_part1), the question remains of why would anyone use it? The reasons for using virtualization at home include: Software Development (or creating new software), Software Testing (does it work on my system or how my computer is set up), Application Testing (if I make this change to some software, will it still work as I expect), and even Web Surfing. The reasons for using it at the office are the same, but also include Hardware Consolidation (replacing several servers with one larger system and then running the small servers in a virtual environment, saving power and maintenance costs).
A lot of people ask why you would surf the web from a virtual system. The answer is simply that if you download a virus or spyware, you can just rebuild (or roll-back to a previous version) of the virtual environment. This is especially easy if you use a version that runs directly from CD like Ubuntu/Kubuntu or Knoppix, among others. Running an operating system in a virtual environment allows you to quickly remove the virus / spyware or other malware installed on your system. It also ensures that your financial data (from Quicken or whatever application you use) is not “visible” on the Internet in case there is some way for your computer to be broken into. For those people who are security conscious, it only provides one more level of isolation to protect yourself while on-line.
Since I run anywhere from 6-10 computers in my “office” at home at any time, I use virtualization to test changes prior to making them on my “production” systems. It also allows me to test software changes prior to making them on my computers. It also gives me flexibility to test new versions (or even different versions) of Linux as I can install them into my “virtual” environment. If I'm not happy with how it looks or works, it is easy for me to delete the virtual environment without impacting my main systems.
As time allows, I'll explain some of the software I've used for virtualization, as well as some ways Below are links to more information about virtualization:
- Bochs (Emulation) (http://bochs.sourceforge.net)
- CoLinux (for Windows only) (http://www.colinux.org)
- KVM (for Linux only) (http://kvm.qumranet.com/kvmwiki)
- QEMU (Emulation) (http://fabrice.bellard.free.fr/qemu/)
- Virtual PC (Windows only) (http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx)
- VMware - (http://www.vmware.com)
- Xen (Xensource) (Linux only) (http://www.xensource.com/)