What Is Hyper-V? [Definition & Uses For It]
Whether you’re just beginning to look into virtualization platform options for your company, or you’re a new Hyper-V user trying to get up to speed, it can be a challenge to find all the information you need in one place. That’s why I created this guide—to give you an all-in-one resource you can bookmark and refer back to as often as you need to, so you can get up and running on Hyper-V more smoothly.Table Of Contents:
- Chapter 1: What Is Hyper-V?
- Chapter 2: Hyper-V Basics
- Chapter 3: Hyper-V Management
To start off here’s a basic Hyper–V definition: Hyper-V is a Microsoft technology that allows users to create virtual computing environments, and run and manage multiple operating systems on a single physical server. But to completely understand what Hyper-V is, you need to first understand virtualization.
What is virtualization?
Historically, IT departments used multiple physical servers, each with one primary function—for instance, a mail server dedicated solely to handling outgoing and incoming emails. Buying a physical server meant you also had to choose the appropriate CPU and RAM to go along with it. Often, organizations purchased too much or too little of these resources, which meant the server was oversubscribed (underused) much of the time or it was undersubscribed, and therefore less reliable than it should be. It was also costly for such organizations, especially for growing companies, to continually purchase new servers, as they require a lot of energy to run and maintain. Scaling up to meet additional business requirements is an expensive proposition; housing hundreds of servers expanded a company’s footprint to such a degree that, for many organizations, it presented a challenge that was hard to surmount.
That was the case up until 18 to 20 years ago when the first virtualization technologies were introduced. Virtualization technology allowed a single physical server to be “sliced and diced” into individual virtual machines (VMs), which meant that only one server was available for multiple functions. So if you have a 16 CPU physical server with 128 gigs of RAM, you could parse out those computing resources and assign them to various workloads.
Virtualization technology made it possible to scale without the huge footprint required by multiple physical servers. Workloads could be balanced more intelligently because virtualization made it easy to reallocate resources between virtual machines.
It’s worth mentioning that the term virtualization is often confused with cloud computing, but they’re actually two different concepts. Both have to do with shared computing resources, which may be where some of the confusion occurs. That said, virtualization refers to the manipulation of a server so it can be shared by multiple operating systems. Cloud computing, on the other hand, is the sharing of computing resources delivered as a service via the Internet. Essentially, virtualization makes cloud computing possible. Enterprises often use both tactics to gain benefits in terms of cost, resource usage, and scaling. Take a look at this article for more information about the differences between virtualization and cloud computing, and how to determine which one is right for your business.
Today, virtualization is a fairly standard mode of operation; in fact, more than 75% of organizations currently utilize server virtualization. And that brings us back to the technology that enables virtualization: the hypervisor, and, more specifically, Hyper-V.
What is Hyper-V used for?
Virtualization technologies, or platforms, are more commonly referred to as hypervisors. There are several different hypervisors on the market—Hyper-V is Microsoft’s version; some others that are well-known are VMWare’s ESXi and VSphere, XenServer (Citrix), KVM Open Source Hypervisor and RHEV (Red Hat Enterprise Virtualization). The lion’s share of the virtualization market is currently divided between VSphere and Hyper-V.
So what is Hyper-V used for? Like all hypervisors, Hyper-V gives you a way to create and manage virtual machines to help you:
- Develop and test applications, operating systems and upgrades. The ease of creating VMs in Hyper-V, and the fact that the VMs can remain separate from the rest of your system, makes them the perfect environment for testing. You can also create a virtual lab to experiment with different operating systems and see how your application performs on each, without using more than one computer. When you’re done experimenting, you can simply delete the VM.
- Easily scale your IT infrastructure to accommodate larger workloads. Virtual machines are easier to manage than physical hardware, and they don’t come with the hefty acquisition cost. You can also maximize your server use by allocating its resources more intelligently than you can with physical hardware alone.
- Save or migrate data from a legacy system. Many companies continue to maintain servers that support outdated hardware or software solutions because they want to preserve data. Migrating your business applications, and their contents, to a virtual machine, frees up resources.
- Improve business continuity. The virtual machines you create can reduce server downtime because running workloads can be easily backed up and moved to another server without interruption. They can also be configured to automatically restart VMs affected by server failures.
Once you’ve created your virtual machines, you’ll also need to manage them. Hyper-V’s suite of management tools makes it possible to:
- Create and delete virtual machines.
- Monitor uptime, bandwidth utilization, CPU, and RAM consumption.
- Perform backups.
- Allocate resources.
Having the right management tool is key to your success with virtualization. For more on Hyper-V’s management capabilities, see Chapter 3.
Benefits of Hyper-V
One of the primary reasons organizations turn to Hyper-V is because it’s cost-effective—in fact, the basic Hyper-V tools are free with an enterprise agreement (EA, a volume licensing package offered by Microsoft for organizations with 500 or more computers). You will have to pay for more advanced Hyper-V functions and licensing, but even so, Hyper-V still has an edge over its competitors when it comes to price.
Hyper-V is even more attractive when you consider its similarities with its biggest competitor, VMWare. Because Hyper-V is a solid, cost-effective option, many businesses have been increasingly adopting it, which, in turn, has contributed to an increase in Hyper-V’s overall market share in recent years.
Other benefits of Hyper-V:
- The capability to create a virtual switch comes at no extra cost. A virtual switch allows all your VMs to communicate with each other, making it an integral part of virtual networking. Virtual switches are “intelligent”, meaning they inspect data packets before routing communication. The capability to configure traffic in this way improves security within your virtual environment.
- Hyper-V supports multiple operating systems. Since Microsoft supports multiple operating Hyper-V systems, including Linux, you are not limited exclusively to its native OS. But, be sure to reference best practices and support documentation for proper integration of other systems to avoid any issues.
- It simplifies live migrations. This Hyper-V feature allows you to move running VMs from one Hyper-V host to another without downtime. Live migrations are simple and promote the continuous operation of your network.
- It integrates seamlessly with other Microsoft products. If your department has been using Microsoft products already, adopting Microsoft technology for your hypervisor makes sense, especially since it allows hosting an unlimited number of Windows Server 2016 virtual machines.
Typically you would want to choose just one hypervisor for simplicity’s sake—why manage multiple systems? But there are, sometimes, valid reasons why you would have multiple hypervisors in a virtual environment. This decision could be dependent on your workload; for example, if you use Microsoft Exchange Server for mail, Microsoft highly recommends running it—and all its other products—on Hyper-V.
It’s pretty clear why most organizations are taking advantage of virtualization technology, and why they’re choosing Hyper-V: It’s cost-effective, supports multiple operating systems, and has all the basic functionality you need. Now that we’ve covered the fundamentals surrounding “What is Hyper-V?”, let’s go a bit deeper. Chapter 2 covers some specific Hyper-V terminology, an explanation of the available versions of Hyper-V, and how to get started creating your VMs.
In this chapter, we’ll take a closer look at Hyper-V terminology, operational requirements and available versions. Let’s get started by taking a closer look at the terminology associated with Hyper-V, the minimum requirements needed to run it, and the versions that are available to choose from.
Before taking a deeper dive into Hyper-V, let’s become familiar with the basic virtualization terms, including Microsoft-specific definitions applicable to virtual machines:
- Host machine—the physical computer that provides the resources, including processing power, memory and disc usage for your virtual machines.
- Hyper-V virtual hard disk (VHDX)—Microsoft’s virtual hard disk format. It is the next generation VHD (see virtual hard disk below). VHDX files have a 64 TB capacity. The advantages of VHDX aren’t limited to improved capacity; however, VHDX files were designed to work with today’s modern hardware and have a 4 KB logical sector size that improves performance compared with VHD files.
- Guest virtual machine—a virtual operating system and application software that runs on a host machine, using the resources of a host machine.
- Virtual network—technology that connects the VMs and host machines together, and enables control over these computers and servers via the internet.
- Virtual hard disk (VHD)—a file format which represents a virtual hard disk drive. Rather than VMs having access to physical hard disks, Hyper-V creates large files called containers, which are presented to virtual machines as regular disks.
- Virtual switch—a software application that allows VMs to communicate with one another. Virtual switches are “intelligent”, meaning they inspect data packets before routing communication.
- Virtual machine monitor—a tool that monitors your virtual resources and executes specified tasks on the virtual machines for which it is responsible. Often this term is used interchangeably with the term hypervisor.
- Checkpoint—a checkpoint preserves the state of a virtual hard disk, and all of its contents including application files, at a specific point in time. The VM can be reverted back to that checkpoint state if, for example, something goes wrong with an upgrade or newly installed software. However, a checkpoint is not considered a backup because there is no duplication of data (which is the definition of a backup). You can read more about Hyper-V checkpoints and snapshots here.
- VM template—a master copy of a virtual machine with a generic stance that can be used to create a new VM with the same characteristics. Cloning VMs is a common task, but having a library of templates makes the process of creating new VMs faster and easier.
- Live migration—as mentioned in Chapter 1, live migration is a Hyper-V feature that allows you to move running VMs from one Hyper-V host to another without interrupting service. It’s useful for applying patches (which Microsoft releases once a month); it’s also handy in cases where a VM’s resources are in high demand (like when an application is being heavily used), and you want to ensure continuous availability by moving the VM to a host with more available resources.
Hyper-V Hardware Requirements
Hyper-V has some specific hardware requirements. Most modern hardware (built in the last 10 years) will meet these requirements, but it’s best to check that your system has what it needs to run Hyper-V:
- A 64-bit processor with second-level address translation (SLAT). SLAT is a technology Hyper-V uses whenever it is asked to retrieve data or instructions; it essentially translates a virtual address to a corresponding physical address, which saves memory and reduces CPU time. Here’s some information on how to check whether your Intel or AMD processor supports SLAT.
- VM Monitor Mode Extensions. The same article above will also help you determine if your PC supports this.
- At least 4 GB of RAM; more is better.
- Virtualization support turned on in the BIOS (Basic Input/Output System) or UEFI (Unified Extensible Firmware Interface). Here’s another article that can help you figure out if your CPU supports virtualization.
Your system will need to meet some additional requirements if you plan to use some of the more advanced features of Hyper-V; take a look here for more information.
Although these are the minimum hardware requirements for running Hyper-V, you may discover that they need to be fine-tuned to meet your specific application needs. Load-testing before production will simulate the end-user environment and give you the necessary metrics to determine whether you need more CPU or additional RAM, for the machine to sufficiently handle the load. We always recommend adding a 20% buffer to the existing application in the event your application requires additional resources.
To use Hyper-V on a regular desktop or laptop, you’ll need a Professional or Enterprise edition of Windows 8.1 or Windows 10.
There are three different Hyper-V versions available for Windows Server 2016. You can download a free version, which doesn’t include Windows Server guest licenses. There are also two editions of a full Windows Server 2016 Hyper-V server that includes installation of the operating system and the Hyper-V role within them.
Windows Server 2016 has two options you can choose from: Standard and Datacenter. Standard allows you to have up to two Windows server VMs running simultaneously, and Datacenter allows you an unlimited number of VMs. The Datacenter edition also supports a number of advanced features that are not supported in Standard, like shielded VMs. You can find a complete comparison of the Standard and Datacenter editions of Windows Server 2016 here.
Getting Started With Hyper-V
Creating a New VM
One of the most basic tasks you’ll do in Hyper-V is creating virtual machines. Hyper-V’s wizard-based approach makes the step-by-step process for creating a new VM quite simple.
To do this (and lots of other tasks, such as creating checkpoints and virtual hard disks), you’ll use Hyper-V Manager. It’s a free app included with Windows Server that has some of the tools you’ll need to administer your virtual environment. That said, the capabilities of Hyper-V Manager are limited; it does the most basic VM “CRUD” functions—it can help you create, read (or retrieve), update and delete virtual machines. You’ll need other tools for more advanced management functionality.
To start the process, click “Create VM” within Hyper-V manager. The wizard will then prompt you to:
- Decide whether you want to use an existing VM template or create a new VM.
- Name the new VM.
- Choose a storage location.
- Choose the type of storage—either SSD (a flash drive, which offers quick retrieval) or HDD (a traditional hard disk drive, with a slower access time). This storage choice is application-specific because some applications, like those that store archival data, don’t benefit from fast storage.
- Configure the size requirements. You’ll need to adjust the CPU and RAM for your new virtual machine. Again, these resource allocations should be based on the requirements for the OS and any additional applications you plan to run, with approximately 20% buffer for elasticity. You should also consider the size of a typical workload, and whether you’ll be running an antivirus program, which will use additional resources depending on the antivirus program of your choice.
That’s it—you’re done!
When you’re building your new VM, it’s important to understand your workload and the density you need your VM to support so you don’t overbuy. In the past, it was common to simply buy a lot of storage for Hyper-V, and estimate future computing needs. The problem with that approach was that organizations began to build too many VMs on the same storage technology because they had plenty of purchased room. But having too many VMs accessing the same storage technology slows down the entire system, so this approach isn’t advisable.
Today, the trend is to linearly scale out. The only way to do that with Hyper-V is using technologies like Microsoft’s Storage Spaces Direct (S2D), hyper-converged.
Virtual machines are easy enough to create; the real issue lies in managing them. A large number of VMs (and their accompanying host servers) can be overwhelming to manage. To keep them all running smoothly in conjunction with one another, you need a management tool that will give you clear visibility into all aspects of your server environment. So when it comes to both management tools and policies, it’s wise to have a solid plan in place before you go too far down the virtualization path.
The elements that need to be managed in relation to virtual machine environments are as follows:
- Storage Management involves finding, managing and allocating space between your applications in an effort to maximize resource availability.
- Patching requires regular updates to your virtual environment with patches in order to keep your VMs secure from attackers, viruses, and bugs.
- VM Backups are crucial yet challenging for system reliability, as they have to deal with managing multiple apps packed into a single physical host. Whether you’re backing up to the Microsoft Azure cloud (or some other cloud platform), or doing an on-premise backup, you need a tool that simplifies the task as much as possible.
- Availability and performance. Monitoring for uptime is important, but that’s not the only aspect of managing your virtual machines. Pay attention to the important statistics around bandwidth, CPU and RAM consumption, as well as performance application.
Hyper-V Management Tools
While Microsoft’s Hyper-V is a very popular and capable hypervisor, its primary management suite isn’t as intuitive as it may appear at a first glance. Included are five management tools used for performing various Hyper-V management tasks.
- Hyper-V Manager is a free Windows Server tool. It performs the most basic VM CRUD functions—create, read (or retrieve), update and delete virtual machines. But it comes with significant limitations. You can’t move VMs between hosts using Hyper-V Manager, and you can only view one host at a time. These limitations allow you to carry out only the most basic functions, with a few metrics available for measuring performance success. To get more advanced management functionality, you’ll need to download and install additional tools.
- Failover Cluster Manager is also included free with Windows Server and is used for building and managing Hyper-V failover clusters. Failover clustering is when you configure a group of servers to work together to maintain high availability of mission-critical applications. Maintaining high availability means the servers within the cluster are constantly being monitored; if one of the servers fails, another one takes over without interruption. But to manage machines that are not part of a cluster, you’ll have to use Hyper-V Manager.
- SCVMM (System Center Virtual Machine Manager) is not included with Windows Server and must be purchased separately. It can be used to manage Hyper-V hosts and Hyper-V failover clusters in larger virtual environments than Hyper-V Manager, allowing you to perform multiple management tasks in a single tool. The SCVMM console has a more user-friendly interface with built-in custom templates and an analytics dashboard. It also includes a “library” feature—a catalog of resources you can use to easily create and configure new virtual machines. SCVMM is a step up from free Hyper-V Manager and the Failover Cluster Manager discussed above, but it still lacks some advanced functionality included in the basic Hyper-V Manager tool.
- SCOM (System Center Operations Manager), when used along with SCVMM, helps you to monitor your virtual environment. There are two ways you can monitor with SCOM: 1) Put operations manager agents on your virtual machines, which will allow you to collect and report on a variety of data for a constant “heartbeat”. The statistics you get can be used to track the performance and health of your applications. 2) You can employ agentless monitoring, which entails gathering the same data by using a proxy agent installed on another computer and leveraging standard protocols like SNMP (Simple Network Management Protocol). Whatever solution you choose, you need a tool that can help you monitor your VMs in real-time so you can address bottlenecks when they arise. Remember—monitoring isn’t just about uptime and downtime; it’s also about latency, transactional health, and even component health within the application.
- PowerShell is a tool that gives users access to various services in an operating system. Windows PowerShell is often used to automate both routine and complex tasks that need to be applied across a large number of VMs—for example, shutting down all the VMs on a certain host. You can accomplish most of the tasks with Hyper-V Manager using PowerShell. The appeal of PowerShell is in having greater flexibility for managing your Hyper-V hosts as well as utilizing fewer computing resources to perform a task.
Hyper-V Performance Tuning
Today’s IT admins look to get the maximum value out of their server hardware without jeopardizing VM performance. And of course, everyone’s always looking to increase Hyper-V speed.
To help you get the most from your server hardware in a Hyper-V environment, evaluate how well your VM resources match the needs of your specific application. The biggest part of performance tuning is application-specific, so it’s important to gather and analyze the appropriate metrics and adjust them as needed. SCOM can be used to monitor virtualization hosts and generate alerts to prevent excessive CPU, storage, or memory utilization on a Hyper-V host. To do this, you’ll need to install Performance and Resource Optimization (PRO)-enabled management packs on the Operations Manager server as well as an Operations Manager agent for each virtualization host and VM. The Operations Manager then collects data about the virtual environment for about a week or two and later generates PRO tips to help you optimize performance. You may get a recommendation to migrate a virtual machine off of a host, or update certain configurations.
Take Control Of Your Virtual Environment
- Perform frequently-used lifecycle operations faster and easier. You can clone virtual machines up to 20 minutes faster and configure settings across multiple hosts five times faster than with native tools.
- Eliminate bottlenecks and application slowdown while increasing cluster performance by as much as 40% with dynamic optimization for clusters.
- Create full and incremental backups, restore VMs and manage backup retention policies from a single, centralized console…. and much more.
Until next time, Rob….