This is in continuation to the previous post Virtualization Journey with SQL Server where we were trying to understand the WHY part. In this post, let me walk through some of the hardware innovations that one needs to be aware when working with Windows Server 2012 and Virtualization in specific. These are the same conversation I have with customers day-in-day-out when they come to MTC for sessions.
Windows Server 2012 provides a number of compelling capabilities to help organizations gain greater scalability and build reliable virtualized infrastructure for their mission-critical workloads like SQL Server 2012. Don’t worry, this whole integration of specific version of hardware with various versions of software is like a jigsaw puzzle and I will try to bring parts of them together for you from an easily understandable format. I don’t consider myself a virtualization expert but I am surely learning quite a lot of this concepts which I plan to share with you all.
Hardware Innovations and considerations
The hardware requirements of Windows Server 2012 Hyper-V help to ensure that it is installed correctly and makes optimum use of virtualization technology. Hyper-V requires a 64-bit processor that includes hardware-assisted virtualization and hardware-enforced Data Execution Prevention (DEP). Let me take a quick stab at what these actually are:
Hardware-assisted virtualization: This is available in processors that include a virtualization option to enable the full virtualization of host machines. The Windows Server 2012 Hyper-V role supports hardware assisted virtualization processers from the Intel VT and AMD-V processor families. Using this feature, Hyper-V puts a layer between the processors enabled with hardware-assisted virtualization and the host operating system. This facilitates interaction between guest operating systems and the underlying hardware via the host or main operating system for better performance and control over hardware resources.
Hardware-enforced Data Execution Prevention must be available and enabled. Specifically, you must enable Intel XD bit (execute disable bit) or AMD NX bit (no execute bit). More details on specifics can be read from Wikipedia. To use this feature you need to enable knobs from the BIOS and this will vary from the chip manufacturer as mentioned above.
Windows Server 2012 provides different deployment options, including Server with a GUI and Server Core Installation. The Server with a GUI option is the Windows Server 2012 equivalent of the full installation option available in Windows Server 2008 R2. The Server Core Installation option reduces the space required on disk, the potential attack surface, and especially the requirements for servicing and restarting the server.
What I recommend folks are, use the Server Core Installation option for setting up a SQL Server virtualization environment. This helps to reduce the space required on disk and the potential attack surface. It also helps to better separate management and deployment activities, reduce the overhead of updating patches, and minimize the requirements for servicing and restarting the server.
Note: I highly recommend checking the Windows Server Catalog lists for thousands of hardware and software items compatible with Windows Server 2012.
Scalability by numbers with Windows Server 2012
Windows Server 2012 Hyper-V provides significant scalability improvements over Windows Server 2008 R2 Hyper-V. These below features help to ensure that the virtualization infrastructure is compatible with the largest scale-up servers and can support the configuration of large, high-performance virtual machines to handle workloads that might need to scale up significantly.
|System||Resource||Windows Server 2008 R2 Hyper-V||Windows Server 2012 Hyper-V|
|Physical Memory||1 TB||4 TB|
|Virtual CPUs per Host||512||2048|
|VM||Virtual CPUs per VM||4||64|
|Memory per VM||64 GB||1 TB|
|Active VMs per Host||384||1024|
Significant improvements also have been made within Windows Server 2012 Hyper-V to support increased cluster size and a higher number of active virtual machines per host. Windows Server 2012 Hyper-V supports up to 8,000 virtual machines on a 64-node failover cluster. In addition, more advanced performance features such as in-guest NUMA are supported by Windows Server 2012 Hyper-V virtual machines.
I think this is lot of information to digest in a single day and do research, the next blog on this series will be around Virtualization and understanding computation (Logical Processors, Virtual Processors, NUMA, host reserve etc). Stay tuned.