ENTERPRISE

Exchange Server 2010 : Day-to-day DAG management and operations (part 3) - Investigating DAG problems & Managing DAG properties

10/3/2011 9:17:25 AM

2. Investigating DAG problems

All of the activities performed by DAG maintenance operations are captured in log files stored in the \ExchangeSetupLogs\Dagtasks directory. Each log file is named “DagTask” plus the date and time when the task was performed, so it’s easy to find the relevant file. Take a look at the following two extracts of example DAG log files. The first reports the creation of a new DAG.

new-databaseavailabiltygroup started on machine EXSERVER1.
[2009-10-07T09:16:10] new-dag started
[2009-10-07T09:16:10] commandline: $scriptCmd = {& $wrappedCmd
@PSBoundParameters }
[2009-10-07T09:16:10] Option 'Name' = ''.
[2009-10-07T09:16:10] Option 'WitnessServer' = 'AD-SERVER12.CONTOSO.COM'.
[2009-10-07T09:16:10] Option 'WitnessDirectory' = 'c:\FSW\DublinDag'.
[2009-10-07T09:16:10] Option 'WhatIf' = ''.
[2009-10-07T09:16:21] New-DatabaseAvailabilityGroup passed the initial checks.
[2009-10-07T09:16:22] New-DatabaseAvailabilityGroup completed successfully.
new-databaseavailabiltygroup explicitly called CloseTempLogFile().


The second shows that Exchange detected that Windows Failover Clustering was not installed on a server when it was added to a DAG, so Exchange went ahead and installed the component on the server.

[2009-10-07T09:57:49] Updated Progress 'Adding server 'EXSERVER1' to database
availability group 'DAG-Dublin'.' 6%.
[2009-10-07T09:57:49] Working
[2009-10-07T09:57:49] Updated Progress 'The task is installing the Windows
Failover Clustering component on the server EXSERVER1.' 8%.
[2009-10-07T09:57:49] Working
[2009-10-07T10:06:37] The following log entry comes from a different process,
run on machine EXSERVER1'. BEGIN
[2009-10-07T10:06:37] [2009-10-07T09:57:50] Updated Progress 'The task is
installing the Windows Failover Clustering component on the server
exserver1.' 2%.
[2009-10-07T09:57:50] Working
[2009-10-07T10:06:36] Updated Progress 'The task has installed the Windows
Failover Clustering component.' 4%.


The system event log is also a useful source of information if you need to track down the source of a problem and in particular, the crimson events logged for the high-availability channel are often revealing about what happens in terms of Active Manager . More detailed cluster-related logging is captured in the Windows\Cluster\Reports directory. This information is pretty verbose but could hold the key to some of the more esoteric issues that occur from time to time. One way to limit the mass of data in the logs that you have to review is to attempt to correlate it with any event log entries that seem to be related to the problem.

3. Managing DAG properties

After the DAG is created, you can alter its properties to meet operational requirements using EMC or the shell. You need to be a member of the Organization Management role group to be able to modify DAG properties, which are listed in Table 1.

Table 1. DAG properties
PropertyUse
FSW share (WitnessServer)Path for the share used by the FSW
FSW directory (WitnessDirectory)Name of the directory used by the FSW
Alternate FSW share (AlternateWitnessServer)Path for an alternate FSW
Alternate FSW directory (AlternateWitnessDirectory)Name of an alternate directory used by the FSW
Network encryption (NetworkEncryption)Disabled: No encryption of data on the DAG network

Enabled: Encryption used for replication and seeding

InterSubnetOnly: Encryption used on DAG networks in the same subnet

SeedOnly: Encryption only used for database seeding
Network compression (NetworkCompression)Disabled: No compression

Enabled: Compression used for replication and seeding

InterSubnetOnly: Compression used for DAG networks on the same subnet

SeedOnly: Compression only used for database seeding
Replication port (ReplicationPort)TCP port used for replication activity; if you change this value from the default (64327), make sure that you also make the necessary change on any firewall that is in place to allow replication traffic to pass through the open port
IP addresses (DatabaseAvailabilityGroupIpAddresses)IP addresses for the subnets used by the Windows failover cluster that underpins the DAG

You can use the Set-DatabaseAvailabilityGroup cmdlet to update DAG properties through EMS (only some of these properties are available through EMC). For example, this command manipulates a number of DAG properties:

Set-DatabaseAvailabilityGroup -Identity 'DAG-Dublin' -WitnessServer
'ExHT1.contoso.com' -WitnessDirectory 'D:\DUBDAG' -AlternativeWitnessServer
'ExHT22.contoso.com' -AlternativeWitnessDirectory 'D:\DUBDAG'
-ReplicationPort 33998 -NetworkEncryption SeedOnly -NetworkCompression Disabled
-DatacenterActivationMode Disabled


Note that the two alternate FSW properties are only required when a DAG extends across multiple datacenters.

By default, DAG network traffic is not encrypted or compressed unless it is replicating across different subnets. The NetworkCompression and NetworkEncryption properties of the DAG are therefore set to InterSubNetOnly. It’s easy to change these values, as they are both properties of the DAG. As such, the values that you assign apply to all traffic between all members and cannot be altered for individual servers. Table 1 includes the available options that you can set for DAG encryption. For example, this command enables compression and encryption for all traffic within a DAG:

Set-DatabaseAvailabilityGroup -Identity 'DAG-Dublin' -NetworkCompression Enabled
-NetworkEncryption Enabled



Note:

Exchange doesn’t introduce any new code to encrypt its intra-DAG communications. Instead, it uses the facilities made available in Windows, specifically the Windows Kerberos security support provider (SSP). This module contains routines that allow applications to encrypt, decrypt, sign, and verify the data contained in messages sent between application components such as DAG members. When two DAG members communicate, they each act as an endpoint and begin the connection with a handshake and key exchange. Once the connection is set up, encrypted traffic flows across it that can be decrypted by both members.

