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:

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

Cluster Shared Volumes (CSV)

Server 2008 R2 / 2012 came with a new failover Cluster feature called Cluster Shared Volumes (abbrev: CSV). This is a new feature that enables accessing a LUN from multiple a Windows Failover Cluster Nodes at the same time.  In past, this was not possible on Windows Failover Clusters.

Lets take a look on to the details.

Advantages

  • all nodes in a cluster can access the LUN at the same time, no failover needed
  • if a node’s storage connection fails / has issues, the node can send the write/read requests over LAN to another Node to write/read the needed stuff for him (“The cluster will re-route the communication through an intact part of the SAN or network”, Technet [1] )

Disadvantages

  • From Technet: “Be sure to review carefully what your backup application backs up. Also, for management operating-system based backup, ask your backup application vendor about the compatibility of your backup application with Hyper-V and with Cluster Shared Volumes.” [3]
  • a MUST for Hyper-V, but no advantage for Applications that don’t run more than one instance on the same volume at the same time (e.g. SQL failover cluster, one instance, two servers)
  • NOT SUPPORTED for SQL Server clustered Workloads [4]

Manuals

add storage to Clustered Shared Volumes in Windows Server 2012

Sources

[1] Understanding Cluster Shared Volumes in a Failover Cluster
[2] Recommendations for Using Cluster Shared Volumes in a Failover Cluster
[3] Backing Up Cluster Shared Volumes

[4] Use Cluster Shared Volumes in a Windows Server 2012 Failover Cluster

.

Some Notes to SQL and Performance

Some months ago, I tried to start a own Wiki site to maintain Know-How. Unfortunately I stopped filling it with updates as soon as I started this Blog 🙂

To not loose the small but interesting Knowledge, I want just put it in here:

RAID Layouts

Dell uses only a 2-Disk RAID1 LUN for Database Logfiles, while using a 10-Disk RAID10 for Database.

Performance Tests

There are three basic parameters to alter when running the I/O tests: block size, read/write, and serial/random. For SQL Server, the minimum tests to run are 8-KB and 64-KB block sizes, both serial and random, and both read and write. Most of the ratings you find on the Web are stated in throughput of bytes/sec for the 64-KB serial read test (which gives the highest throughput rating). A value of over 250 MB/sec per core for today’s computers is typically sufficient.

external Links

Scaling Up Your Data Warehouse with SQL Server 2008
Performance of SQL Server 2005 on ESX Server 3.5 

Benchmark Tools

SQLIO Disk Subsystem Benchmark Tool www.microsoft.com
IOmeter Project www.iometer.org