Search Service Cluster Edition

Windows Server File Services is a classic well known Service form Microsoft. If you use the Search bar on the top of every Windows Explorer Window since Windows 7, your fileserver will respond very fast with an result, but only if Search Service is installed. If not, you’ll see a slow and long time working search, that displays one file found aftern another.

Setup Steps

If you follow this order of steps, you’ll have success:

  • Configure Search Service as described below
  • Move Clustered File Server with all Drives to the other Node
  • Configure Search Service on other Node(s)
  • Setup Clustered Service (details at the end of article)

Here are the detailed configuration steps:

Search Service Configuration

Because Search Index can be used for multiple drives of a file server / cluster, we will use an additional, clustered Drive using letter S. The following configuration steps must be dont on both cluster nodes individually, while the file server cluster role is active on that node.

  • Create folder S:\Search, if it doen’t already exist
  • Stop service “Windows Search” and set startup type to “manual”

To force windows to use the new search index location also after a index reset, the following registry key must be modified.

HKLM\Software\Microsoft\Windows Search\
DataDirectory -> S:\Search\Data\
DefaultDataDirectory -> S:\Search\Data\

  • start Service „Windows Search“
  • check folder content: die search put in some files here?

Now we configure the folders to be indexed. The easiest way would be using the GUI in control panel. For easy access, just create a desktop icon for this command:

control /name Microsoft.IndexingOptions

  • click on “modify” to de-select existing indexed locations
  • add all to-be-indexed shares
  • stop Windows Search Service

Configuration complete – on this node. Now the same steps are required on the other node too.

Setup Clustered Generic Service

After configuring both Nodes with the steps above, we can create a Clustered Generic Service for Windows Search.

  • start Failover Cluster Manager
  • Add a “Generic Service” under your fileserver’s Role
  • Open Properties of the new Service and add a Dependency for Drive S:
  • right-click on the Search Service and choose “bring online” to start
  • test if Failover works by doing Failover and re-check the Search Configuration

Done.

Sources:

Advertisements

Install a Server 2012 Failover Cluster (with SQL Server)

Last week my colleagues and I tried to install a failover cluster on Server 2012. It wasn’t the first time, but this time we did it for an upcoming production SQL Server Installation. Here are some hint’s you should consider and steps you must go trough when setting up a cluster.

Naming Convention for this Article

Nodes: SRV01c1, SRV01c2
Cluster Name: SRV01Win
SQL Cluster Name: SRV01

Preparation Checklist

Computer Accounts for the Cluster, on…

…Server 2008:

  • DO NOT PREPARE accounts for the cluster
  • just move them to the right OU afterwards

…Server 2012

  • Prepare AD Accounts like SRV01, SRV01win, SRV01dtc, SRV01c1, SRV01c2
  • disable the prepared accounts in AD
  • logged on user must have full rights on accounts to join domain

Additional Steps

  • get IP addresses, one for each hostname

Installation Checklist

  • Install Windows 2012 on SRV01C1 and SRV01c2
  • connect DTC & Quorum disks to c1 & c2
  • Validate Cluster, check things and details like Network Adapter bindings and order
  • create Cluster SRV01win using Failover Management GUI
  • set Quorum to Node & Disk majority (make sure you’re using the right disk for that)
  • if necessary, install DTC (you only need that for active/active clustering)
  • check Eventlog for errors and solve them

ISSUE: DNS FQDN missing / could not register

After setting up the Windows Failover Cluster using the Failover Clustering Feature GUI, the Installation ended successfully but we weren’t able to ping the Host SERVER-WIN. Everythin seemed to be okay, but Eventlog listed this errors:

*** ERROR1: Eventid 1228 ***

Cluster network name resource ‘Cluster Name’ encountered an error enabling the network name on this node. The reason for the failure was: ‘Unable to obtain a logon token’. The error code was ‘1326’.

You may take the network name resource offline and online again to retry.

*** ERROR2: Eventid 1196 ***

Cluster network name resource ‘Cluster Name’ failed registration of one or more associated DNS name(s) for the following reason: The handle is invalid. .

Ensure that the network adapters associated with dependent IP address resources are configured with at least one accessible DNS server.

*** ERROR3: Eventid 1205 ***

The Cluster service failed to bring clustered service or application ‘SQL Server (MSSQLSERVER)’ completely online or offline. One or more resources may be in a failed state. This may impact the availability of the clustered service or application.

After troubleshooting a while and asking Google various questions, we tried to solved that using ipconfig /registerdns on the active node. This didn’t help, but some minutes later we found that there’s a quick and easy way to let Windows re-try the IP registration by just telling the Cluster GUI “repair” on the Host’s name:

2-25-2013 9-33-49 AM

Set up SQL Server

  • start SQL Setup from installation media / ISO file
  • do not install SQL as usual, choose the cluster installation option
  • Provide setup neccessary information like Clustername “SRV01”, IP and the Features you want to install
  • if everything is successful, repeat the installation on node 2; setup will now detect the installed features and repeat the installation the same way as on node 1