Exchange 2010 also supports compression for intra-DAG communications based on the LZ77 algorithm. Once again, a familiar algorithm is reused as LZ77 (otherwise known as XPRESS) is deployed to protect MAPI RPCs flowing between Outlook and Exchange.


You can use the Get-DatabaseAvailabilityGroup cmdlet to review the properties of a DAG. For example:

Get-DatabaseAvailabilityGroup -Identity 'DAG-Dublin' | Format-List

You might arrive at a situation where you want to change the location of the FSW. Perhaps the server is unavailable for some reason or it is more productive to relocate the FSW to another server. In this case, you can use the Set-DatabaseAvailabilityGroup cmdlet to update the properties for the FSW. This example command moves the FSW to a server called ExServer22 (which cannot be a member of the DAG) and specifies a directory on that server to host the resource:

Set-DatabaseAvailabilityGroup -Identity 'DAG-Dublin' -WitnessServer
'ExServer22.contoso.com' -WitnessDirectory 'C:\FSW\DublinDAG'

Moving the FSW should only ever be attempted when the DAG is healthy and the FSW is not actively in use to maintain quorum.

 
Other  
  •  Exchange Server 2010 : Day-to-day DAG management and operations (part 2) - Building the DAG
  •  Exchange Server 2010 : Day-to-day DAG management and operations (part 1)
  •  SharePoint 2010 : Security - Secure Store Service & Using SSS with BCS
  •  SharePoint 2010 : Security - Claims Based Authentication
  •  Exchange Server 2010 : Unique database names
  •  Exchange Server 2010 : Transaction log replay: The foundation for DAG replication
  •  Exchange Server 2010 : Active Manager - Automatic database transitions & Best copy selection
  •  Exchange Server 2010 : Breaking the link between database and server
  •  SharePoint 2010 : PerformancePoint Services (part 2) - Using PerformancePoint
  •  SharePoint 2010 : PerformancePoint Services (part 1) - PerformancePoint Central Administration Settings
  •  Windows System Programming : Example: Listing File Attributes & Setting File Times
  •  Windows System Programming : File Attributes and Directory Processing
  •  Windows System Programming : File Pointers & Getting the File Size
  •  SharePoint 2010 : Business Intelligence - Excel Services (part 2) - Accessing Excel Services Over SOAP
  •  SharePoint 2010 : Business Intelligence - Excel Services (part 1) - Accessing Excel Services Over REST
  •  SharePoint 2010 : Business Intelligence - Visio Services
  •  Exchange Server 2010 : Perform Essential Database Management (part 3) - Manage Database Settings
  •  Exchange Server 2010 : Perform Essential Database Management (part 2) - Manage the Transaction Log Files
  •  Exchange Server 2010 : Perform Essential Database Management (part 1) - Manage the Database Files
  •  Architecting Applications for the Enterprise : UML Diagrams (part 3) - Sequence Diagrams
  •  
    Video
    Top 10
    Exchange Server 2010 : Day-to-day DAG management and operations (part 4) - DAG networks
    Exchange Server 2010 : Day-to-day DAG management and operations (part 3) - Investigating DAG problems & Managing DAG properties
    Exchange Server 2010 : Day-to-day DAG management and operations (part 2) - Building the DAG
    Exchange Server 2010 : Day-to-day DAG management and operations (part 1)
    Windows 7 : Windows Driver Foundation Architecture (part 4) - Tools for Development and Testing
    Windows 7 : Windows Driver Foundation Architecture (part 3) - Driver Frameworks
    Windows 7 : Windows Driver Foundation Architecture (part 2) - Integrated I/O Queuing and Cancellation
    Windows 7 : Windows Driver Foundation Architecture (part 1)
    SharePoint 2010 : Security - Secure Store Service & Using SSS with BCS
    SharePoint 2010 : Security - Claims Based Authentication
    Most View
    SQL Server 2008 : Transact-SQL Programming - TOP Enhancements
    Windows Server 2008 : DHCP/WINS/Domain Controllers - Reviewing the Windows Internet Naming Service (WINS)
    Exchange Server 2007: Design and Deploy Disaster Recovery Settings - Work with Recovery Storage Groups
    Programming the Mobile Web : WebKit CSS Extensions (part 1) - WebKit Functions & Gradients
    Administering Code-Access Security: Using the .NET Framework Configuration Tool
    iPhone Application Development : Creating a Navigation-Based Application
    .NET security : Administering Isolated Storage
    SQL Server 2008 : Performing Nonlogged DML Operations
    Joomla! Blogging and RSS Feeds : Commenting anyone?
    Exploring Sample Virtualized SharePoint 2010 Architecture
    SQL Server 2008 : Working with Multiple-Source Queries - OpenQuery, OpenRowSet, and OpenDataSource Explained
    Making the Best Use of SAN/NAS Disks with Exchange Server 2010
    Configuring Program Compatibility in Vista
    Programming Microsoft SQL Server 2005 : An Overview of SQL CLR - CLR Triggers
    Microsoft XNA Game Studio 3.0 : Displaying Images - Using Resources in a Game (part 2) - Positioning Your Game Sprite on the Screen
    Windows Vista Services that You Need Understand
    Business Intelligence in SharePoint 2010 with Business Connectivity Services : External Content Types (part 1)
    Mobile Application Security : WebOS Security - Permissions and User Controls
    ASP.NET AJAX : Partial Refreshes (part 2) - Handling Errors
    jQuery 1.3 : Modifying table appearance (part 1) - Row highlighting