When talking about VirtualBox, be sure and mention vboxtool, which wraps the CLI for VBox and makes it much easier to start VMs from the command line and/or with init.d scripts.<div><br></div><div>    <a href="http://vboxtool.sourceforge.net/">http://vboxtool.sourceforge.net/</a></div>
<div><br></div><div>Mostly developed for Ubuntu, but also works well in other hosts.</div><div><br></div><div>When installing in CentOS (either host or guest), you will need to install developer tools (cpp and kernel module requirements) in order to use Guest Additions.</div>
<div><br></div><div>Installing in OpenSUSE is a bit cleaner; it allows selecting cpp and kernel module stuff during initial system install (CentOS has been crashing for me if I select any additional packages -- any clues?)</div>
<div><br></div><div>One egregious error in vboxtools: you are supposed to be able to change the RDT port in the vboxtools config file, but there is a syntax error in the script. I plan to correct the error (in my ample spare time ;-) ), but have just not been playing with that feature so far. A couple of other errors, too, but not too bad, once you learn what is really required.</div>
<div><br></div><div>One more item: if you start a VM with vboxtool, you will only be able to start up a GUI with RDT; the VBox GUI mostly shows VM status in this mode. You can, however, save the state of a VM from the command line and restore it from the GUI, and vice versa.</div>
<div><br></div><div>I&#39;ll pass on more notes, if anyone is interested in running VBox headless (or CLI controlled).</div><div><br></div><div>--Don Ellis</div><div><br><br><div class="gmail_quote">On Wed, Sep 15, 2010 at 9:13 AM, Daniel A. Ramaley <span dir="ltr">&lt;<a href="mailto:daniel.ramaley@drake.edu">daniel.ramaley@drake.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">On 2010-09-14 at 17:05:55, <a href="mailto:murraymckee@wellsfargo.com">murraymckee@wellsfargo.com</a> wrote:<br>

