If you’re in the IT sector, I’m absolutely positive that you must have heard or read all about computer virtualization. This has been a hot topic for many years and the reason I’m writing an article about it here is because it’s still a hot topic today! Like how I would usually describe things, you can make virtualization as simple as you want it to be or you can make it as complicated as well. This means that computer virtualization is flexible in a sense. With Microsoft offering the Hyper-V platform in the upcoming Windows 8 Pro client operating system, virtualization technology can blossom to a whole new level. Never before has Microsoft offered a built-in platform for virtualization in their client operating systems. With their server lineup, it’s a whole different story but pretty soon, users of all type will be able to utilize one of today’s hottest technology right on their own computer. A lot of people keep saying that virtualization is the future but that remains to be seen. In today’s economy though, virtualization can definitely help businesses save a load of money if done right. So what does this have to do with you as a consumer? You’re not running a multi-million dollar company so what gives? I generally don’t like to suggest to regular users what they should or shouldn’t learn when it comes to computers but I’m breaking that norm here. You definitely should learn about computer virtualization. Chances could be that the operating system you use tomorrow in the office is located not on the computer under your desk but on a server located 10 floors above you!
I’ve written some articles on virtualization in the past so feel free to start there if you don’t have any idea on just what exactly this technology is about:
To reiterate, computer virtualization comprises of virtual machines. A virtual machine works and looks exactly like a physical computer but of course, it’s virtualized. For example, you can have one physical computer loaded with resources such as a very powerful CPU, lots of hard disk space and a ton of RAM but what good is that computer if you never use it to its maximum potential? It doesn’t take a Harvard graduate to see that this situation is very bad for businesses and even for the casual home users. However, by utilizing computer virtualization, you can essentially “cram” additional operating systems onto that same physical machine to take on the burden of extra work. Each virtual machine can be considered a standalone “physical machine”. Therefore, if you create 10 virtual machines, then what you essentially have is an additional 10 “physical machine” all hosted within that one powerful computer. By spreading the workload this way, that one powerful machine can actually be used to its potential and businesses save money by not requiring to purchase additional physical servers or computers.Virtualization does not just comprise of computers and operating systems. However, at the moment it is the most popular as many users are already familiar with virtual machines. Other virtualization technologies is starting to come to light and this includes network and storage virtualization. One such storage virtualization technology also offered in Windows 8 is Storage Spaces which I also wrote about here. The focus of this article is on computer virtulization so that’s what I’ll be sticking to. Always keep in mind that with virtualization, it usually allows you to do more with less. Although virtualization is all about saving money, there are many other advantages such as dealing with security concerns, multi-tenancy in hosting environments, ease of administration, etc.
The Hyper-V Platform
Back in the early years when computer virtualization first got started, a company called VMware was considered the leader in this market. Of course, there were other players in the game but many users associated virtualization with VMware. In those days, Microsoft had a business model of letting other companies invest their own time and resources in developing certain technologies which will eventually be run under the Microsoft operating systems should a customer choose that product. Microsoft was not even considered a player in the virtualization field. Fast forward a bit though and we see a slight shift in change. Microsoft released some software to aid in the virtualization arena such as Virtual PC 2004 and Virtual Server 2005. Fast forward again and Microsoft Virtual PC 2007 and Windows XP Mode was available. At this point in time, while Microsoft got their feet wet in virtualization technology, they still weren’t considered a powerhouse. Fast forward one more time and now you’ve got the Hyper-V platform. This platform is Microsoft’s technology to finally make the industry realize that the company is not playing around and that it is serious in furthering the growth of the virtualization field.
With past virtualization products, both from Microsoft and VMware, they were considered a Type 2 hypervisor. This means that the guest operating system or the “virtual machine” is created and hosted by the host operating system. With a Type 1 hypervisor, the virtual machine can be run directly on the physical hardware of the host computer. Why does all this matter? Well, in the past, creating a virtual machine had many, many limitations due to the machine not running directly on top of the hardware. This ultimately made the virtual machine very slow. In a Type 2 hypervisor environment, think of the virtual machine not as its own operating system being hosted on its own physical box (even though it can be considered as such) but as “software” being hosted by the host operating system on the host machine. For example, lets say that I have one physical machine with Windows 7 installed as the host operating system. Now let’s say that I want to create a virtual machine. However I can’t do that natively in Windows 7 as Microsoft doesn’t include any built-in virtualization platform. Therefore we download and install Virtual PC 2007. Other free and popular virtualization utilities include VMware Player and Oracle’s Virtualbox. When installed, Windows 7 (our host) is now hosting the hypervisor. Finally, we create our virtual machines on top of that hypervisor. Those virtual machines are three levels above the actual hardware on our host computer and so many commands and inputs have to be translated many more times since it now has to move from the virtual machine to the hypervisor to the host operating system and finally on to the hardware. This limitation prevented users from doing many thing within those virtual machines because hardware had to be emulated. Even something as simple as watching a high definition movie inside the virtual machine was impossible. While the video would play, it would play out to something like a PowerPoint slideshow. Users can definitely forget about gaming on a virtual machines. Workers who needed to work with heavy graphical processing applications and software also found it difficult when working inside those virtual machines.
With the introduction of Microsoft’s Hyper-V platform in 2008, it brought with it a Type 1 hypervisor. You can think of the hypervisor as a thin code that sits above the hardware. With this hypervisor, it is now possible for virtual machines to be run directly above the host hardware. This gives administrators a lot more flexibility because there are much less limitations imposed on those virtual machines! With a Type 1 hypervisor, you still have a host operating system or “parent partition”. However, virtual machines you create do not run on top of this operating system like a Type 2 hypervisor. This is a very important distinction. This parent partition is used only to manage your virtualization environment (virtual machine creation and administration).Just to be clear, although the virtual machines running on top of the hypervisor have much better access to the hardware, it is still not 100% running “directly” on the hardware like the parent partition. They hypervisor layer still manages the calls to the hardware from the virtual machines. However, this is a lot better than what we had earlier with a type 2 hypervisor. For more information on this, take a quick look at this Hyper-V Architecture Demo.
Here is a simple image that shall give you a much better understanding of how the two hypervisors work from a high level:You can get more information on Hyper-V in Windows 8 by going over this blog post from Microsoft.
So What’s the Point Again?
One point I failed to mention until now is that Microsoft’s Hyper-V platform was only available in their server operating system lineup. The keyword here is “was”. Starting with the Windows 8 Pro version, this virtualization platform will be completely built-in on the client operating system and ready to be utilized by just about anyone. In order to see the whole point of creating virtual machines, you need to realize the actual benefits that computer virtualization brings to the table. For that you should definitely read my past articles or do some research on your own.Microsoft actually includes a free download of just the Hyper-V bits and parts. This product is called Microsoft’s Hyper-V Server 2008 and Microsoft’s Hyper-V Server 2012. You would install this as you would a normal operating system but it only includes the hypervisor components. Therefore, there is no Internet Explorer, Start Menu/Screen, etc. Basically, while it is a valid operating system, you can only use it to host virtual machines. In fact, there isn’t even a graphical interface! Administrators usually manage this server from a different computer. The advantage of this product is that businesses could buy a really powerful server, load the Hyper-V Server component on it and use it to host dozens and dozens of virtual machines while gaining all the benefits of the Hyper-V platform and all for free. The Hyper-V Server takes up very little resources as many of the graphical components are stripped away. This allows you to dedicate almost all of your resources to the virtual machines themselves.
Earlier, I said that computer virtualization can be as as simple or as complicated depending on your situation. For many home users, creating a simple virtual machine is all they will ever need to do. From there, they can use that machine for software testing purposes, lab setup to even using it as their machine for online shopping and banking. One of the most useful features of a virtual machine is that users can easily create a snapshot of their entire system. Once something goes wrong, they can revert back to that earlier snapshot with a click of their mouse and resume work on the virtual machine as if nothing has happened. Another compelling reason is for backwards compatibility. Users can install Windows 7 or a previous operating system in a virtual machine and have the best of both worlds. For enterprises though they need something more. For this, they have Virtual Desktop Infrastructure (VDI) so that they can create a pool of virtual machines and “serve” them to users. The advantage of doing so allows administrators to control the virtual machine images in the pool from a single point (the back-end servers). No longer do they have to worry about configuring and patching hundreds of individual physical machines in their environment. Once a user is done working on the virtual machine, the machine is returned to the pool and any changes the user have made will be erased.
VDI is especially interesting. Businesses are starting to realize the benefits of centrally dishing out virtual machines for their clients and customers. Users in their offices or cubicle gets a minimally configured computer. This type of device can also be called a thin client. By itself, it just provides an empty “shell” for the users. The user would connect over the network to stream a virtual machine from a configured pool located on a server control by IT personnel. All of the processing is done on the server and so that is why it doesn’t matter if the thin client is under powered. Sometimes I ask myself could this be possible in the future for home users as well? Many people will balk at this due to privacy issues but some might like it. No longer do they have to manage their PC. All of their data will be backed up automatically. And so on.
Unlike installing a Type 2 hypervisor such as Microsoft Virtual PC 2007 or VMware Player, a Type 1 hypervisor such as Hyper-V requires a little more from your system. However, if you have a recent computer system, I’m sure you’ll be able to pass the test. Here are the pre-requisites on getting the Hyper-V platform to install:
- Windows 8 Pro x64bit
- 4GB of RAM or more (more info in the error box below)
- Second Level Address Translation (SLAT) compatible CPU (more on this below)
- Hardware-assisted virtualization compatible CPU
- Hardware-enforced Data Execution Prevention (DEP)
That seems like a lot of stuff you would need to have but in my opinion, if you have a recent CPU, then consider checking off number 3, 4 and 5. In some cases, you’ll need to manually enable this features in the BIOS itself. Here is a picture of my BIOS. My CPU is not SLAT capable so you won’t see that option here. Many times, a feature labeled by Microsoft can be called something else in your BIOS. Hardware assisted virtualization is just called Virtualization Technology and Hardware enforced DEP is called No-Execute Memory Protect in my BIOS here.
Another way to quickly check and see if your CPU meets the requirements is opening System Information within Windows 8. System Information can tell you a whole lot about your system both hardware and software wise. First head over to the Start Screen by pressing the Windows key on your keyboard. Next, simply type in msinfo32 and press Enter. The System Information window should appear and you will be taken to the System Summary section. Scroll all the way down and you should find the information you need as seen below:I know this is a bit ironic but the Hyper-V I am showing in this article is from the Windows Server 2012 build and not Windows 8 Pro. The reason being is that my CPU is not SLAT compatible. However, for some strange reason, a SLAT compatible CPU is not required when running the Hyper-V platform on a Windows Server 2012 computer/server. I honestly thought the reverse would be true where there would be stricter requirements on the server side than on the client side. Anyways, the Hyper-V platform should be the same for both operating systems. Also I only have equipped 2GB of RAM and not the required 4GB. Not sure if this is possible in Windows 8 Pro.
Pages: 1 2