Hello Stack Exchangers!
Today I'm trying to install a SQL Server 2008 R2 Cluster environment on Windows Server 2012 R2 servers and after doing all the necessary steps to prepare the cluster (like Creating an iSCSI Virtual Disk for Windows Cluster, configuring both node members, installing .net Framework 3.5, Adding the Windows Cluster Failover Feature, configuring the cluster, etc...) I continued by running the "Advanced Cluster Preparation" installation in SQL Server 2008 R2.
During one of the initial steps (the one checking the Rules) I find that the "Not clustered or the cluster service is up and online" step fails...
Upon inspection of the details I see that the "machine is clustered, but the cluster is not online..." message
I can even do a fail-back on the drives and a fail-over with no problem. I also ran the Validation report and everything came back green...
Any ideas of what could I be missing?
From bootstrap log I can see, the yellow part you have highlighted.
The given key was not present in the dictionary.
Now this is a clue we have to focus upon. So does this means the installation is trying to look for some key and is not able to find it and hence this message. Well this may not be as simple as it seems. This Blog says that this may be because
the **password** of the account by which you are logged in to the windows server is not of 15 characters. The same has been highlighted into this MS KB Article.
There are 3 resolution mentioned I have highlighted the easiest one.
To resolve the problem, select the method that best fits your situation.
Method 1: Use a password that is at least 15 characters long When the NoLMHash policy is set in Active Directory and cannot be disabled because of security considerations, use a password that is at least 15 characters long to prevent the cluster setup wizard from using a LMHash for authentication.
Method 2: Enable the storage of LMHash in Active Directory Enable the storage of LMHash of a user password by using Group Policy in Active Directory. To do this, follow these steps: In the Default Domain Controllers Group Policy, expand Computer Configuration, expand Windows Settings, expand Security Settings, expand Local Policies, and then click Security Options. In the list of available policies, double-click Network security: Do not store LAN Manager hash value on next password change. Click Disabled, and then click OK. Make sure that the policy is replicated and is applied. Reset the password of the CSA (length may be less than 15 characters) to make sure that the LMHash is written to SAM/AD.
Method 3: Install a hotfix A hotfix is available from Microsoft to resolve this problem so that fifteen-character passwords are not required when the NoLMHash policy is set in Active Directory. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
890761 You receive an "Error 0x8007042b" error message when you add or join a node to a cluster if you use NTLM version 2 in Windows Server 2003
Last Updated: Jan 8, 2017 Please check the password length and if it is less than 15 character change it to like 16 character and then again do the installation.
You may need to install at least Service Pack 2 or higher of SQL Server 2008 R2 on Windows Server 2012 R2. I would suggest you to install the latest Service Pack 3. You can get the installer here. Slipstream your installer to SP3. This guide will help you on how to slipstream.
You can also read this KB Article for OS and SQL Server Version Compatibility.
Edit (to complete my answer with the following solution based on the KB):
Minimum SQL Server version requirements for Windows Server 2012 R2 or Windows 8.1
For SQL Server 2008 R2 You must apply SQL Server 2008 R2 Service Pack 2 or a later update.
Issue: The "Cluster Service verification" rule fails when you try to install a SQL Server 2008 R2 failover cluster instance
When you try to install a SQL Server 2008 R2 failover cluster instance, the installation fails at the "Cluster Service verification" Rule.
This issue occurs if the COM-based MSClus.dll library is not enabled.
Note The SQL Server 2008 and SQL Server 2008 R2 cluster Setup programs depend on the COM-based MSClus.dll library. If this library is not enabled on the cluster node, the Setup fails.
To resolve this issue, do one of the following:
Enable the Failover Cluster Automation Server feature on each node by using Server Manager. In Server Manager, expand Remote Server Administration Tools, expand Feature Administration Tools, expand Failover Clustering Tools, and then click to select Failover Cluster Automation Server.
Run the following Windows PowerShell cmdlet on each node to enable the Failover Cluster Automation Server feature: add-windowsfeature RSAT-Clustering-AutomationServer Note You must run this cmdlet at an elevated command prompt.
So, finally after more investigation I found the right post explaining my problem and the solution.
It turns out the article was the one that dco pointed out. The thing is this: the problem I was experiencing was not solved with the slipstreaming technique (the install with SP2) but with other thing mentioned there further down the road (Issue 2: The "Cluster Service verification" rule fails when you try to install a SQL Server 2008 R2 failover cluster instance).
Turns out I had to enable the "Failover Cluster Automation Server" Feature in my Windows 2012 R2 boxes.
Thanks everybody for your help on this matter, especially dco for pointing me to that website. Since the resolution that dco offered (slipstreaming with SP 3) was not the solution to my problem I did not accepted that one as the answer (so that future searches with other people looking to fix this same problem don't end up on a wild goose chase).