Setup Test Cluster using VM’s

If you’re planning to setup a Cluster, you maybe like to test everything first. There’s a VMware setup guide on Windows Clustering using VM’s in vSphere [1] and their limitations [2]. If you decide to prepare a test environment with two VM’s, consider the following advantages and disadvantages.

Advantage

  • no additional SAN Storage / LUN needed
  • no extra SCSI connection must be built up
  • works the same way like real

Disadvantage

  • VM’s using physical SCSI are not able to be vMotion’ed to another Host

Sources:

[1] Microsoft Cluster Service (MSCS) support on ESXi/ESX

[2] Microsoft Clustering on VMware vSphere: Guidelines for Supported Configurations

HowTo configure the CAU Cluster Role

Windows Server 2012 (currently only available as a preview version) now supports “Cluster Aware Updating” (CAU). This means you only need to click on Update Cluster and the CAU-Tools takes care of updating the cluster including failing-over the services, installing updates and rebooting the servers.

Feature Description:

  • Puts each node of the cluster into node maintenance mode
  • Moves the clustered roles off the node
  • Installs the updates and any dependent updates
  • Performs a restart if necessary
  • Brings the node out of maintenance mode
  • Restores the clustered roles on the node
  • Moves to update the next node

Source: http://technet.microsoft.com/en-us/library/hh831694.aspx

Installation
This Feature can be used in two ways: Self Updating Mode and Remote Updating Mode. All the functionality is available together with the Windows RSAT Feature “Failover Clustering Tools”.

Self-updating mode
If you enable self-updating, it will be configured as additional Workload on the Failover Cluster and starts based on a configured schedule.

Create an additional Computer account
Before you start, you must create an additional computer account for the Cluster, lets call it “SERVER01CAU” here. This account is needed for CAU to run as Workload on the Cluster. Edit the security settings in Active Directory on this account and add the Cluster’s own Computer account as User with full rights. In my case it’s “SERVER01Win$”.

This isn’t documented yet anywhere on Microsoft’s Technet pages, but if you don’t create the AD Computer account you’ll get error messages and the configuration fails. In the Cluster’s Eventlog, you’ll then see error messages telling you that the cluster haven’t had enough rights to create an AD account.

Configuration using the GUI
To configure self-updating use the “Cluster-Aware Updating” from the Administrative Tools. If you have installed server core (recommended) you must use the PowerShell command, the GUI is not available.

Picture(1) – Cluster-Aware Updating GUI
Picture(2) – CAU Configure cluster self-updating options

Configuration using PowerShell Command
To configure self-updating using PowerShell, you can use the “Set-CauClusterRole” cmdlet. Hint: You can use another server / workstation with RSAT installed to generate the PowerShell command if you use the GUI Assistant. The PowerShell command that will configure the Cluster is displayed in the details before you click Finish.

Set-CauClusterRole -ClusterName SERVER01Win-Force -CauPluginName WindowsUpdateAgent -MaxRetriesPerNode 3 -CauPluginArguments @{ ‘IncludeRecommendedUpdates’ = ‘False’ } -StartDate “06/11/2012 03:00:00” -DaysOfWeek 127 -IntervalWeeks 1;Enable-CauClusterRole -ClusterName SERVER01Win -Force -ConfigurationName SERVER01CAU;

When you let Windows configure self-updating using both ways, GUI and PowerShell, this will install a workload on the destination Failover Cluster and runs based on the schedule provided at configuration time.

The workload is not visible on the Failover Cluster GUI, but you can display it using the following command:

Get-ClusterResource -Cluster SERVER01Win

You get a list of all resources on your Cluster where the resource “ClusterAwareUpdatingResource” is the new self-updating Workload.

PS > Get-ClusterResource -Cluster SERVER01Win | ? {$_.ResourceType -like “*Updating*”} | Ft -Auto

Name                State  OwnerGroup  ResourceType
—-                —–  ———-  ————
CAUSERVEfw8Resource Online CAUSERVEfw8 ClusterAwareUpdatingResource

Remote-updating mode
This mode does not install anything additional on the Cluster or the nodes, but needs another Server running to issue the commands or run the PowerShell scripts that trigger the Update mechanism. This third Machine is called “Update Coordinator” and only needs the CAU Tools installed (RSAT Failover Clustering Tools).

You can either use the same GUI as you see on Screenshot (2) to Apply updates and let the computer you’re using coordinate the Update installation process. Or you use the following PowerShell cmdlet:

Invoke-CauRun -ClusterName SERVER01Win -Force -CauPluginName WindowsUpdateAgent -MaxRetriesPerNode 3 -CauPluginArguments @{ ‘IncludeRecommendedUpdates’ = ‘False’ };

So because this can also be invoked using a script during the night, you have the option if you prefer to install the CAU using self-updating Cluster Feature