&gt;Why would you chose one VM over another?<br>
<br>
</div>Different virtual machine technologies are suited for different tasks. I<br>
help maintain the Xen cluster at work, but use VirtualBox on my personal<br>
machines. Xen is very well-suited to large installations that are<br>
running many VMs as always-on servers, VirtualBox is well-suited to<br>
running the occasional VM on my desktop (great for testing and for the<br>
errant Windows app).<br>
<br>
For the remainder of these questions, i&#39;ll assume we are talking about<br>
desktop-side virtualization (VirtualBox, Parallels, VMWare Workstation,<br>
ec.) since that seems to suit your level of knowledge better. (Please<br>
pardon the presumption... or if not, feel free to flame me.) If you want<br>
to discuss server-side virtualization (Xen, KVM, VMWare Server), then<br>
most of these answers would be very different.<br>
<div class="im"><br>
&gt;       What are the strong &amp; weak points of the various VMs?<br>
<br>
</div>Mostly this would depend on if you&#39;re talking desktop or server style<br>
virtualization. Within those 2 spheres, however, strong &amp; weak points<br>
tend to be similar.<br>
<br>
Some VM architectures have more overhead than others, or allow VMs to<br>
run faster than others. Or support different operating systems (either<br>
for host or guest). Or are Free versus proprietary. If you have<br>
something specific in mind that you want to do, i&#39;m sure someone could<br>
recommend a good VM architecture to start with. Personally i&#39;d recommend<br>
VirtualBox since it is easy to install and the documentation is easy to<br>
follow (read the entire User Manual... it&#39;s worth the time to gain<br>
understanding how VM stuff works).<br>
<div class="im"><br>
&gt;What do they cost to install?  Purchase price / disk space / etc.<br>
<br>
</div>Depends on which one. Some are free. Disk space for the VM architecture<br>
itself is usually minimal on modern hardware (a few MB to a couple GB).<br>
<div class="im"><br>
&gt;What do they cost to run?  CPU / Memory / etc.<br>
<br>
</div>The VM software itself doesn&#39;t use much in the way of resources. The VMs<br>
running within it, however, will certainly need some CPU and RAM. My<br>
machine at work has a dual-core CPU with 4 GB RAM. At home i have a<br>
dual-core with 8 GB RAM. I&#39;ve never had any problem running several VMs<br>
on either machine, though if i have the VMs doing any serious number<br>
crunching i&#39;d probably want more CPU available.<br>
<div class="im"><br>
&gt;How do you install it?  Guest OS and then VM or vice versa<br>
<br>
</div>Most desktop VM architectures install like any other application. Many<br>
install kernel drivers which may or may not require a reboot, depending<br>
on which host OS you&#39;re on.<br>
<br>
For a desktop VM architecture, you install your host OS first, then the<br>
VM software, then whatever guest OSes you intend to use.<br>
<div class="im"><br>
&gt;Any special considerations to installing an OS as a guest rather than<br>
&gt;a base OS?<br>
<br>
</div>If you&#39;re installing something esoteric, check the compatibility list<br>
for the VM software first. If your guest OS is not listed, that doesn&#39;t<br>
mean you are out of luck, just that you&#39;re diving into uncharted waters.<br>
Check online forums (as always, Google is your friend) to see if anyone<br>
else has installed the same OS and what (if anything) they had to do<br>
special.<br>
<br>
If installing something common (Windows XP or higher, Linux with a 2.6<br>
kernel), you&#39;ll probably have no trouble. Read the documentation<br>
though--you might have to install a small tools package into the guest<br>
OS so that it performs better.<br>
<div class="im"><br>
&gt;How do you start a VM with a guest OS?<br>
<br>
</div>In VirtualBox, you launch the VirtualBox application, then select which<br>
VM you want to run, and click the start button for that VM. Other<br>
desktop VM architectures are probably similar. In other words: easy.<br>
<div class="im"><br>
&gt;How do you run multiple guests of the same OS?<br>
<br>
</div>Create multiple VMs. (If virtualizing an OS that is somewhat piggish in<br>
its use of resources *Windows* *cough* *cough* then plan on having lots<br>
of free disk space to create the VMs and lots of RAM if you want to run<br>
more than one at a time.)<br>
<div class="im"><br>
&gt;How do you run multiple guests of different OSs?<br>
<br>
</div>Create multiple VMs.<br>
<div class="im"><br>
&gt;How do you divide up the disk space for the different guests?<br>
<br>
</div>However you want. When you create a VM, you&#39;ll be asked how much disk to<br>
allocate to it. In your host OS the VM&#39;s disk will appear either as a<br>
single large file, or a few smaller files of some small number of GB<br>
each.<br>
<div class="im"><br>
&gt;Can the VM run off the C drive and guest 1 think that the D drive is<br>
&gt;its C and guest 2 think that the E drive is its C?<br>
<br>
&gt;Can the C drive be partitioned and a different partition given to each<br>
&gt;guest as its C drive?<br>
<br>
</div>OK, now we know that you&#39;re planning on running Windows as the host OS.<br>
<br>
Unless i&#39;m misunderstanding, these 2 are the same question, just phrased<br>
slightly differently. So i&#39;ll answer both at once:<br>
<br>
This should be possible (depending on which VM architecture you choose),<br>
but generally is considered a very advanced way to set things up.<br>
Normally, each VM&#39;s disk is just a file on the host OS, not a partition.<br>
If you don&#39;t have enough space on C: for your VM disks, you should be<br>
able to put them somewhere else. Non-Windows VMs usually only need a few<br>
GB disk space.<br>
<div class="im"><br>
&gt;How can files be shared between guests if needed?<br>
<br>
</div>Most VM architectures allow you to mount part of the host filesystem as<br>
a network drive. Usually you have to install some small tools first, but<br>
it is all pretty easy to setup. If the VM software doesn&#39;t make it easy,<br>
you could use whatever file sharing the guests support: NFS, CIFS, etc.<br>
<div class="im"><br>
&gt;How do you switch the video and keyboard between guests or do you need<br>
&gt;to have one for each guest? If so, how do you connect multiple videos<br>
&gt;and keyboards to a computer?<br>
<br>
</div>On desktop virtualization, the guest appears in a window on your<br>
desktop. To switch to it, you either just move the mouse over it, or (at<br>
worst) have to click in the window.<br>
<div class="im"><br>
&gt;How do you maintain the VM? Install patches, update apps, etc.<br>
<br>
</div>Do you mean the VM software itself? Same as any other software. You<br>
either apply updates when they come out. Or you don&#39;t. Up to you. If<br>
you&#39;re guest OS is something that has proper package management (such as<br>
most Linuxes), then you don&#39;t have to worry about it--the package<br>
manager will apply updates when/if they are available.<br>
<div class="im"><br>
&gt;How do you maintain the guest OSs?<br>
<br>
</div>Same as you do when they are running on bare hardware.<br>
<div class="im"><br>
&gt;How do I let the system know that the USB device plugged into that<br>
&gt;port needs to be connected to guest X?<br>
<br>
</div>The VM software should provide a way to do this. If that is important to<br>
you, look for that feature when choosing which VM software to go with. I<br>
know the non-Free version of VirtualBox will do this, and it is free.<br>
<div class="im"><br>
&gt;Can I switch a USB port between guests as necessary, or once it&#39;s<br>
&gt;assigned is it stuck, until I reboot, forever, etc. ?<br>
<br>
</div>You should be able to switch.<br>
<div class="im"><br>
&gt;Are there any special considerations for living in the country and only<br>
&gt;having dial up access?<br>
<br>
</div>Setting up networking on the VMs might be more interesting, but<br>
basically, no.<br>
<div class="im"><br>
&gt;And then there is the ultimate question, what don&#39;t I know about VMs<br>
&gt;that I should know?<br>
<br>
</div>I&#39;d suggest downloading and installing some VM software. Then install a<br>
guest OS or two (or three). Play with the software. Read the<br>
documentation. Those are the best ways to get used to the concepts of<br>
how it all works.<br>
<div class="im"><br>
&gt;Or is there a book that I should be reading instead of tying up<br>
&gt;meeting time?<br>
<br>
</div>I haven&#39;t read any dead-tree books on virtualization. But most of the<br>
software comes with detailed PDF documentation. Reading some of that<br>
will help your understanding.<br>
__<br>
Daniel A. Ramaley<br>
Network Engineer 2<br>
<br>
Dial Center 118, Drake University<br>
2407 Carpenter Ave / Des Moines IA 50311 USA<br>
Tel: +1 515 271-4540<br>
Fax: +1 515 271-1938<br>
E-mail: <a href="mailto:daniel.ramaley@drake.edu">daniel.ramaley@drake.edu</a></blockquote><div> </div></div></div>