Book Image

Windows Server 2012 Hyper-V: Deploying Hyper-V Enterprise Server Virtualization Platform

By : ZAHIR HUSSAIN SHAH
Book Image

Windows Server 2012 Hyper-V: Deploying Hyper-V Enterprise Server Virtualization Platform

By: ZAHIR HUSSAIN SHAH

Overview of this book

Table of Contents (20 chapters)
Windows Server 2012 Hyper-V: Deploying Hyper-V Enterprise Server Virtualization Platform
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Introduction
SCVMM 2012 New Features and Enhancements
SCVMM Management Console Configuration Settings
Index

Introduction

We welcome you on board to our journey of discovering Microsoft Windows Server 2012 Hyper-V. As we speak, the current version of Hyper-V is Windows Server 2012. In this book we will cover all aspects of Hyper-V as an enterprise server virtualization platform. Since Hyper-V is a server role inside the Windows Server operating system, while we make our journey of discovering Hyper-V basic fundamentals and new features, we will also be covering numerous new features added into Windows Server 2012. Throughout this book our goal will be not only to cover the theory of Hyper-V or Windows Server, but also to provide you with knowledge about real-world scenarios, best practices, tips, and last but not least recommendations from field experience. In addition to all this, we will see the screenshots of step-by-step setting of Hyper-V basic and advanced configuration. This will provide you enough guidance to start your first server virtualization and consolidation project with Hyper-V. Or if you are already running an existing virtualization platform with Hyper-V, after completing this book you will become capable of upgrading your existing Hyper-V server to new Windows Server 2012 for utilizing various brand-new out-of-the-box server-virtualization features, which currently none of the other hypervisor products deliver.

Okay, we now know what we are going to see in this book, and before we go deeper in Hyper-V and discuss all its bits and pieces, let's first get introduced to few of the basic concepts and theories on which we build server virtualization. I would like to first introduce you to a few of the important concepts such as virtualization, server consolidation, and cloud computing. All these concepts are essential for us to build our underlying understanding for moving forward with each new chapter that we cover in this book.

What is virtualization?

Virtualization is a broad term in general but when we use it in the IT world, we use it to say we will virtualize our applications, networks, servers, storage or even client workstation. Virtualization is a technology that allows an IT administrator to utilize the same hardware to run multiple software or operating systems by allocating or dedicating the underlying physical hardware resources of a computer or server. On the other side we see that the same hardware can run a single operating system and can be used for a single host or identity, like a web server that is hosting our internal finance department web application. But if we use virtualization technology here, we could install server virtualization software (a hypervisor) on the same piece of hardware, and we could then run multiple independent virtual instances of many web servers or any type of operating system or application instance. These completely different instances that we create on the physical server are referred to as guest or virtual machines; they exist virtually and so they are known as virtual machines.

Although virtual machines use the same physical resources among all their other siblings on the same piece of hardware, virtualization software, which is also referred to as a hypervisor, ensures that the trusted computing base (TCB) concept is always enforced and doesn't allow the virtual machine to see what data and communication it's doing with the physical resources. This means that if there are two virtual machines running on the same physical hardware, each doesn't know what the other virtual machine running on it is up to or which data the other virtual machine is providing or taking from the processor and RAM. When the administrator creates a virtual machine using a hypervisor, it can dedicate a chunk of physical RAM and processor cycles to the virtual machine; this allocation can be either static or dynamic. When we configure static RAM for a virtual machine, let's say 1,024 MB, the virtual machine is restricted to always show its virtual RAM as 1 GB. However, on the other side, if we want we can configure dynamic memory for the virtual machine, so we could set the startup RAM of 1,024 MB and allow the virtual machine to go up to 10,240 MB. In the same way, we can configure the virtual machine to have either one logical processor or four logical processors.

