25 Mar 2014

Configuring Hyper-V Virtual Machine NUMA Topology

Non-uniform memory access (NUMA) configuration of a virtual machine. You will rarely ever have to look at these advanced settings outside of an exam scenario. But there is a scenario in which you would tune these settings to optimize the performance of a virtual machine.

Why Customize Virtual NUMA?

In a previous article, "What Is Non-Uniform Memory Access (NUMA)?" I introduced NUMA and showed how Hyper-V works with it. If your virtual machine does not use Dynamic Memory, then Hyper-V will reveal the physical NUMA architecture of the host that the virtual machine is occupying. This allows the guest OS (Windows or Linux) and NUMA-aware services (such as SQL Server) to optimize the assignment of virtual RAM with the processes running on the virtual processors (vCPUs).

For example, imagine you have a host with four 8-core processors without hyperthreading. That host would probably have a total of 32 logical processors (LPs), allowing you to run some pretty big virtual machines on Windows Server 2012 (or later) Hyper-V. The host probably has four NUMA nodes with eight cores each, one for each processor, and the RAM would be split up evenly between host nodes if you followed the server manufacturer’s best practices.

Now imagine that you create a virtual machine with 16 vCPUs and statically assign it half of the host’s memory. The virtual machine will be informed, when it starts up, that it occupies two NUMA nodes and where the virtual RAM and vCPUs reside within those nodes. Now the guest OS can fire up processes with RAM assigned from one node, and processes with RAM on another node without unnecessarily spanning the physical NUMA nodes. This will optimize the performance of the services running in the virtual machine and the host.

What if you need to live migrate that running virtual machine to a host that has eight quad-core processors? The second host has enough processor and RAM capacity to run the virtual machine. But something is not optimal. The NUMA layout of this host is different. There are four cores per NUMA node instead of eight cores per NUMA node. The running virtual machine won’t be able to magically learn the new NUMA layout on the fly; that’s impossible. After the migration is complete, the virtual machine will have mismatched virtual NUMA awareness and will be spanning the physical NUMA nodes of the second host. That will reduce the performance of the guest’s services and the second host.

Change the NUMA Topology of a Virtual Machine

If you cannot deploy hosts with identical NUMA architectures then you can tweak the advanced processor settings of large virtual machines to achieve optimal performance as those virtual machines migrate around your cloud. Note that these settings are quite advanced and really only need to be changed if you are working with genuinely large virtual machines (more than four vCPUs) that span NUMA nodes.

You can find the NUMA topology settings if you edit the configuration of a virtual machine and expand Processor.

Customizing guest aware NUMA of a Hyper-V virtual machine
Editing the virtual NUMA of a virtual machine.

By default, Hyper-V will supply the settings to the virtual machine from the current host when the virtual machine starts up. You can customize three settings.

  • Maximum number of processors: A value from 1 to 32 that defines how the maximum number of processors will be in any NUMA node that the virtual machine might find on any host.
  • Maximum amount of memory (MB): From 8 MB to 256 GB, this value defines the maximum amount of RAM that any NUMA node on any host will have.
  • Maximum NUMA nodes allowed on a socket: Some processors with lots of cores can have more than one NUMA node. You can configure the maximum that should be encountered on any host with this setting. Values can range from 1 to 64.

So what settings do you use? It would be a good idea to run the Get-VMHostNumaNode cmdlet on every specification of host that your large virtual machine could live migrate to. The results of that cmdlet will identify the smallest NUMA node configuration in your Hyper-V host farm. You can then customize your very-large virtual machine to suit that configuration so that it will never span a NUMA node as it live migrates around your data center.

Virtual Processor Limitations in Hyper-V

If you have ever experimented with the various settings in Hyper-V, then you probably know that Hyper-V offers a lot of flexibility when it comes to allocating CPU resources to virtual machines. In a way this is both good and bad. It is good, because Hyper-V allows you to achieve granular control over the allocation of system resources. The bad part is that it is possible to allocate CPU resources in a way that starves the server of processing power. In this article, I will show you why this is the case, and how to avoid it.

Virtual Processor Mapping

One of the reasons why there is so much flexibility in allocating CPU resources is that every version of Windows that has been built on the Windows NT kernel (or some variation of it) supports at least two processors. Every computer being manufactured today includes multiple CPU cores, and in many cases multiple CPUs, each of which contain multiple CPU cores.

