Build an Inexpensive Learning Machine

This blog post brought to you by eighteen year veteran Microsoft Premier Field Engineer David Morgan.

Goal of this Post

In this post, I’ll be showing you one method you can build out an entire environment that you can use to deploy servers, clients, Microsoft and third party applications; i.e. anything that can be deployed on Windows Server Hyper-V on a single desktop class computer you might find on Craigslist or some other technology source. The only expense in this post will be purchasing a computer and not even that as you may already have an old desktop laying around that will work.

The tasks in this post require the user to have a minimum ~200 level knowledge of and experience with Windows Server products. The steps herein to attain the desired results are not exquisite in detail and may require some personal intuition and/or research. Also note that I’ve recommended a File-Share Witness configuration instead of the normal Disk Witness a two node cluster would be best suited for. The reason I’ve done so is this document does not go through the configuration of iSCSI or other methods for supplying storage to the cluster built here. (Sounds like another blog post opportunity.) For the widest clustering experience, you’ll want to learn how to use iSCSI. You can do so by configuring iSCSI Target on your Host machine or Domain Controller.

Once you have a suitable computer, all the Microsoft software you might wish to use is free by using evaluation versions of Windows Server, System Center, SQL, Exchange, etc. Many third party products also provide free evaluation software you can use as well.

First: Hardware

This is what this document will build:


You’ll need to make a decision on what versions of Windows Server Hyper-V you wish to use as a base platform; your Host machine. Windows Server 2012 R2 and Windows Server 2016 have slightly different hardware requirements; the biggest difference is 2012 R2 and below do not require SLAT and Windows Server 2016 does (there are additional requirements for 2016 if you wish to use some of the new advanced features; Nested Hyper-V, Hot Add NICs, Hot Add/Subtract Memory, etc.).

Here are the official requirements page for Servers 2012 R2 and 2016:

Out of all the requirements above the basic needs for this post are:

  • Windows Server 2012 R2 Hyper-V:
    • BIOS support for Virtualization
  • Windows Server 2016 Hyper-V:
    • BIOS support for Virtualization
    • SLAT (Second-Level Address Translation)
  • A minimum of 8 GB of system memory
  • A minimum of three hard disks; one OS & two data
  • A minimum of one network interface adapter
  • As always, the more capabilities and capacity you have the better performing your system will be; multiple processors, faster storage and more memory will improve your experience but you can get by just fine with the basics above.

Here are the basic steps:

  • Configure your hardware
  • Install the Operating System and Hyper-V role
  • Configure necessary Hyper-V networks
  • Create a virtual machine with the Domain Controller role installed
  • Create two virtual machines to be cluster nodes with Failover Cluster feature installed
  • Configure your cluster
  • Configure your desired clustered resources
  • Go Play ……………….

Here are the steps in detail:

  • Configure your host machine’s hardware
    • Verify or enable virtualization in the BIOS
    • If possible, place your disk drives on separate controllers
  • Download the evaluation version of your desired operating system:
  • Boot your new server to the DVD or USB image you created above
    • Install the Operating System and Hyper-V role
    • The host server can remain in a workgroup
    • Configure necessary Hyper-V networks
      • Press Windows Key : Type Hyper-V Manager
        • Click : Virtual Switch Manager in the right Actions pane
          • Create a new External virtual switch named Internet
          • Create a new Private virtual network switch named Private
  • Create a virtual machine with the Domain Controller role installed
    • In the Hyper-V console action pane:
      • Click : New : Virtual Machine
      • Name this machine DC1 (store this VM on your C: drive)
      • Next : Choose Generation 2
      • Next : Leave the memory settings as default
      • Next : Connect the Private network
      • Next : Accept the defaults for VHD
      • Next : Choose install and operating system from a bootable image file and point to the evaluation .iso you downloaded earlier
      • Next : Choose finish
      • Next : Start and Connect VM DC1
      • Next : Configure the IPv4 NIC to:
        • IP 192.168.16.1, Subnet 255.255.255.0, GW 192.168.16.1
      • Next : Install the Active Directory Domain Services feature
      • Next : After the feature install completes:
        • Configure your domain controller in a new Forest, I.e Demo.Local
        • Follow the prompts; allow DNS installation, etc., restart
  • Create two virtual machine cluster nodes with Failover Cluster feature installed
    • Click : New : Virtual Machine
    • Name this machine Node1 (store this VM on a data disk)
    • Next : Choose Generation 2
    • Next : Set memory to 2048 and uncheck Dynamic Memory
    • Next : Connect the Private network
    • Next : Accept the defaults for VHD
    • Next : Choose install and operating system from a bootable image file and point to the evaluation .iso you downloaded earlier
    • Next : Choose finish
    • Next : Start and Connect VM Node1
    • Next : Configure the IPv4 NIC to:
      • IP 192.168.16.11, Subnet 255.255.255.0, GW 192.168.16.1
    • Next : Join Node1 to your domain
    • Repeat for the second node but:
      • Name the second Node2
      • Store Node2 on a separate data disk from DC1 & Node1
      • Next : Configure the IPv4 NIC to:
        • IP 192.168.16.12, Subnet 255.255.255.0, GW 192.168.16.1
  • Configure your cluster
    • Validate your configuration:
      • Test-Cluster -Nodes Node1,Node2
    • Create the cluster:
      • New-Cluster -Name MyCluster -Nodes Node1,Node2 -StaticAddress 192.168.16.10

Conclusion:

  • You are now ready to proceed with cluster & Hyper-V learning exercises, troubleshoot customer issues, explore, whatever. I’ve used failover clustering here just as an example; once you have the host server and the domain controller you can configure any supportable virtual machine and application resources you desire.
  • Now; go have fun!