Okay, we discussed virtual RAM and processors for a virtual machine; what about the hard disk or storage of a virtual machine? Here you go; just like virtual RAM and processor, we create virtual hard disk (VHD) in the Hyper-V case. VHD is a file-based storage for a virtual machine. It gets added or associated to a virtual machine, and then the virtual machine sees this VHD file associated to a virtual machine instance as its hard disk. The more VHDs you create and associate to a virtual machine, the more virtual hard disk space will be assigned to that virtual machine. We could also dedicate a physical disk to a virtual machine, so if we don't create a file-based virtual hard disk for a virtual machine, then we can associate a physical hard disk or SAN LUN associated on the virtualization server to the virtual machine. Virtualization can be set up in the form of a shared service where we configure the identical type of virtualization servers (a cluster), and this shared form of virtualization server allows us to migrate virtual machines from one server to another, in case one virtualization server goes down or the administrator wants to perform maintenance on the physical server. How to create a virtual machine and manage the hypervisor for server virtualization is discussed in detail in the upcoming chapters, so stay tuned.

Why virtualization?

An organization that doesn't follow the latest trend of virtualizing its server workloads will often see its existing hardware investment as under utilized from the resource utilization prospective. This means a majority of physical hardware boxes don't reach to their capacity even twice a month. These under-utilized hardware boxes utilize rack space, cooling, power, and most importantly annual server maintenance cost if your server is out of the supplier's original warranty of 3 years.

The notion of virtualization allows us to consolidate multiple workloads on a single server, which ensures that existing server hardware investment gets fully utilized. This concept also supports the green IT slogan where the IT department tries to save power, cooling, as well as space to maintain the same level of service delivery but with less utilization of these natural resources. Often we see it is difficult to scale in and scale out an application server running on a physical server, while on the other side with the help provided by virtualization, we can scale in and scale out an application very easily. This helps an administrator to dynamically increase the resources for a virtual machine whenever it is needed; with the help of a server virtualization management platform, such as SCVMM we can even automate this. So whenever the hypervisor comes to know that there is more load, it can dynamically add more instances of an application, and when there is no load, the same extra provisioned instances get removed from the environment on the fly.

Let's try to simplify this question of why virtualization is needed by laying out few of the reasons, which immensely strengthen the need for virtualization:

  • Among all other benefits of virtualization the most exciting benefits an organization gets from it, are server consolidation and cost reduction. This means an organization can run multiple different IT application systems on a single hardware server, where without virtualization it has to have dedicated hardware equipment for these multiple application instances, which means a larger required amount of rack space, cooling, power, and associated maintenance cost has to be paid for. On the flip side, without virtualization, the majority of the server systems run in an under-utilized state, which means the organization cannot get the most from its investments, where by utilizing virtualization it can use its systems to their maximum capacity.

  • Virtualization allows an organization to run its legacy application systems on the latest hardware. This reduces the extra burden to maintain the old server equipment, which is out of warranty and is very expensive to maintain due to the unavailability of service and spare parts.

  • Being an IT professional, virtualization is like an old school buddy who helps you learn and always be on top of new technologies and expertise. With virtualization it is much easier to build a research and development environment again and again. And by using a virtual machine, we can build a new server along with OS installed in just a minute. As we all know, testing requires us to build various test cases where rebuilding the same environment is needed from time to time, so virtualization helps you save your time and get things done in a much easier way.

  • Virtualization is one of the methods for converting a physical machine to a virtual machine, which allows you to maintain the existing physical server operating system settings and convert it into a virtual machine. Usually, this gets done when there is an old hardware server on which you are running an application, which you would like to run on a virtual machine, but you don't want to install from the scratch and want to maintain the existing configuration. So in this case all we need to do is to perform the conversion and we can run the same application as a virtual machine with everything untouched.

  • Another essential reason why virtualization is needed in our datacenter is that, with virtualization, applying dynamics and optimization becomes much easier. As we mentioned previously, with some sort of virtualization orchestration and management tools you can configure real-time dynamics for applications to scale out and scale in whenever there is a load for application. And virtualization as a base layer provides the computing platform for these dynamically expending application platforms.

Types of virtualization

Virtualization is a broad term, and addresses a wide range of core-computing elements, but here we will mainly discuss three major types of virtualization, which are as follows:

  • Server virtualization

  • Network virtualization

  • Storage virtualization

Server virtualization