What this means is that you have a lot of flexibility in deciding how many CPU cores you want to allocate to each guest operating system. If you look at Figure A, you can see that Hyper-V allows you to decide how many virtual processors you want to assign to a guest operating system. Before you start doing that though, you need to understand that when you assign CPU resources to a virtual machine, you're not assigning physical CPU cores but rather virtual processors.

virtual_processor_limitations_in_hyper-v-1

Figure A

Hyper-V allows you to decide how many virtual processors you want to assign to a guest operating system.

A virtual processor does not necessarily have to correspond to a physical processor or to a physical CPU core. Microsoft recommends that you maintain a one-to-one ratio of virtual processors to physical CPU cores. On top of that, I recommend that you reserve at least one CPU core for the host operating system. This means that if you stick to the recommendation, a server with four CPU cores could host up to three virtual machines, with one virtual processor each (because one cores being used by the host operating system). You can also host two virtual machines, one with two virtual processors in one with one virtual processor.

So why does Microsoft allow you to have more virtual processors than you have CPU cores? There are two main reasons that I know of. First, you may occasionally run into situations in which you need to create multiple virtual machines, but not all of the machines are going to be running at the same time. For example, I have a lab server that hosts about 15 different virtual machines. Even so, there are never more than three or four virtual machines running at the same time. Had Microsoft not made it possible to assign more virtual processors than a machine has CPU cores, this type of configuration would have been impossible.

Another reason why Microsoft allows you to create an excessive number of virtual processors has to do with the entire premise of virtualization. Virtualization is based on the idea that hardware resources are often underutilized, and that you can use make better use of your hardware by running multiple virtual machines on it. Some types of virtual machines require very little CPU time. For example, in small to medium-sized networks domain controllers, DNS servers, and DHCP servers consume relatively few CPU resources. This is especially true if the servers are running on a server core deployment.

If you have multiple virtual servers, each of which are consuming very little CPU time than you can theoretically get away with having multiple virtual processors that correspond to a single CPU core. To the best of my knowledge, Microsoft doesn't make any official recommendations as to when it is OK to configure multiple virtual machines to use a single CPU core. In my opinion, it is probably OK so long as neither machine routinely consumes more than about 25% of the core’s total processing capacity. Keep in mind that in any case I recommend setting aside at least one core for the host operating system. You should also keep in mind that if you are dividing a CPU core among multiple virtual machines, you're going to lose some of the core’s processing power to the overhead involved in managing multiple virtual machines.

Using Hyper-V Virtual Machine Processor Resource Control

How a Virtual Machine Uses Host Logical Processors

A logical processor (LP) is a thread of execution on a host. Let’s look at three example hosts.

Host Name Physical Processors Hyper-threading Enabled? Logical Processors
Host1 Dual Intel 4-core (8 cores) No 8
Host2 Dual Intel 8-core (16 cores) Yes 32
Host3 Dual AMD 12-core (24 cores) N/A 24

Host1 has eight cores with Hyper-threading disabled. There are eight threads of execution or LPs on that host. Host2 has 16 cores; each core has two threads thanks to Hyper-threading, so there are a total of 32 LPs on that host. Host3 has AMD processors (Hyper-threading is an Intel CPU function) with a total of 24 cores; without Hyper-threading there are 24 LPs on this host.

Note: Hyper-threading does not double the power of a processor. It allows more multitasking and can add a small percentage to a host’s capacity with recent processors. Only on older processors does enabling Hyper-threading have a negative impact on performance for Hyper-V.

When a virtual machine runs on a host, it is sharing the resources of that host, including the processor capacity. A virtual machines virtual CPUs (vCPUs) do not permanently sit on the LPs that run them. Just like with applications on your PC, each virtual machine gets a slice of time to run. The VM is swapped on and off the physical processors of the host to allow other VMs to share those LPs. This might sound bad at first, but virtualization exists in the first place because the majority of servers were greatly underusing their CPU capacity. The virtual machines swap in/out so quickly that we humans do not normally notice. But sometimes those virtual machines need to be able to guarantee physical processor capacity to more horsepower-hungry services.

how virtual machines use logical processors

How virtual machines queue up to run on a host's shared logical processors.

Virtual Processor Resource Control

Hyper-V gives us the ability to manipulate how any virtual machine’s vCPUs utilize the LPs of a host. This is known as resource control. You can configure a virtual machine by editing the settings and browsing to Processor. Note that the VM must be powered down to edit these settings.

This is the location where you can configure the number of vCPUs that a VM has. Doing this allows a VM’s guest OS to have the ability to schedule more or fewer parallel tasks. This is useful for multithreaded services such as SQL Server or SharePoint. Doing this needlessly blocks the LPs of a host from being used by other VMs while the over-resourced VM is executing.

