General VM solution questions
I have a Slackware server running as a NAT and file server. I'm also running several services on it like DHCP, firewall, Apache web server, email server, music streaming (Subsonic), and some others.
Now I have the need for some applications that only run in a Windows environment and also use specific Windows only hardware.
Is it possible to create a virtual Windows setup on my current Slackware server without compromising functionality, the stability and security of the Slackware server, and that will work with the new hardware under Windows? I think I would like to run more then just one virtual Windows setup. Perhaps I would also run an extra Linux setup.
I read about several possibilities but I fail to see or understand the difference/cons and pros. I would appreciate it if I could get a push into the right direction.
Thanks for any info!
The short answer is yes - when you create the virtual machine you can choose the level of exposure it has on your network so you can control your risk. There's some comparison information here that should be worth a look through. There are plenty of different ways to go.
I use VirtualBox because it suits my needs of compatibility with my distro, ease of upgrade, visibility on the network and remote access/administration. I didn't have any other requirements.
I believe there are two principles to go? I either install for example Virtualbox on my current Slackware installation and run multiple virtual setups within Slackware. Or I install for example Xen on a bare metal machine and run Slackware and all other installations as VM's.
If I install Virtualbox on top of my Slackware, I suppose nothing much will change seen from the outside? Anyone connecting (or trying to connect) will see the same environment as before, right? At this moment I do not use a GUI with Slackware. Will I be needing one when using Virtualbox? I will mostly be remote connecting to the OS's anyway.
If I would use Xen and start running my Slackware installation as a VM too, what effect will this have seen from the outside? I mean currently my slackware stands in between the world and the rest of the network. It takes care of all the security.
Thanks for your info so far!
Any VM software can run without any GUI. A bit more time consuming to learn all the set up switches and stuff, but all are written in such a way to be able to run in a headless environment.
VMs use bridges or NAT to attach to existing net interfaces. From the outside the guest in the VM can be set to be accesses from the outside as another computer on the network, use NAT to access the internet (not be accessed from the outside), or use only a private network that restricts the communication to the host-guest only.
Make sure you double check your firewall after the set up of the VM.
You said you need to use hardware directly under Windows. This raises a few questions:
-If the hardware is accessed via USB or serial ports, any VM software will work probably (i say probably because under KVM Windows XP has some difficulties in adressing USB 2.0 devices on my computer at least, but Windows 7 and Linux does not).
-If the hardware is say, PCI, you will have to provide:
a) - a motherboard with a chipset AND BIOS (it has to be enabled here) AND CPU that ALL support PCI passthrough (IOMMU) - CPUs usually are not a problem, most mainstream CPU will do - AMD has support built in in pretty much everything, Intels however sometimes do not (usually lower end Intels dont have this feature, make sure you check the model specs). If you have a recent(ish) server server (hardware wise), you probably have IOMMU supported on it.
b) - the kernel HAS to be compiled with IOMMU.
c) - a VM solution that supports IOMMU. VirtualBox and KVM both support it, probably Xen aswell so this is not a problem in theory.
Wow THANKS! for this great info! It really help me to search for info in the right direction.
I'm actually going to invest in a new server. My current server was focussed on energy efficiency only. It lacks hardware resources in many ways. The Windows systems currently run on their own hardware. I assume running 3+ virtual systems on only one physical server will be more energy efficient.
The hardware that I need to work in the virtual Windows (7) is PCI and PCI-e. So your info about IOMMU was very thoughtful.
|All times are GMT -5. The time now is 07:42 AM.|