What is a Virtual Machine and why do VMs and NAS go together so well?
Computers as we know them have been around for a while. It is easy to take the versatility of a desktop PC and your modern operating system for granted. We turn on our PC or Mac and just accept as read that we will see a desktop interface, shortcuts, a start menu and the means to satisfy our digital requirements – both business and casual. We all too often forget that though the software is incredibly responsive and versatile, it is still very dependant on the hardware of the machine itself. The motherboard, the hard-drive and of course the CPU all play their part in the physical delivery system of your desktop computer. However thanks to the growing popularity of SAN storage, NAS storage and growing speeds of data transmission, an increasingly popular alternative to the physical ties of a static computer have becoming easier to achieve – VMs, or Virtual Machines.
What is the Difference between a Virtual Machine and a Physical Machine in practical terms?
A virtual machine is in effect a program that acts as a virtual computer. It is a software booted PC or Server that behaves identically to a normal machine – but it exists in software and runs on hardware that the primary machine that runs the VM software. The primary machine can be a small or large NAS server and gives you the ability to run a virtual computer (with virtually emulated PC, Motherboard, memory and more) and be used as you would a normal computer – it just happens that the desktop and PC interface you are using lives on a separate server (along with many other VMs) where it can be accessed anywhere internally and externally! True mobile access and centralisation that a physical PC cannot hope to match.
How new is Virtual Machine technology and why is it suddenly so much easier?
Virtual computers have existed in various forms and earliest steps in this direction date back as early as the 1960s with computers being a rather rare commodity. A single machine would be used by multiple users and each user needed the means for their workings to be maintained whilst away from the machine, yet inaccessible to others. This developed more into the multiple users interface that most PCs support to this day, but at the time it meant that users had their own interface, that could be suspended and restarted as needed, and other users could interject and run their own in the interim. Over the years, Virtual machines have existed in both enterprise and public services (often with many users unaware that they are using a virtual PC, understandable assuming the PC they are sat at is that which they are working on) with growing bandwidth and speed on internal networks greatly assisted this. But that does beg the question, if people cannot tell the difference, why use a Virtual Machine? What are the advantages of using one compared with a normal local computer?
What are the Pros and Cons of a VM and why do people use them?
Different people will see different strengths and weaknesses to using a VM or two in their environment. Some people even create one that can be run in a window in their physical PC. What could possibly be the advantage of a virtual machine that only lives on 1 machine, the exact some machine that you are using? I know it seems daft, but there is method to the madness. Many people use a virtual machine for:
- Testing new versions of operating systems and updates before rolling a big update out on their own PC. It makes sense that if your day-to-day PC is job-critical and you cannot afford for one of the million windows updates to chaos unexpected chaos, making a clone of your operating system and desktop, and running it in a VM, means that you can see the effects of an applied update or big change, without risking your hardware
- Experiment with other operating systems – BIG example being Ubuntu and other Linux machines. Trying out a new OS can be a little scary and often frustrating. From simple stuff like finding where exactly the Apps live, all the way through to how files are saved and drivers. It is not uncommon for people to use a windowed VM or even boot-straight-into Virtual Machine in order to get to grips and experiment with a new operating system, Without sacrificing your existing setup.
- Use software requiring an outdated operating system – Windows XP is a classic example with Open GL rendering and early Direct X graphics support. You would be surprised just how many classic games and applications that you used to death back in the early 2000’s will no longer work on Windows 7, 8 and 10.
- Basic editing tools that run from a Zip file, a PC game like Star Wars Jedi Academy or Soldier of Fortune, old animation templates – many file and programs like these cannot be used in modern OS’ as the software and hardware architecture is too different. Never fear, boot up even a low spec VM (you can often get away with a single core and 512MB of memory) and there you go – full support and access, from within your modeRn PC or Mac.
- Much more convenient testing of software that is planned on release via on hundreds of platforms just via 1 PC. If you are an applications developer or modder, knowing that your digital product or upgrade will function correctly across all available platforms can you a very expensive business, creating each hardware environment to check the stability of. Use a VM to cut those costs down. Run several VMs from your desktop PC (Windows, Android, mobile, etc) and test your digital product on each – all it costs is a little time.
- For businesses running multiple servers devices and arrays, Consolidate servers is a popular use for a much larger VM environment. With this method, existing servers can be placed into virtual machines and run on a single computer hardware environment. Each virtual machine server is an isolated software based container, so this security headaches involving servers being bulk accessed or other updating methods with running different servers on the same operating system are avoided. The virtual machines can also be moved between physical servers for fast and easy re-deployment as needed (all over the network – get your 10GBe on).
How easy is it to set up a VM on my NAS or PC Server?
Ever installed a clean copy of Windows? Well it is that, plus maybe 2% more knowledge and time. The logic is near enough identical to a physical installation, you just have to have the digital counterparts in place (which is a great deal easier than it sounds). Different Operating systems that you intend to use as the basis of your VM may mean the tiniest of changes to your setup, but generally you will always need:
- A physical NAS, PC, Server Cabinet, laptop, Mac – Essentially, you just need a system with medium to high hardware that the software work for running will live, once again, remember that you do not need to dedicate the hardware to just a VM and that in many cases you can run the VM from an existing machine – so no need to buy anything more unless you are thinking of a more enterprise setup. You will need at the least a Dual Core 64-Bit architecture CPU and 4GB Of Memory – any additional power you have towards graphics creation (an embedded GPU or Graphics card would certainly be as bonus!
- VirtualBox – Open Source, Freeware for Windows, Mac and Linux. Lovely application to get into the world of VM with you own home computer.
- A VM creation software tool. A NAS Is the easiest and best remote accessed Virtual machine device and both Synology and QNAP both arrive with their respective VM creation tools – Synology Virtual Machine Manager and Virtualisation Station.
- VMware Workstation (PAID), and VMware Player (Free Version) – Much higher end VM creator and manager for Windows and Linux. Arrives in a stripped down, lite, free version too
- Microsoft Hyper V (Windows Server Virtualization) – Enterprise and available free to consumers and paid for server versions for enterprise – mostly a Windows only VM too
- A digital image of your operating system disk – this can be either an .ISO or a snapshot image taken of an existing operating system. YOU can download free copies of most software (in trial) from windows and Android is available directly online too. Linux/Ubuntu are available for immediate deployment on most QNAP NAS Server devices, but otherwise this open source operating system is readily available for free online. i is also advised that if your operating system has certain drivers required, to create an .ISO with these files on it too, so you can mount it to your VM once it is running – it will then see the .ISO as a CD or DVD in your system in the traditional D:/ slot
- A basic understanding of Port forwarding and Router/Switch access to ensure you can access your Virtual Machine from outside your internal network (AKA your home WiFi etc). Without ports being set correctly, you will not be able to access your VM from over the internet (a feature that is remarkably handy and useful when working in multiple locations but want access to a single desktop.
- If you want to have USB access to your VM (albeit your VM accessing a USB port on the NAS/PC VM Server, or you want a USB on your local device to be recognised by the VM you are accessing remotely, you will need to create a USB Network Gate and Serial to Ethernet Connector. This will give your virtual environments (VMWare, ESX, Microsoft Hyper-V, Virtual PC, etc.) access to both USB and Serial ports.
How to setup and install your a VM on a Synology NAS or QNAP NAS server
To set up your VM for the first time with a QNAP NAS or Synology NAS, I have included the steps below. Be sure to have all the parts listed above to ensure you can see the VM creation through to completion.
- When you want to create a VM (virtual machine), please choose “Create VM” button at the top of the QNAP software, and then you can choose the different default template: “micro, mini, small, medium, large and xlarge” to build a personal VM (virtual machine). This will be used to define the amount of hardware you want this VM to access and use to run – obviously the more you select, the more powerful the VM. Just bear in mind that whatever hardware resources you assign to the VM, will not be accessible to the NAS when the VM is running and may restrict your NAS performance
2. Next, you can configure settings the type & version of the operating system, the location of the CD image, the folder the VM will be located and the network interface. Of course, the kind of Operating system you choose will result in a more or less complex installation and I recommend you check out with the software vendor on how to install the software after the VM is created. Remember a VM is not the copy of Windows/Linux you are using – it is the system that the operating system lives on
3. To finish the configuration, please click “Create”, and you will have created your VM (virtual machine). Well done, you have done the hard bit. Your virtual PC or Server environment is now up and running and ready to have your operating system of choice installed.
- Next, click “Start” to switch on this VM (virtual machine) and get ready to install Windows, Ubuntu, Android or more
4. Please click “Console” to install the operating system on this VM (virtual machine) as you would with the physical installation of a operating system, All OS are slightly different and I would therefore recommend that you check with their own tutorials on installing from this point onwards
For Creating a VM on your Synology NAS Server with Synology Virtual Machine Manager (beta) please watch the video below to show you how to setup your Windows 7 Virtual PC:
What are the advantages of a virtual machine?
- Snapshots and easy recovery mean that you will always have a safety net from accidental file deletion and recovering from a bad software decision. Think A-B testing, but constantly and in a natural manner
- VM’s can be run in windowed mode, whilst using your primary operating system and can communicate between the two, but at your discretion – you can sandbox that vm and delete it when you are done – SCAMMER EMAIL AND LINKS
- Fast booting as it removes the booting depending on a multiple hardware devices
- Often there is lower hardware requirements to run
- You can buy ready made virtual machines, fully populated with apps and software and run them INSTANTLY in 2 clicks, in OS install time loss
- Portability – centralise all your work in one desktop, but work from an infinite number of machines, worldwide – just need wifi
- Better management of multiple employee of family members devices and in some cases, full recordings of use
- Incredibly fast deployment, meaning you can setup one or more straight away iof your project or commitment requires – all backed up constantly
What are the disadvantages of a Virtual Machine?
- Without a dedicated Graphics card, GPU or GPU enabled CPU such as the AMD series, Your VM will be desktop browsing and casual word processing at most.
- When multiple virtual machines are simultaneously running on a host computer, each virtual machine may introduce an unstable performance, which depends on the workload on the system by other running virtual machines
- Virtual machine is not that efficient as a real one when accessing the hardware.
- Network strength is the ALL POWERFUL enabler or bottle neck!
Can I set up a Mac VM on my Synology NAS or QNAP NAS Server?
Yes and No. But mostly NO. The issue is one of drivers. Unlike the Microsoft WIndows Platform, Android OS and Ubuntu, OS X is not freely available to buy and download online. Additionally, Mac systems use very hardware specific drivers (with much fewer physical mac model devices compared with the other OS’ – close to 2000 Windows machines to every 1 Mac) it means that a ready-to-deploy ISO o fthe operating system is not easily accessible. There are workarounds with system images and virtual disks full of drivers from both demanding and less resource intensive versions (Mountain Lion is the 64bit version and Snow leopard is 32bit), but you still need audio, graphic, network and ISCSI drivers.
- A NAS with a 64-bit architecture, featuring a dual core CPU and over 4GB of available RAM. The 64bit Mountain Lion requires this, whereas 32bit NAS servers can attempt to install Snow Leopard. Additionally, your CPU will also need to support VT-x as standard
- The latest version of Synology Virtual Machine Manager or QNAP Virtualisation Station, as well as assigning at least two virtual discs to mount separate iSO’s
- A Mac image – this is possibly the hardest to come by. You can either use one you have appropriated from an existing system, or head over to the app store and buy one. However they aren’t the cheapest and for such an experimental endeavour, I would try to go the ‘free’ route first
- Find the HackBoot 1 and HackBoot 2 ISO image files. A quick google search should find them
- MultiBeast 4. This will help you get audio, visual processes and other mundane yet awkward things working appropriately after installation of the initial operating system is complete.