Manipulating the scheduling of virtual processors

Virtual processor resource control settings.

Here is also where you will find the Resource Control settings where you can control how LP capacity is scheduled for your virtual machine.

Virtual Machine Reserve (Percentage) is probably the most interesting setting. This is a guarantee of LP capacity for the virtual machine. If your virtual machine has two vCPUs and you set this setting to 100 percent then that virtual machine will be guaranteed two logical processors. No other virtual machines will be scheduled for those logical processors. This is useful for processor-hungry services such as SharePoint. Note that:

  • Some software support statements urge you to enable this setting to 50 or 100 percent.
  • This is probably how Windows Azure is enabling non-sharing of processors to the small (1 vCPU) and larger virtual machine specifications.

The Percent Of Total Resource display is a calculation of how much of the host’s total LP capacity will be assigned to this virtual machine. This setting is important to note – if you reserve 100 percent for every virtual machine then you won’t put many virtual machines onto each host!

This setting is rarely looked at in the real world by most virtual administrators, and really should only be configured for those services that require it. In a cloud there should be a higher cost for any templates that are configured with this setting.

Virtual Machine Limit (Percentage) restricts how much of the assigned LPs that this virtual machine can consume. By default, a virtual machine can use up to 100 percent of the capacity; this is used in conjunction with virtual machine processor pressure (or demand) along with the Relative Weight setting to balance the scheduling of virtual machines on the LPs.

I have never seen Virtual Machine Limit (Percentage) being used outside of a “what does it do?” scenario. It might be useful if some troublesome virtual machine does run away from time to time. Remember that you can only edit these settings while a virtual machine is powered off.

Relative Weight is used to manipulate the scheduling of virtual machines that are competing for shared (by default) LP resources. This setting is 100 by default. You can skew the weight of a VM by changing the setting. Valid values range from 0 to 10000.

Troubleshooting Wireless Networks in Windows 8.1

Windows 8 and 8.1 simplify the whole process of connecting to wireless networks. Tap the wireless icon in the Taskbar and out pops the Network Charm displaying a list of wireless networks in range. Tap the one you want, enter the password, and BOOM, you’re done. It doesn’t get much easier, but simplicity always comes with a cost. In this case, the “cost” is that some functions, such as managing wireless profiles, have actually become harder in these latest desktop Windows versions. In today's post, I'll show you how to troubleshoot and fix wireless issues in Windows 8 with the NETSH command.

Wireless Profiles in Windows 8

Many might ask “what’s the big deal?” In most cases they’d be correct – there’s often no need to manage wireless profiles manually. For IT pros though, we live outside of the “most” and “often” categories. Our bread and butter is dealing with the abnormal situations, instances in which working with wireless profiles stored on a PC is just a part of troubleshooting.

More often than not, my first step in troubleshooting a misbehaving wireless connection on a PC is to remove the wireless profile and recreate it. This is an easy point-and-click affair in Windows 7, but how is the same thing done from within Windows 8 versions? The good news is it’s still an easy process. The bad news (at least if you’re a GUI aficionado) is that it’s no longer a GUI-driven process. That’s right: removing a wireless profile in Windows 8 is all about the command line.

Remove a Wireless Profile

The first step is to start an elevated command or PowerShell prompt. I rarely use CMD.exe anymore and almost exclusively work in PowerShell for command-line tasks. Remember, PowerShell doesn’t run just cmdlets. For all intents and purposes, it can run anything CMD.exe can run. I like as many options as possible, so I’m going to get things rolling by right-clicking the Start button on my Windows 8.1 Pro Desktop and then clicking Windows PowerShell (Admin).

Fig-1-Starting-PowerShell-sm

What? You don’t see Windows PowerShell (Admin), but instead see Command Prompt (Admin)?

Well, you have three choices. Use the elevated command prompt, start PowerShell another way, or change your system to display the Windows PowerShell (Admin) prompt when right-clicking the Start button. As far as I’m concerned, the latter is the most appealing so here’s how to make it happen.

Fig-2-Command-Prompt-sm

Display the Windows PowerShell (Admin) Prompt

  • Right-click an open area on the Taskbar and then click Properties.
  • In the Taskbar and Navigation properties window that appears, click the Navigation tab.
  • In the Corner navigation section, click the checkbox for Replace Command Prompt with Windows PowerShell in the menu when I right-click the lower-left corner or press Windows key+X.

Fig-3-Taskbar-Properties-sm

  • Click OK. From now on when right-clicking the Start button, it’ll be PowerShell all the way!
  • Once the elevated PowerShell prompt is running, use the NETSH command to display the wireless profiles stored on the PC. Type NETSH WLAN SHOW PROFILES and hit Enter.

Display the Windows PowerShell (Admin) Prompt

Don’t be surprised if the list is longer than expected. Any wireless network the PC has connected to will be stored as a profile. On top of that, the list will also contain profiles from other devices if the user has the settings sync feature of Windows 8 enabled. Consider a user with a laptop, a desktop, a tablet, and a phone, and it’s easy to see how a profile list can grow to contain dozens of entries.

Remove Profile

  • In the Show Profiles output find the profile name you want removed. Removing the profile is as simple as typing the command NETSH WLAN DELETE PROFILE profile name and pressing Enter. That’s it, like I said easy-peasy lemon squeezy!

Display the Windows PowerShell (Admin) Prompt delete profile

  • Being a member of the “trust, but verify” crowd, I like to verify results. Doing so simply involves displaying the Show Profiles list again by typing NETSH WLAN SHOW PROFILES, pressing Enter, and checking that the removed profile is indeed gone.

Display the Windows PowerShell (Admin) Prompt profile remove

  • On the topic of NETSH, it can do much more than just show and delete profiles. Using it to display visible wireless networks in the area is as simple as typing NETSH WLAN SHOW NETWORKS then pressing Enter.

Display the Windows PowerShell (Admin) Prompt show networks

Extending that command just a bit to NETSH WLAN SHOW NETWORKS MODE=”BSSID” adds a slew of helpful information to the output including signal strength, radio type, transmission rates, and more.

Show Networks BSSID

Another very handy NETSH command for wireless troubleshooting is NETSH WLAN SHOW INTERFACES. The output of this command will display detailed information about configured wireless network interfaces on the system. Everything from name, description, and MAC address to interface state and whether a wireless network is connected.

Show Interfaces

I could go on and on with various NETSH WLAN commands, but I’ll round out the discussion with the big kahuna. If the goal is to learn everything the NETSH WLAN command can provide, type NETSH WLAN SHOW ALL and press Enter. Watch the screen scroll by for a few seconds and then spend a while reviewing the output which includes every possible modifier of the NETSH WLAN SHOW command.

NETSH WLAN SHOW

The simplicity of connecting to wireless networks in Windows 8 and 8.1 is great for users. However, for IT pros troubleshooting problems it can be a hindrance rather than a help. Luckily, with the knowledge of a few key NETSH commands along with a little old school command line prowess, IT pros can work with wireless networks as easily and effectively as ever.

18 Mar 2014

How to Build a Windows Server 2012 R2 Hyper-V Test Lab

Windows Server 2012 R2 Hyper-V Lab Options

There is quite a bit to learn about Windows Server 2012 R2 (WS2012 R2) Hyper-V, especially if you have not yet used Windows Server 2012 (WS2012) Hyper-V, which was a huge release. Many of the important changes are related to networking and storage, and this means you need hardware that is capable of supporting these features.

Storage Options

Let’s start with the most economic storage option: iSCSI. This storage is probably the most commonly encountered storage connectivity solutions in the market. That typically requires an expensive hardware SAN, but there are other options. While the hardware solution might support attractive features such as Offloaded Data Transfer (ODX) and TRIM, and it may give you the option to play with a hardware Volume Shadow Copy Service (VSS) provider for (Cluster Shared Volume) CSV backup, acquiring a hardware SAN just for a lab will be a challenge unless you work for a hardware reseller that needs a realistic demo lab.

Some businesses have chosen to deploy software-based third-party iSCSI SAN products that convert a server (possibly running Windows Server) into a storage appliance. That can be too expensive for a lab, especially a home lab. A more economic option is to use the iSCSI target that is built into WS2012 and WS2012 R2. This is a feature that you can turn on to enable the storage in your server to be shared to other application servers (such as Hyper-V) for data storage. You can quite happily use the iSCSI target as the shared storage for a Hyper-V cluster.

Windows Server 2012 also introduced the ability to virtualize fiber channel host bus adapters (HBAs) so that virtual machines can connect directly to LUNs in a fiber channel SAN. While this is a feature that becomes less important in WS2012 R2 thanks to shared VHDX, some people might still want to learn how to implement this functionality. There is no easy way to say this: Fiber channel storage is the most expensive option for a SAN, and it is really unlikely that you will be able to learn this functionality unless you work for a hardware reseller or have a decommissioned SAN at work that supports WS2012 or WS2012 R2.

One of the more interesting storage options in WS2012 and WS2012 R2 is SMB 3.0 storage; this is where Hyper-V stores virtual machines on a file share. There is much to learn with this new technology, starting with the architecture, which could be a simple file share on a single server or it could be a Scale-Out File Server (SOFS) made up of multiple servers with shared storage. That SOFS shared storage could be a SAN, an iSCSI target, or Storage Spaces on just a bunch of disks (JBOD).

If you choose the SOFS with Storage Spaces (on a JBOD) option, then there are also new features to learn on WS2012 R2 that can leverage SSDs and traditional HDD disks to create tiered storage. The JBOD of a SOFS must support at least two servers connecting to it at once (for two nodes in the SOFS cluster) and the disks must be dual channel SAS. Here’s the bad news: The SSDs that support this currently cost well over $1,000, and you’ll need at least four of them to see any performance. You don’t need SSDs to learn the basics of a SOFS, but they are nice to have – especially if you need to run competitive customer demonstrations.

Networking Options

I probably spent as much time learning the networking of WS2012 as I did on Hyper-V. There is an incredible amount to learn for novices. Some of the functionality can be learned and demonstrated on basic hardware, and some of it will require a very nice budget. Your first step will be to understand the requirements of Hyper-V networking and use this to calculate the number of NICs you will need in your servers.

WS2012 networking plays a huge role in SMB 3.0 storage. You can use and learn SMB 3.0 storage on unenhanced 1 GbE networks, but some of the newer features do require hands-on experience. SMB 3.0 can leverage Remote Direct Memory Access (RDMA) to offload the processing and reduce the latency of SMB 3.0 networking. The NICs and switches with RDMA support are not cheap. You can choose 10 GbE iWARP NICs, ROCE NICs, or Infiniband networking. Of the three, iWARP is probably the cheapest option, but bear in mind that you will require at least one 10 GbE switch with support Datacenter Bridging (DCB).

Single-Root IO Virtualization (SR-IOV) allows virtual machines to bypass the management OS networking stack to connect directly to the physical NICs in a host. It sounds like a very nice feature for minimizing network latency for virtual machines and increasing host capacities to huge levels, but in my years working in IT, I’ve only ever encountered one company that would even need this feature. Adopting SR-IOV comes at a cost – it requires host (motherboard, NICs, drivers, and firmware) support and you lose all of the functionality that the Hyper-V virtual switch offers. If you do want to learn SR-IOV on a budget then choose NICs that offer it... and buy Dell servers. I really dislike recommending a specific brand, but in my opinion IBM have woeful support for System Center and HP are stuck in 2009 (SR-IOV support is only in HP’s most expensive hardware).

Hyper-V

There are two aspects to Hyper-V: the software and the hardware. TechNet, long the best option for acquiring Microsoft software for evaluation and learning is coming to an unfortunate end. MSDN offers the same access to infrastructure software, but it is much more expensive because it includes much more content that is intended for developers. That leaves you with Hyper-V Server and time-limited evaluation copies of Windows Server. My preference is to use a full install of Windows Server in production rather than the Core install, so naturally I’d have to recommend using the time-limited evaluation copies of Windows Server in a lab. But you could deploy Windows 8 or Windows 8.1 on a PC and use the Remote Server Administration Toolkit (RSAT) to remote manage the free and fully featured Hyper-V Server that does not have a time limit.

On the hardware front, you don’t necessarily need servers. If you are on a tight budget you could use PCs or laptops.  The hardware requirements are simple:

  • A CPU that supports assisted virtualization.
  • Data Execution Prevention (no execute bit) turned on in the BIOS.
  • Sufficient RAM and disk space for the management OS and virtual machines.

Any machine that has an Intel Core I processor should support Hyper-V, as well as give you Second Level Address Translation (SLAT) that allows further virtualization functionality such as RemoteFX.

My Home Lab

I needed to build a home lab on a budget when I wrote a book on WS2012 Hyper-V. The lab was purely to be able to learn and document how to implement features of Hyper-V. I already had some old hardware:

  • A six-year-old tower PC that became my domain controller, iSCSI target, and SMB 3.0 file server. I added a USB drive to give it extra storage capacity; the performance was bad but I was more concerned with capacity on a shoestring than a fast environment.
  • A three-year-old laptop which became an additional Hyper-V host for Hyper-V Replica.  I needed to have a third so I could replicate to/from a Hyper-V cluster.

Speaking of the Hyper-V cluster, I purchased two tower PCs with i5 processors and the minimum amount of OEM RAM.  I expanded the RAM capacity to 16 GB each by buying memory from a third-party manufacturer; this was much more economic than the default source. Each PC came with a single 1 GbE NIC, which is not nearly enough. I supplemented this by adding a quad port adapter to each of the hosts, giving me five NICs per host.

Building windows server 2012 R2 hyper-v test Lab

My home test lab.

The networking was simple: I got a simple unmanaged switch that you can get from any decent consumer store and picked up a few network cables from work. (Those things are crazy expensive via retail!) There are no VLANs in this lab. I instead prefer to use simple IP address subnetting, using addresses such as 192.168.1.0/24, 192.168.2.0/24, 10.1.1.0/24, and so on. This makes the lab easy to reconfigure at the software layer without having to delve into switch management.

I rebuilt the lab after writing each chapter in the book. Instead of wasting time by reinstalling the management OS on each host every time, I configured the hosts to boot from VHD. Windows 7 (now Windows 8) was installed on the machine. I configured a second boot entry for a VHD file on the C: drive. The VHD contained the configured management OS and I retained a safe copy of the file. A host reset was easy – reboot the PC into Windows 7 (now Windows 8) and copy over the VHD file. That took just a few minutes.

The Lab at Work

My job revolves around delivering bespoke training, demonstrating, and evangelizing the technology, and going up against the competition. To do that I need a really good kit, one that can perform at levels and demonstrates advanced features that customers expect to see. That means my shoestring budget home lab just would not cut it.

The lab has gone through two generations now. The first generation was purchased during the beta of WS2012, at a time when some of the advanced hardware wasn’t readily available, and none of the manufacturers had a clue of what RDMA, DCB, ODX, and so on, were (sadly it has not gotten much better). We purchased an SFP+ 10 Gbps switch and lots of 10 GbE NICs to put in the servers.

I have learned an important lesson in lab management over the years: You need to separate lab management (patching, remote access, content, and so forth) from the actual demo lab. This gives you the ability to maintain clean management with quick and reliable rebuild processes. That’s why there are two untrusted domains in the lab:

  • Lab: This contains a PC that is a domain controller for the lab and a storage server that also runs Hyper-V. On here I create virtual storage (iSCSI and SMB 3.0) and management systems for the demo domain.
  • Demo: This is where the demonstrations and learning/test environments are built. This can be easily reset. I even do this remotely via VPN access through the lab domain.

The numbers of machines was limited but I was able to do quite a bit. For example, I ran System Center on virtual machines that were stored and placed on the lab storage machine. I also ran a virtual SOFS that was made up of three WS2012 virtual machines:

  • one iSCSI target
  • two virtual file servers that used the iSCSI target as their shared storage

With WS2012 R2 Hyper-V you could (and I briefly did) replace this with two virtual file servers using shared VHDX.

windows server 2012 R2 hyper-v test Work Lab Gen1

Generation 1 work lab

WS2012 R2 is placing a bigger emphasis on Storage Spaces and SMB Direct. This has forced us into expanding the lab. We recently added two more servers and a JBOD that is certified for storage spaces. Three changes are being made to the lab:

  • SMB Direct: We have replaced the server manufacturers 10 GbE NICs with SFP+ iWARP NICs. This will allow me to do SMB Direct for storage and for Live Migration.
  • Scale-Out File Server: The JBOD will be used to demonstrate and teach WS2012 R2 file based storage including SOFS and Storage Spaces.
  • Servers: The two old hosts are being switched to be the nodes in the SOFS. The new servers (64 GB RAM and 2 * 6 core CPUs) that support SR-IOV and Consistent Device Naming are being used as the Hyper-V hosts.

windows server 2012 R2 hyper-v test Work Lab Gen2

Generation 2 work lab

Once again, I have refrained from creating VLANs on the switch (this one is a managed switch). I just prefer having a completely flexible environment. The reward came 1.5 days after configuration started: I live migrated a 56 GB RAM Linux virtual machine from one host to another in just 35 seconds.

Building this lab taught me another lesson: if you can, buy 2U servers with lots of free expansion card slots. The 1U servers that I selected come with just a single full-height slot and a single half-height (or low profile) slot. This means you have to be very selective about picking add-ons for your servers.

While you can learn quite a bit about Hyper-V on just a single machine, the real earning comes when you have three or more machines. This allows you to explore storage, clustering, live migration, and Hyper-V Replica. You can minimize the spending by using PCs, but you will need to spend quite a bit more if you want to learn the advanced hardware-dependent features.

17 Mar 2014

Windows Server Update Services (WSUS) 2012

Windows Server Update Services (WSUS) gives administrators control over how and when updates are distributed and installed on a private network, allowing organizations to test updates before they are applied in production and reducing the risk of an update causing a service outage. Although it’s possible to rely on Microsoft Update to patch your networked computers, there’s no centralized administration, reporting, or ability to target specific groups of machines, so it’s only suitable for home computers or small businesses with no access to IT support.

Windows Server Update Services Prerequisites

Before you begin installing the WSUS role on Windows Server 2012, the server should meet the following prerequisites:

    Microsoft .NET Framework 4.0 must be installed on the WSUS server.
    The Network Service account must have full access to the %windir%\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files and %windir%\Temp file paths.
    The account you use to install WSUS must be a member of the Local Administrators group.

The Microsoft .NET Framework 4.0 is installed by default on Windows Server 2012, so unless you have specifically removed it, you don’t need to do anything other than check that it’s installed. The Temporary ASP.NET Files folder is installed as part of Internet Information Services (IIS), which is a requirement for WSUS and is installed as an additional component during the WSUS setup process. Therefore, unless IIS is already installed on your server, you can add the Full Control permission for the NT Authority\Network Service account after WSUS has installed.

Installing the WSUS role

In this example, I’m going to install WSUS in a single server topology that gets its updates from Microsoft Update and then distributes them to the rest of the network, and use WSUS with the default Windows Internal Database (WID). WSUS supports the use of other databases, such as Microsoft SQL Express 2008 R2 (or higher) and Microsoft SQL Server 2008 (or later), either on the same server as WSUS or on a different domain joined server (but not a domain controller). If you have access to a supported instance of Microsoft SQL Server, Microsoft recommends using it instead of WID.

  • Log on to Windows Server 2012 as a local administrator.
  • Open Server Manager from the Start screen or Task Bar icon on the desktop.
  • In Server Manager, select Add Roles and Features from the Manage menu.
  • Click Roles in the left pane of the Add Roles and Features wizard.
  • Select Windows Server Update Services at the bottom of the roles list. Then click Add Features in the pop-up dialog to add additional components that are required by WSUS. Click Next in the Add Roles and Features wizard.

Windows Server Update Services

 

  • Click Next on the Features screen, then Next on the Windows Server Update Services screen.
  • On the Role Services screen, check WID Database and WSUS Services. Then click Next.
  • On the Content location selection screen, enter a path where WSUS will store updates. In this example, I’ve already created a local folder (c:\WSUS Updates) for this purpose. Click Confirmation in the left pane of the Add Roles and Features Wizard.
  • Click Install on the Confirmation screen.
  • Once the installation has completed, click Close.
  • Find the Temporary ASP.NET Files folder in the %windir%\Microsoft.NET\Framework\v4.0.30319\ directory and give the Network Service account Full Control. Do the same for the Temp folder in %windir% (usually C:\Windows).
  • In the top right of Server Manager, click the yellow warning icon and then select Launch Post-Installation tasks. After a few minutes, you should see that the post installation tasks have completed.

Windows Server Update Services Launch Post Installation tasks

Windows Server Update Services Configuration

Now that WSUS is installed and the post-installation tasks completed, we need to do some simple configuration. Make sure that your WSUS server has Internet connectivity so that it can download updates from Microsoft Update before continuing.

  • In Server Manager, select Windows Server Update Services from the Tools menu. The Windows Server Update Services Configuration Wizard will open in a separate window.
  • Click Next on the Before You Begin Screen and again on the Microsoft Update Improvement Program screen.
  • Select Synchronize from Microsoft Update on the Choose Update Server screen and click Next.
  • Add your proxy server details (if you have an HTTP proxy on your network), or otherwise click Next to continue.
  • Click Start Connecting to confirm the upstream server information. This might take a few minutes. Once completed, click Next.
  • Select the required languages for your updates on the Choose Languages screen and click Next.
  • On the Choose Products screen, select the Microsoft products for which you want WSUS to download updates. All supported Office and Windows products are selected by default. Click Next to continue.
  • On the Choose Classifications screen, choose the types of updates you’d like WSUS to download and click Next.

Windows Server Update Services

  • On the Configure Sync Schedule screen, decide whether you want to initiate synchronization manually or schedule a synchronization job to download updates. Click Next to continue.
  • On the Finished screen, check Begin initial synchronization and click Finish.

What's New in Windows 8.1 Update 1

Microsoft's latest update to Windows 8.1 which has been collectively referred to as  Windows 8.1 Update 1 continues Microsoft's efforts to file off the rough edges of the initial Windows 8 release. Although Microsoft won't describe it as such, Windows 8.1 Update 1 can be viewed as yet another step backwards from the touch-optimized initial Windows 8 release and a step towards satisfying the needs of mouse and keyboard users.

To that end, the bulk of the improvements in this update  which is slated to be officially released this Spring, despite some recent early leaks on the web  center largely around improving the desktop experience for users without touch hardware who rely mostly on mice and keyboards to get their work done.

Windows 8.1 Update 1: Improvements and Changes

Let's take a look at a few of the major changes and improvements in this update, most of which were mentioned by Microsoft's Joe Belfiore in a post on the Windows Phone blog during last week's Mobile World Congress in Barcelona. Given that some of this information is preliminary and from multiple sources, please check back regularly as I update the article with newer and potentially more accurate information.

Boot to Desktop by Default: Windows 8.1 introduced the ability to enable booting to desktop as an option, but Tom Warren at The Verge is reporting that the latest build "only boots to the desktop on non-touchscreen PCs by default." This boot to desktop by default feature for keyboard and mouse users could go a long way to addressing some of the gripes that Petri IT Knowledgebase readers (and yours truly) have long had about Windows 8.

New Right-Click Context Sensitive Menus: A convenient feature for mouse and keyboard users is the ability to right-click on a UI element  such as the Windows desktop, the task bar, or other interface elements  and get a context-sensitive menu that provides additional options. While that functionality has always existed in the desktop mode of Windows 8/8.1, Paul Thurrott over at the Windows Supersite says that Microsoft is planning to a add that functionality to the Metro side of Windows 8.1.

Taskbar on the Start Screen: Another chance being discussed for this update is a change to how the desktop task bar behaves when switching between the desktop and Metro interfaces. In Windows 8.1, the task bar would vanish when you switched to the Metro-fied Start Screen. In Windows 8.1 Update 1, the taskbar remains onscreen when you switch to the start screen. I'll try to add a photo and/or video of this functionality in action in the near future. Regardless, this change should also help PC desktop users accustomed to the traditional start menu and task bar feel at home.

Search and Power Buttons on the Start Screen: Microsoft is adding some icons to make shutting down and searching easier for desktop and mouse users, namely by adding power and search buttons to the upper right corner of the Metro start screen. I can tell from watching friends and family members using Windows 8 for the first time that simply shutting down the machine and searching for content are not that intuitive, so adding visual icons for these should be helpful.

Pin Metro Apps to Desktop Taskbar: Another area where I've seen users stumble when using Windows 8 is when trying to find and open Metro apps from the desktop side. It's honestly a confusing mess, and Windows 8.1 Update 1 should address this UI mistake as well. ZDNet's Mary Jo Foley says that the update will give users the ability to pin Metro apps to the Windows 8.1 desktop task bar, which will make it much easier to access Metro apps from the desktop side.

Improved  IE8 compatibility in Internet Explorer 11: Belfiore calls this new functionality out specifically in his post, saying that  the Windows 8.1 Update 1 release will enhance IE8 compatibility for Internet Explorer 11 users "...which is especially critical for web-based line of business applications." ZDNet's Mary Jo Foley has recently reported a bit on this feature in the past, which has been referred to as IE 11 ' enterprise mode.'

Cheaper Windows 8 partner licensing costs: Belfiore mentions that Microsoft will "enable our partners to build lower cost hardware for a great Windows experience at highly competitive price points." That can only mean that Microsoft plans to reduce the licensing costs that it charges hardware partners to

Improved mobile device management capability: Microsoft has steadily been building out the ability to more effectively manage mobile devices on the IT management and server side with impressive updates to Windows Intune and Microsoft System Center, so it was only logical that the company introduce additional hooks on the client side to facilitate easier management of Windows 8.1 and Windows Phone mobile devices on the client side. Belfiore didn't spell out exact details about what these enhanced mobile device management capabilities will be, so we'll update this section as more information is revealed.

Improved deployment options: Belfiore mentioned improved mobile device management and deployment options in the same sentence, and it's clear that Microsoft is bending over backwards to streamline and optimize the deployment of Windows 8.1 into the enterprise. It's been widely reported here and elsewhere that Windows 8 adoption in the enterprise is lagging, so anything Microsoft can do to make deployment easier for IT management should help their case.