Abstract
The following is a prescriptive set of steps recommended for manual deployment of a Hyper-V host from a bare metal server to fully functional cluster member.
Disclaimer
  1. All steps are as generic as possible and might not be suitable or sufficient for your particular environment.
  2. You may find some steps completely unnecessary or even improper. Please don't remove from the list. It's not a go-to guidance that is mandatory for everyone and everywhere. Nor this is an official recommendation of any kind. It's just an idea for you to start building your own list. So it intentionally contains as much options as possible.
  3. It's a good practice to automate wherever possible. So you are encouraged not to perform all these steps manually every time but to try to automate them by installation scripts and/or group policy.
How You Can Improve the List
  • Add more steps if you think something is missing.
  • Add links to documentation that discuss each step in more details and/or provide some references.
  • Add more examples for already existing steps.
The Steps (in Order of Deployment)
  1. Update all the firmware. Examples:
    1. Server BIOS;
    2. Various Add-On cards' ROM if present.
  2. Change BIOS settings according to your own preferences. Examples:
    1. Enable DEP and Hardware-Assisted Virtualization;
    2. Enable Power Saving modes;
    3. Disable unnecessary features (e.g. VT-d. Currently Hyper-V makes no use of it).
    4. Disable unnecessary devices (e.g. COM ports).
  3. Install Windows Server.
  4. Set Time Zone.
  5. Set up Network Connections. Examples:
    1. Static IP addresses if required;
    2. Disable LMHOSTS Lookup;
    3. Disable NetBIOS over TCP/IP;
    4. Rename interfaces to reflect their purposes;
    5. Unbind unnecessary protocols from respective interfaces;
    6. Disable automatic DNS registration for non-primary interfaces.
  6. Enable Remote Desktop.
  7. Enable Remote Server Manager (PowerShell Remoting).
  8. Disable Automatic Restart so that you can see the error code in case of stop error.
  9. Rename computer.
  10. Join to domain.
  11. Delete local administrator profile. (You won't need it any more — why leave unnecessary files on the disk?).
  12. Rename System Volume into something more descriptive than "Local Disk" (i.e. give it a label).
  13. Set proxy server for local user. (Only in case there's no WPAD deployed).
    1. Also define proxy exclusions for your local network (e.g. "*.your.local.domain.com").
  14. The same as #13 but for System account profile:
    1. netsh winhttp set proxy proxy-server="your.proxy.server.domain.com:8080" bypass-list="*.your.local.domain.com"
  15. Add "*.your.local.domain.com" to "Local Intranet" security zone. (So that you won't be questioned when running some executable file from a network share when using FQDN paths).
  16. Enable automatic updates and feedback.
  17. Enable Microsoft Update.
  18. Install major Windows Components that are pre-requisites for installing updates for some reason. Examples:
    1. Windows Update Agent (currently the latest version of the Agent is bundled with the OS so this step is unnecessary but may be a valid option in the future).
    2. Install Windows Internet Explorer (currently the latest version of IE is bundled with the OS so this step is unnecessary but may be a valid option in the future). Why do I recommend installing it before searching for updates? Well, why do you need to patch the old version of IE that you're going to replace anyway?
  19. Check for updates from:
    1. Microsoft Update and/or
    2. Local WSUS server.
  20. Install general hotfixes manually. Examples:
    1. Hyper-V Hotfixes;
    2. WMI Hotfixes;
    3. Failover Cluster Hotfixes.
  21. Install Windows Server features. Examples:
    1. SNMP;
    2. MPIO;
    3. Failover Clustering.
  22. Install OEM drivers and utilities. Examples:
    1. Various firmware updates. (Yes, I know you've already done that on the very first step. But from Windows some tools allow you to search for latest versions of Firmware from the vendor's website. This might bring you newer versions than those you used on step 1).
    2. Various "Support packages".
    3. Exception: Chose "Custom Installation" and skip installing NIC teaming software. It often requires enabling Hyper-V role first.
  23. Install storage drivers and utilities. (That's different from the above. OEM tools and drivers are provided by your server vendor. Storage drivers and utilities are provided by your SAN vendor. Even if this is the same vendor, storage drivers and utilities are not commonly included with server "support packages").
    1. MPIO DSM(s);
    2. MPIO DSM Manager(s);
    3. Hardware VSS provider(s);
    4. Hardware VDS provider(s).
  24. If necessary, change settings for the tools that you installed on previous steps. Examples:
    1. Enable remote management if it was disabled by default;
    2. Enable more performant options if the defaults are more conservative.
  25. Test that all OEM and storage tools are working properly.
  26. Enable Hyper-V role.
    1. Don't create Virtual Networks on this step.
  27. Repeat steps 19 and 20. This may install additional hotfixes that were not applicable previously.
  28. Install NIC Teaming software.
  29. Create NIC Teams.
  30. Create Hyper-V Virtual Network(s).
  31. Run Hyper-V Best Practice analyzer.
  32. Attach SAN LUN(s).
  33. Join the Host to Failover Cluster (assuming this is not the first node and the Cluster was formed previously).
  34. Change Hyper-V Default paths to folders on CSV:
    1. VM default path;
    2. VHD default path  
  35. Add the Host to your management infrastructure. Examples:
    1. System Center Virtual Machine Manager.
    2. System Center Operations Manager.
    3. System Center Data Protection Manager.