In the first type of virtualization, we build virtual computers on a physical computer that is running virtualization software. Now let's elaborate this to better understand the concept here. This means the need of a computer that mainly comprises hard disk, processor, and RAM and other hardware components is fulfilled virtually on a physical computer with the help of the virtualization software that we call the hypervisor. By doing this we try to create as many virtual computers as is possible on a physical computer so that we can take advantage of and utilize the physical computer's installed resources and also save power, cooling, and space requirement by virtually hosting these computers.

Network virtualization

Network virtualization is when all of the separate resources of a network are combined, allowing the network administrator to share them out amongst the users of the network. This is done by splitting the resources' bandwidth into channels and allowing the administrator to assign these resources as and when required. This allows each user to access all of the network resources from his/her computer. These resources can be files and folders on the computer, printers or hard drives, and so on. This streamlined approach makes the life of the network administrator much easier, and it makes the system seem much less complicated to the human eye than it really is.

Storage virtualization

Storage virtualization has two distinct objectives, where the first objective is to separate the logical storage from the physical storage regardless of where data is stored. This allows the storage administrator to create partitions and manage data storage in a much more meaningful fashion. For an example, being a storage administrator you would like to keep fast storage disks for your ERP and Business Intelligence system, while slower disks can be allocated for file servers where speed and performance might not be needed.

Another objective of storage is to provide file-based access to data no matters where the actual data is stored. This enhances the performance and optimizes storage usage. In both ways when the storage virtualization is performed, it allows the administrator to effectively utilize the storage by taking advantage of storage automation and scalability features. Another example of storage migration is the tier-based architecture in which we divide stored data based on its classification and usage needs. So with the help of the fast cache feature, data can be moved from a slower SATA disk to a fast solid-state drive (SSD) when the I/O requirement increases from the user side.

Server consolidation

Server consolidation is a term more frequently used in connection with virtualization, where virtualization helps organizations to consolidate various IT workloads while running independently on a single hardware. What this consolidation mainly does is to achieve cost reduction by getting rid of running dedicated hardware for one application. Other than the cost factor, server consolidation greatly helps to ensure that existing hardware equipment does not stay underutilized and it is utilized in a more productive way.

It is extremely important to analyze the existing environment before going forward with a server consolidation and virtualization project, because we don't just randomly pick up the application server and decide to either convert it into a virtual machine or migrate existing server applications to a virtualized server application instance. Without proper analysis of our workload placement and sizing of underlying infrastructure, we might run into a problem where consolidated and virtualized instances suffer from availability and performance issues. Therefore, we recommend that organizations should perform proper sizing and planning exercises to evaluate all types of computing resources to see whether the same virtualized instance of the existing physical server would be enough to take over the load and scale of the service.

Cloud computing

If you are new to cloud computing, you might be wondering why we are discussing cloud computing as our next hop right after virtualization. The answer to your question is that cloud computing is a guy in the market, which boomed virtualization with one step ahead, as it introduced virtualization as a base infrastructure component of cloud computing. Cloud computing is more about combining people, processes, and technologies towards providing IT as a service; and in this journey of cloud computing, virtualization provides a platform on which cloud computing builds its architecture to use pools of hardware resources and share them, whenever it is required with orchestration and provide self service to its customers.

If you have been around the IT field for some time now, you must have heard about this term. Cloud computing is a way to deliver IT services in a more dynamic and self-service way, where someone can request for a virtual machine or a software environment to set up or build their own application, or use a publically hosted service. The cloud service provider and its customer relationship are tightly synchronized with each other, where on one side the party hosting the service needs to provide all these types of computing services to its end users with some sort of self-service style. And on the other side, depending on the user's needs, he/she can request a service and the service gets provisioned without any intervention. Another important aspect of this service is that it should be flexible enough so that if the service needs to be scaled out, it has enough scalability to cater for the request load.

Because cloud computing is an extremely diversified field of technology, all vendors, suppliers, and technology providers phrase their definition in their own way to explain their cloud offerings.

NIST (National Institute of Standards and Technology) provided its standard definition as a common understanding for everyone. So instead of understanding and creating our own cloud computing definition let's take a look at the definition of cloud computing provided by NIST. Visit the following URL for the definition:

http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf