DataKeeper for Windows
v7.4
Technical Documentation

April 2012

This document and the information herein is the property of SIOS Technology Corp. (previously
known as SteelEye® Technology, Inc.) and all unauthorized use and reproduction is prohibited. SIOS
Technology Corp. makes no warranties with respect to the contents of this document and reserves
the right to revise this publication and make changes to the products described herein without priornotification. It is the policy of SIOS Technology Corp. to improve products as new technology,
components and software become available. SIOS Technology Corp., therefore, reserves the right tochange specifications without prior notice.
LifeKeeper, SteelEye and SteelEye DataKeeper are registered trademarks of SIOS Technology
Corp.
Other brand and product names used herein are for identification purposes only and may be
trademarks of their respective companies.
To maintain the quality of our publications, we welcome your comments on the accuracy, clarity,organization, and value of this document.
Address correspondence to:
ip@us.sios.com
Copyright © 2012
By SIOS Technology Corp.
San Mateo, CA U.S.A.
All rights reserved

Table of Contents
Chapter 1: Introduction

1

SteelEye DataKeeper Overview

1

Features1

User Interface

2

SteelEye DataKeeper User Interface

2

DataKeeper with High Availability - Cluster Edition Overview

3

DataKeeper Components

3

DataKeeper Service Log On ID and Password Selection

4

Understanding Replication

7

How SteelEye DataKeeper Works

7

Administrative User Requirements

8

User Accounts and Domain Considerations

8

SteelEye DataKeeper Intent Log

9

Non-Shared Volumes

9

Shared Volumes

9

SteelEye DataKeeper Resynchronization

9

Initial Creation of a Mirror

10

Example: Whitespace Elimination

10

Synchronous and Asynchronous Mirroring

10

Synchronous Mirroring

10

Asynchronous Mirroring

12

Mirror PAUSED

14

Mirror RESYNCING

15

Read and Write Operations

16

Volume Considerations

17

Table of ContentsiWhat Volumes Cannot be Mirrored

17

Volume Size Considerations

18

Specifying Network Cards for Mirroring

18

Dedicated LAN for Replication

18

Performance Monitor Counters

18

Mirror State Counters

19

Mirror Elapsed Time19

Mirror State

19

Mirror Type20

Network Number of Reconnects

20

Write Queue Counters
Queue Current Length

20

Queue High Water

20

Queue Low Water

21

Resynchronization Control Counters

ii

20

21

Resync Current Block21

Resync Dirty Blocks

21

Resync Elapsed Time

21

Resync New Writes

22

Resync Pass

22

Resync Total Blocks

22

Resync Phase

22

Chapter 2: Installation

26

Install and License SteelEye DataKeeper Standard Edition

26

Installation Overview

26

Obtaining and Installing the License

26

License Key Manager

27

Primary Network Interface Change May Require a License Rehost

29

Subscription Licensing

29

Troubleshooting

30

Table of Contents

Silent Installation of SteelEye DataKeeper

30

Third Party Product Files

31

Application Directory Anomaly

32

Uninstalling SteelEye DataKeeper

32

Upgrading SteelEye DataKeeper

33

Upgrading the Target Server

33

Upgrading the Original Source Server

33

Upgrading from SteelEye Data Replication v6.2x to DataKeeper

34

Upgrade Procedure

34

Repair34

Chapter 3: Configuration

35

Configuration Requirements/Considerations

35

Sector Size

35

Network Bandwidth

35

Determine Network Bandwidth Requirements

35

Measuring Rate of Change

36

Network Adapter Settings

36

User Accounts and Domain Considerations

37

Firewall Configurations

38

Configuring Microsoft's Windows Firewall with Advanced Security - Example

39

WAN Considerations

42

Initial Synchronization of Data Across the LAN or WAN

42

Verifying Data on the Target Volume

44

Compression

45

Bandwidth Throttle

45

Chapter 4: Administration

47

Primary Server Shutdown

47

Secondary Server Failures

47

Extensive Write Considerations

47

CHKDSK Considerations

47

Table of Contentsiii

Event Log Considerations

48

Using Disk Management

48

Registry Entries

48

Registry Entries that MAY be Modified

48

Registry Entries that SHOULD NOT be Modified

51

Using EMCMD with SteelEye DataKeeper

57

Mirror State Definitions

58

BREAKMIRROR

58

EMCMD <system> BREAKMIRROR <volume letter> [<targetsystem>]

58

CHANGEMIRRORENDPOINTS

58

EMCMD <system> CHANGEMIRRORENDPOINTS <volume letter> <old target IP> <newsource IP> <new target IP>
58
1x1 Mirror CHANGEMIRRORENDPOINTS Command Example

59

2x1 Mirror CHANGEMIRRORENDPOINTS Command Example

60

1x1x1 Mirror CHANGEMIRRORENDPOINTS Command Example

61

CLEARASR_OK

62

EMCMD <system> CLEARASR_OK <volume> [<target_ip>]

62

CLEARSWITCHOVER

62

EMCMD <system> CLEARSWITCHOVER <volume letter>

62

CONTINUEMIRROR

63

EMCMD <system> CONTINUEMIRROR <volume letter> [<target system>]

63

CREATEJOB

63

EMCMD <system> CREATEJOB <JobName> <Description><SysName1> <DrvLetter1><IP1> <SysName2><DrvLetter2> <IP2> <MirrorType> ...
63

iv

CREATEMIRROR

63

EMCMD <system> CREATEMIRROR <volume letter> <target system> <type> [options]

63

DELETEJOB

64

EMCMD <system> DELETEJOB [<JobId>]64

DELETELOCALMIRRORONLY

64

EMCMD <system> DELETELOCALMIRRORONLY <volume letter>[<target system>]64

DELETEMIRROR

65

Table of Contents

EMCMD <system> DELETEMIRROR <volume letter> [<target system>]

65

GETASR_OK

65

EMCMD <system> GETASR_OK <volume letter> <target_ip>

65

GETCOMPLETEVOLUMELIST65

EMCMD <system> GETCOMPLETEVOLUMELIST65GETCONFIGURATION

66

EMCMD <system> GETCONFIGURATION <volume letter>66

GETEXTENDEDVOLUMEINFO

67

EMCMD <system> GETEXTENDEDVOLUMEINFO <volume letter>

67

GETJOBINFO

67

EMCMD <system> GETJOBINFO [<JobId>]

67

GETJOBINFOFORVOL

67

EMCMD <system> GETJOBINFOFORVOL <DrvLetter>[<FullSysname>|<IP>]

67

GETMIRRORTYPE

68

EMCMD <system> GETMIRRORTYPE <volume letter>68

GETMIRRORVOLINFO

68

EMCMD <system> GETMIRRORVOLINFO <volume letter>

68

GETREMOTEBITMAP69

EMCMD <system> GETREMOTEBITMAP <volume letter> <targetsystem> <local file>

69

GETRESYNCSTATUS

69

EMCMD <system> GETRESYNCSTATUS <volume letter>

69

GETSERVICEINFO

71

EMCMD <system> GETSERVICEINFO

71

GETSOURCEMIRROREDVOLUMES

71

EMCMD <system> GETSOURCEMIRROREDVOLUMES

71

GETTARGETMIRROREDVOLUMES

72

EMCMD <system> GETTARGETMIRROREDVOLUMES

72

GETVOLUMEDRVSTATE72

EMCMD <system> GETVOLUMEDRVSTATE <volume letter>72

GETVOLUMEINFO

73

Table of Contentsv

vi

EMCMD <system> GETVOLUMEINFO <volume letter> <level>

73

ISBREAKUSERREQUESTED

74

EMCMD <system> ISBREAKUSERREQUESTED <volume letter>

74

ISPOTENTIALMIRRORVOL

74

EMCMD <system> ISPOTENTIALMIRRORVOL <volume letter>74

LOCKVOLUME

75

EMCMD <system> LOCKVOLUME <volume letter>

75

MERGETARGETBITMAP

75

EMCMD <system> MERGETARGETBITMAP <volume letter> <target system>

75

PAUSEMIRROR

75

EMCMD <system> PAUSEMIRROR <volume letter> [<target system>]

75

PREPARETOBECOMETARGET

76

EMCMD <system> PREPARETOBECOMETARGET <volume letter>

76

READREGISTRY

76

EMCMD <system>READREGISTRY <volume letter>

76

REGISTERCLUSTERVOLUME

77

EMCMD <system> REGISTERCLUSTERVOLUME <volume letter>

77

RESTARTVOLUMEPIPE

77

EMCMD <system> RESTARTVOLUMEPIPE <volume letter>

77

RESYNCMIRROR

77

EMCMD <system> RESYNCMIRROR <volume letter> [<target system>]

77

SETASR_OK

78

EMCMD <system> SETASR_OK <volume> [<target_ip>]

78

SETCONFIGURATION

78

EMCMD <system> SETCONFIGURATION <volume letter><configuration mask>

78

STOPSERVICE80

EMCMD <system> STOPSERVICE

80

SWITCHOVERVOLUME

80

EMCMD <system> SWITCHOVERVOLUME <volume letter>

80

UNLOCKVOLUME

80

Table of Contents

EMCMD <system> UNLOCKVOLUME <volume letter>

80

UPDATEJOB

80

EMCMD <system> UPDATEJOB <JobId> <Name> <Descr>[<SysName1> <DrvLetter1><IP1> <SysName2><DrvLetter2> <IP2> <MirrorType>]...
80
UPDATEVOLUMEINFO

80

EMCMD <system> UPDATEVOLUMEINFO <volume letter>

80

Chapter 5: User Guide

83

Getting Started

83

Choose Your Configuration

83

Disk-to-Disk

83

One-to-One

85

One-to-Many (Multiple Targets)

86

Many-to-One

87

N-Shared-Disk Replicated to One

88

DataKeeper Standalone

89

DataKeeper & Failover Clustering

89

N-Shared-Disk Replicated to N-Shared-Disk

89

DataKeeper Standalone

90

DataKeeper & Failover Clustering

90

N-Shared-Disk Replicated to Multiple N-Shared-Disk Targets

91

DataKeeper Standalone

91

DataKeeper & Failover Clustering

92

Setting Up SteelEye DataKeeper

92

Connecting to a Server

92

Disconnecting from a Server

93

Creating a Job

93

Configuring Mirrors

93

Creating a Mirror

93

Creating the Mirror

94

Creating Mirrors With Shared Volumes

94

Safe Creation of a Shared-Storage Volume Resource

97

Table of Contents

vii

viii

Creating Mirrors With Multiple Targets

98

Switchover and Failover with Multiple Targets

99

Manual Switchover to a Target Server

100

Source Server Failure - Manual Switchover to a Target Server

101

Working with Jobs

102

Jobs

102

Renaming a Job

103

Deleting a Job

104

Reassigning a Job

104

Switching Over a Mirror

104

Requirements for Switchover

105

Working with Mirrors

105Managing Mirrors

105

Pause and Unlock

106

Continue and Lock

106

Partial Resync

106

Break

106

Resync107

Deleting a Mirror

107

DataKeeper Volume Resize

107

Non-Shared Volume Procedure

107

Shared Volume Procedure - Basic Disk

108

Error Handling:108

Restrictions

108

Mirror Properties

109

Changing the Compression Level of an Existing Mirror

110

Working with Shared Volumes

111

Managing Shared Volumes

111

Adding a Shared System

112

Removing a Shared System

113

Table of Contents

Using Hyper-V in a Non-Clustered Environment

113

Using SteelEye DataKeeper Standard To Provide Disaster Recovery For Hyper-V Virtual
Machines

113

Considerations

113

Preparing the Environment

113

Create and Configure a Hyper-V Virtual Machine

114

Install an Operating System and Any Required Applications in the Virtual Machine

117

Configure the Target Server to Run the Virtual Machine

117

Planned/Unplanned Switchover

121

Planned Switchover

121

Unplanned Switchover123

Switchback

124

Using Cluster Edition

124

Creating a DataKeeper Volume Resource in WSFC

124

Automatic Creation of a Mirror in WSFC

124

Manual Creation of a Mirror in WSFC

125

Extending a Traditional 2-Node WSFC Cluster to a Third Node via DataKeeper

126

Extending a Traditional 2-Node WSFC SQL Server Cluster to a Third Node via DataKeeper 141
Extending a Traditional 2-Node Cluster to a Shared-Replicated Configuration

156

Add a Shared Node Using Windows Server 2008 or 2008R2

156

Add a Shared Node Using Windows Server 2008R2 "SP1"

156

Using DataKeeper Cluster Edition to Enable Multi-Site Hyper-V Clusters

157

Using DataKeeper Cluster Edition to Enable Multi-Site File Share Resources with Windows
Server 2003 Microsoft Cluster Service
167
Replacing Physical Disk Resource in MSCS With DataKeeper Volume Resource

173

Split Brain Issue and Recovery

174

Recovery Procedure:

175

Switchover in an N-Shared x N-Shared Configuration

176

Switchover to a Shared Source Server

178

Switchover to the Current Target System

178

Switchover to a Shared Target System

179

Table of Contentsix

Failover179

Installing and Using DataKeeper Cluster Edition on Windows 2008 Server Core Platforms

179

Chapter 6: Frequently Asked Questionsx

184

Awareness of Windows Filenames and Directory Names

184

Question184

Answer184

Change Mirror Type184

Question184

Answer184

Change Mirror Endpoints

184

Question184

Answer185

Create a Mirror and Rename Job and Delete Job Actions Grayed Out

185

Question

185

Answer185

Data Transfer Network Protocols

185

Question

185

Answer185

Delete and Switchover Actions Grayed Out

185

Question

185

Answer185

Deleting a Mirror FAQ

186

Question

186

Answer186

Error Messages Log

186

Question

186

Answer186

Inability to Create a Mirror

186

Question

187

Answer

187

Table of Contents

Reclaim Full Capacity of Target Drive

187

Question

187

Answer187

Resize or Grow Mirrored Volumes

187

Question

187

Answer188

Stop Replication Between Source and Target

188

Question

188

Answer188

Using Volume Shadow Copy

188

Question

188

Answer188

Volumes Unavailable for Mirroring

189

Question

189

Answer189

Chapter 7: Troubleshooting

192

Known Issues and Workarounds

192

Access to Designated Volume Denied

192

Compatibility Issue with Symantec Endpoint Protection Version 12

192

Counter Logs Do Not Work on Windows 2003

194

Performance Monitor - Counter Logs Do Not Work on Windows 2003

194

Error/Message

194

Suggested Action

194

DataKeeper Volume Not Available as Cluster Resource Type194

Error/Message

194

Description

194

Suggested Action

195

Failed to Create Mirror

195

User Interface - Failed to Create Mirror - Application Event Log

195

Error/Message

195

Table of Contents

xi

xii

Description

195

Suggested Action

195

Hyper-V Host Cluster Error

195

Hyper-V Host Cluster Error When Attempting Change to Virtual Machine

195

Description

195

Suggested Action

196

MaxResyncPasses Value

196

Mirroring with Dynamic Disks

196

Suggested Action

196

New Resources Offline But Unlocked

196

WSFC Server - Newly Created Resources Appear Offline But Are Unlocked

196

Error/Message

196

Description

196

Suggested Action

196

System Event Log - Create Mirror Failed in the GUI

197

Error/Message

197

Description

197

Unable to Determine Previous Install Path

197

Installation - Fatal Error: Unable to Determine Previous Install Path

197

Error/Message

197

Description

197

Suggested Action

197

User Interface - Failed to Create Mirror

198

User Interface - Failed to Create Mirror, Event ID 137

198

Error/Message

198

Description

198

Suggested Action

198

User Interface - Shows Only One Side of the Mirror

198

WSFC - MS DTC Resource Failure

199

Error/Message

199

Table of Contents

Description

199

Suggested Action

199

WSFC 2008 R2 SP1 Procedure Change

199

Description

199

Suggested Action

199

WSFC Server

200

WSFC Server – Cluster Validation, Clustering SQL Server 2008200

Error/Message

200

Description

200

Suggested Action

200

Restrictions

201

CHANGEMIRRORENDPOINTS

201

Description:

201

Workaround:

201

CHKDSK

201

Description

201

DataKeeper Volume Resize Restriction

201

Directory for Bitmap Must Be Created Prior to Relocation

201

Description

201

Intensive I-O with Synchronous Replication

201

Description

201

Path Name Restriction

202

Description

202

Placement of Bitmap to Dynamic Disk Not Supported

202

Description

202

Index

203

Table of ContentsxiiiChapter 1: Introduction
SteelEye DataKeeper Overview
SteelEye DataKeeper is a highly optimized host-based replication solution which ensures your data
is replicated as quickly and as efficiently as possible from your source server across the network to
one or more target servers.
SteelEye DataKeeper Cluster Edition allows DataKeeper to integrate seamlessly with Microsoft
Windows Server 2008 Failover Clustering (WSFC) and Microsoft Windows 2003 Cluster Server(MSCS) to deploy geographically dispersed clusters. SteelEye DataKeeper provides the data
replication mechanism to extend a cluster across the network to a non-shared volume to provide acomplete high availability disaster recovery solution.

Features
Some of the features include the following:

DataKeeper for Windows1

User InterfacelSynchronous or Asynchronous block level volume replication.

lBuilt-in WAN optimization enabling SteelEye DataKeeper to fully utilize a high speed/highlatency network connection without the need for WAN accelerators.

lEfficient compression algorithms optimizing use of available bandwidth.

lIntuitive MMC 3.0 GUI.

User Interface
SteelEye DataKeeper User Interface
The SteelEye DataKeeper User Interface uses a standard MMC snap-in interface.

l

2

The left pane displays the Console Tree view. This includes the Jobs and Reports. Currently,
there are two reports available - Job Overview and Server Overview. The Job Overview

Overview

DataKeeper with High Availability - Cluster Edition Overview

report provides a summary of all the jobs on the connected servers. The Server Overview
report provides a summary of all the mirrors on the connected servers.
l

The middle pane is the Summary view. This includes information about the selected item.

l

The right column is the Actions view. This pane appears when activated through the View
menu. The options available from this pane are the same options available from the Action
menu. This column is divided into two sections. The Actions in the top section apply to thejob and every mirror within the job. The Actions in the bottom section apply only to theselected mirror.

l

At the bottom of the main window, three tabs appear: Mirror, Source Server and Target
Server. These tabs provide information on the mirror that has been selected.

DataKeeper with High Availability - Cluster Edition
Overview
SteelEye DataKeeper Cluster Edition is a highly optimized host-based replication solution which
integrates seamlessly with Microsoft Windows Server 2008 Failover Clustering (WSFC) andMicrosoft Cluster Server (MSCS). New features of Windows Server 2008 Failover Clustering, suchas cross-subnet failover and tunable heartbeat parameters, make it possible for administrators to
deploy geographically dispersed clusters. SteelEye DataKeeper provides the data replication
mechanism which extends Windows Server 2008 Failover Clustering, allowing administrators to takeadvantage of these advanced features to support high availability and disaster recovery
configurations.
SteelEye DataKeeper Cluster Edition is a separately licensed product. Once installed, a new storage
resource type called DataKeeper Volume is available in Microsoft Windows Server Failover
Clustering and Microsoft Windows Cluster Server. This new SteelEye DataKeeper Volume resource
can be used in place of the traditional Physical Disk shared storage resource to enable geographicallydispersed clusters..
Important Consideration: Prior to installing SteelEye DataKeeper Cluster Edition, your Microsoft
Windows Server Failover Cluster environment should be installed and created. This product requires
a SteelEye DataKeeper Cluster Edition License. SteelEye DataKeeper resource type registration
occurs 60 seconds after detecting a Failover Cluster configuration.

DataKeeper Components
SteelEye DataKeeper for Windows is comprised of the following components:l

DataKeeper Driver (ExtMirr.sys) - The DataKeeper Driver is a kernel mode driver and is
responsible for all mirroring activity between the mirror endpoints.

l

DataKeeper Service (ExtMirrSvc.exe) - The DataKeeper Service links the DataKeeper GUI
and Command Line Interface to the DataKeeper Driver. All commands to manipulate the mirror
are relayed through the DataKeeper Service to the DataKeeper Driver.
Important: Stopping the DataKeeper Service does not stop mirroring. Sending the driver a
PAUSE mirror, BREAK mirror or DELETE mirror command is the only way to interrupt
mirroring.

DataKeeper for Windows3

DataKeeper Service Log On ID and Password Selectionl

DataKeeper Service Log On ID and Password Selection - The DataKeeper Service Log
On ID and Password Selection allows you to select the type of account to be used to start theservice. Domain and Server account IDs with administrator privileges allow improved disasterrecovery when network disruptions occur.

lCommand Line Interface (EMCMD.exe) – There is an entire suite of EMCMD command
options that can be used to operate DataKeeper.

l

DataKeeper GUI (Datakeeper.msc) - The DataKeeper GUI is an MMC 3.0 (Microsoft
Management Console) based user interface which allows you to control mirroring activity andobtain mirror status.

l

Packaging files, LifeKeeper scripts, help files, etc.

The following diagram displays how the DataKeeper components interface with the NTFS file systemand each other to perform data replication.

DataKeeper Service Log On ID and Password Selection
During a new DataKeeper installation setup, the user will be prompted for a DataKeeper Service Log
On ID and Password.

4

Overview

DataKeeper Service Log On ID and Password Selection

The DataKeeper Service uses authenticated connections to perform volume switchovers and makemirror role changes across multiple servers. The Log On ID account chosen to run the DataKeeper
Service will determine how much authority and permission is available to establish connections
between servers and perform volume switchovers, especially when server or network disruptions
occur.
Several types of Service Log On ID accounts are available as follows:lA domain account with administrator privileges, valid on all connected servers in the domain(recommended)l

A server account with administrator privileges, valid on all connected serversl

The Local System account (not recommended)

Please note that the Local System account cannot be authenticated properly in a domain when
network connectivity with Active Directory is lost. In that situation, connections between servers
cannot be established with the Local System account causing DataKeeper volume switchovercommands, via the network, to be rejected. IT organizations requiring fault tolerance during a disasterrecovery, including network disruptions, should not use the Local System account.
DataKeeper Installation – Service Logon ID Type Selection:

If a Domain or Server account is selected above, the DataKeeper Service Log On ID and Password
Entry Form is displayed to enter that information.

DataKeeper for Windows5

DataKeeper Service Log On ID and Password Selection

If the DataKeeper Service has previously been configured with a Service Log On ID and Password,
the setup program will omit the Service ID and Password selection dialogs. However, at any time, anadministrator can modify the DataKeeper Service Log On ID and Password using the Windows
Service Applet. Be sure to restart the DataKeeper Service after changing the Log On ID and/or
Password.

6

Overview

Understanding Replication

Understanding Replication
How SteelEye DataKeeper WorksAt the highest level, DataKeeper provides the ability to mirror a volume on one system (source) to adifferent volume on another system (target) across any network. When the mirror is created, all dataon the source volume is initially replicated to the target volume, overwriting it. When this initialsynchronization (also referred to as a full resync of the data) of the volumes is complete, the target
volume is an exact replica of the source volume in terms of size and data content. Once the mirror isestablished, DataKeeper intercepts all writes to the source volume and replicates that data acrossthe network to the target volume.
Replication is performed at the block level in one of two ways:lSynchronous replicationlAsynchronous replication

In most cases, asynchronous mirroring is recommended because of the performance impact ofsynchronous mirroring.

DataKeeper for Windows7Administrative User Requirements

Administrative User Requirements
User Accounts and Domain Considerations
Because DataKeeper will be accessing volumes on both the local server and remote server, there areseveral requirements and recommendations to be aware of when running the DataKeeper Service andthe DataKeeper UI in single domain environments as well as mixed environments and Cluster Edition
environments.
The following table outlines these requirements:

Environment

DataKeeper Service
RequirementslSame DomainorTrusted Domain
EnvironmentlOkay to use the default =Local System AccountlCreate a local account oneach system with sameaccount name andpassword

Mixed Environment Servers
in a Mixture of Domain and
WorkGrouporServers in Separate
Domains

DataKeeper Cluster Edition
Environment

8

Overview

Run the DK Service on all
systems as the sameaccount with the same
credentialsl

Add this local account to
the Administrator Groupl

Run the DK Service on all
systems with the local
accountlCreate a local account oneach system with sameaccount name andpasswordl

Add this local account to
the Administrator Groupl

Run the DK Service on all
systems with this local
administrator account

DataKeeper UI Requirementsl

Log in as a domain admin
and run the DK GUIl

Or use “run as”
Administrator option to
run DK GUIl

Log in using the local
account you created to
run the DK Servicel

Run the DK GUIl

Log in using the local
administrator accountyou created to run the DKServicel

Run the DK GUI

SteelEye DataKeeper Intent Log

SteelEye DataKeeper Intent Log
SteelEye DataKeeper uses an intent log (also referred to as a bitmap file) to track changes made to
the source volume. This log, stored on the mirror source system, is a persistent record of write
requests which have not yet been committed to both servers.
The intent log gives SteelEye DataKeeper the ability to survive a source system failure without
requiring a full mirror resync after the recovery of the source server.
There is some performance overhead associated with the intent log, since each write to the volume
must also be reflected in the intent log file. To minimize this impact, it is recommended that the intent
logs be stored on a physical disk that is not involved in heavy read or write activity.

Non-Shared Volumes
By default, this intent log feature is enabled, and the intent log files are stored in a subdirectory called"Bitmaps" under the directory where SteelEye DataKeeper was installed.
Do not attempt to change the location of the intent log associated with an existing mirror. Changing
the location of the intent log must be done before the mirror is created. To create the intent log file in a
directory other than the default location, set the BitmapBaseDir registry entry to a directory where
SteelEye DataKeeper will create the file.
To disable the intent log feature, clear the BitmapBaseDir registry entry (set it to an empty string).
Keep in mind that if this feature is disabled, a full resync will be performed in the event of a source
system failure.

Shared Volumes
When replicating shared volumes, the intent log files are stored in a subdirectory called"ReplicationBitmaps" on the replicated volume itself. This is necessary to allow switchover to theother shared source servers without resulting in a full resync of the data.
SIOS does not recommend relocating intent logs from their default locations.

SteelEye DataKeeper Resynchronization
SteelEye DataKeeper performs resynchronization through the use of a bitmap file (intent log). It
allocates memory that is used to keep track of "dirty" or "clean" blocks. When a full resync begins,
SteelEye DataKeeper initializes the bit for each block that is in use by the file system to 1 ("dirty"),indicating that it needs to be sent to the target system. A full resync occurs at the initial creation of amirror and during the resync operation after a mirror is broken. It then starts at the beginning of thebitmap, finds the first block whose bit is set to 1 or dirty, reads the corresponding block from the local
hard disk, and sends it to the remote system. After this has completed successfully, it sets the blockto 0 ("clean"). SteelEye DataKeeper then finds the next dirty bit and repeats this process.
As new writes come in during a resync, the corresponding blocks are set to 1 or dirty.
Once resync gets to the end of the bitmap, it looks to see if there are still any dirty blocks. It does thisthrough a counter that is incremented when one is made dirty and decremented when cleaned. If any

DataKeeper for Windows9

Initial Creation of a Mirror

blocks are dirty, it resets its pointer to the beginning of the bitmap and starts again, only sending thedirty blocks to the remote system.
This process continues for multiple passes until all blocks are clean. When this happens, the mirror
will go from the Resynchronizing state to the Mirroring state, and at that point, every write is
mirrored (the bitmap is no longer necessary at that point).
You can follow the resynchronization process by viewing the resynchronization control counters in
Performance Monitor.
This same resynchronization mechanism is used when you CONTINUE a PAUSED mirror.

Initial Creation of a Mirror
When the mirror is created, DataKeeper must perform an initial synchronization of the data from thesource volume to the target volume. This is referred to as a full resync. However, prior to this initialfull resync of the data, DataKeeper first performs a process called “whitespace elimination” where
all blocks of currently unused space on the source volume are eliminated from the initialsynchronization and those blocks do not have to be replicated to the target volume.
Example: Whitespace Elimination
Source Volume Capacity

80 GB

Source Volume Free Space

35 GB

Amount of data to be resynced from source volume to target volume
during initial creation of the mirror.

55 GB

Synchronous and Asynchronous Mirroring
SteelEye DataKeeper employs both asynchronous and synchronous mirroring schemes.
Understanding the advantages and disadvantages between synchronous and asynchronous mirroringis essential to the correct operation of SteelEye DataKeeper.

Synchronous Mirroring
With synchronous mirroring, each write is intercepted and transmitted to the target system to be
written on the target volume at the same time that the write is committed to the underlying storage
device on the source system. Once both the local and target writes are complete, the write request is
acknowledged as complete and control is returned to the application that initiated the write.
Persistent bitmap file on the source system is updated.
The following sequence of events describes what happens when a write request is made to thesource volume of a synchronous mirror.
1. The following occur in parallel.
a. Write request is intercepted and transmitted to the target system.
b. Target system executes the write request on the target volume and sends the status of

10

Overview

Synchronous Mirroring

the write back to the source system.
c. When the target system returns a successful status, the source system executes thewrite to the source volume and returns to the caller.
2. Should an error occur during network transmission or while the target system executes its
target volume write, the write process on the target is terminated. The source system willcomplete the write request on its source volume, and the state of the mirror changes from
Mirroring to Paused.

In this diagram, Write Request 1 has already completed. Both the target and the source volumes
have been updated.
Write Request 2 has been sent from the application and the write is about to be written to the target
volume. Once written to the target volume, DataKeeper will send an acknowledgment that the write
was successful on the target volume, and in parallel, the write is committed to the source volume.
At this point, the write request is complete and control is returned to the application that initiated thewrite.

DataKeeper for Windows11

Asynchronous Mirroring

While synchronous mirroring insures that there will be no data loss in the event of a source system
failure, synchronous mirroring can have a significant impact on the application’s performance,
especially in WAN or slow network configurations, because the application must wait for the write tooccur on the source and across the network on the target.

Asynchronous Mirroring
In most cases, SIOS recommends using asynchronous mirroring. With asynchronous mirroring, eachwrite is intercepted and a copy of the data is made. That copy is queued to be transmitted to the target
system as soon as the network will allow it. Meanwhile, the original write request is committed to theunderlying storage device and control is immediately returned to the application that initiated thewrite. (Note: Certain database applications may send flush commands causing DataKeeper toperform in a synchronous manner. To prevent performance from being impacted in such cases, theregistry entry "DontFlushAsyncQueue" may be set.)
At any given time, there may be write transactions waiting in the queue to be sent to the target
machine. But it is important to understand that these writes reach the target volume in time order, so
the integrity of the data on the target volume is always a valid snapshot of the source volume at somepoint in time. Should the source system fail, it is possible that the target system did not receive all of
the writes that were queued up, but the data that has made it to the target volume is valid and usable.
The following sequence of events describes what happens when a write request is made to thesource volume of a synchronous mirror.
1. Persistent bitmap file on the source system is updated.
2. Source system adds a copy of the write to the Asynchronous Write Queue.
3. Source system executes the write request to its source volume and returns to the caller.
4. Writes that are in the queue are sent to the target system. The target system executes thewrite request on its target volume and then sends the status of the write back to the primary.
5. Should an error occur during network transmission or while the target system executes its
target volume write, the write process on the secondary is terminated. The state of the mirror
then changes from Mirroring to Paused.

12

Overview

Asynchronous Mirroring

In the diagram above, the two write requests have been written to the source volume and are in thequeue to be sent to the target system. However, control has already returned back to the application
who initiated the writes.
In the diagram below, the third write request has been initiated while the first two writes havesuccessfully been written to both the source and target volumes. While in the mirroring state, write
requests are sent to the target volume in time order. Thus, the target volume is always an exact
replica of the source volume at some point in time.

DataKeeper for Windows13

Mirror PAUSED

Mirror PAUSEDIn the event of an interruption to the normal mirroring process as described above, the mirror changes
from the MIRRORING state to a PAUSED state. All changes to the source volume are tracked in thepersistent bitmap file only and nothing is sent to the target system.

14

Overview

Mirror RESYNCING

Mirror RESYNCING
When the interruption is resolved, it is necessary to resynchronize the source and target volumes andthe mirror enters into a RESYNC state.
DataKeeper reads sequentially through the persistent bitmap file to determine what blocks havechanged on the source volume while the mirror was PAUSED and then resynchronizes only thoseblocks to the target volume. This procedure is known as a partial resync of the data.
The user may notice a Resync Pending state in the GUI, which is a transitory state and will change
to the Resync state.

DataKeeper for Windows

15

Read and Write Operations

Read and Write Operations
After the volume mirror is created and the two drives on the primary and secondary servers aresynchronized, the following events occur:l

The system locks out all user access to the target volume; reads and writes are not allowed tothe target volume. The source volume is accessible for both reads and writes.

lBoth mirrored and non-mirrored volume read operations arriving at the driver on the primaryserver are passed on and allowed to complete normally without intervention. Reads of amirrored volume on the secondary system are not allowed, i.e., the secondary has notassumed the role of a failed primary.

lWhenever the primary server receives a write request, the system first determines whether
the request is for a mirrored volume. If not, the write is allowed to complete normally without
any further intervention. If the write request is for a mirrored volume, the request is handled
depending on the mirroring type:l

16

If the type is synchronous, then the write request is sent to both the source and target
volumes at the same time. Should an error occur during network transmission or while

Overview

Volume Considerations

the target system executes its write, the write process on the target is terminated. The
source will then complete the write request, and the state of the mirror changes from
Mirroring to Paused. The write operation is not acknowledged as complete until thesource disk write completes and notification from the target is received (success or
failure).
l

If the type is asynchronous, then the primary executes the write request to its source
volume, puts a copy of the write on the asynchronous write queue and returns to thecaller. Writes that are in the queue are sent to the target volume. The secondary
system executes the write request on the target volume and then sends the status of
the write back to the primary. Should an error occur during network transmission orwhile the secondary executes its mirrored volume write, the write process on thesecondary is terminated. The state of the mirror then changes from Mirroring toPaused.

To ensure uninterrupted system operation, SteelEye DataKeeper momentarily pauses the mirror andautomatically continues it (i.e., performs a partial resync) in the following cases:l

In Asynchronous mirroring, when the asynchronous write queue length reaches theWriteQueueHighWater mark due to a massive number of writes to the volume in a short periodof time (e.g., database creation). The user can monitor the mirroring behavior using the
SteelEye DataKeeper Performance Monitor counters and adjust the WriteQueueHighWater
mark if necessary. See Registry Entries for more details.

lWhen transmission of a write to the target system times out or fails due to resource shortage(e.g., source system resource starvation due to a flood of writes/network transmissions in ashort period of time).

Volume Considerations
SteelEye DataKeeper primary and secondary systems have three types of volumes: system, nonmirrored and mirrored. During mirroring operations, system and non-mirrored volumes are not affected
and the user has full access to all applications and data on these volumes.

What Volumes Cannot be Mirrored
The SteelEye DataKeeper service filters out the following types of disk partitions:lWindows system volumelVolume(s) that contain the Windows pagefilel

Non-NTFS formatted volumes (e.g. FAT, FAT32, Raw FS)l

Non-fixed drive types (e.g. CD-ROMs, diskettes)lTarget volumes that are smaller than the source volume

DataKeeper for Windows

17

Volume Size Considerations

Volume Size Considerations
The source and target systems are not required to have drives of the same physical size. When the
mirror is established, the target volume must be the same size, or larger than the source volume.
There is no limit on the size of volumes that can participate in a SteelEye DataKeeper mirror.
However, you should be aware that on initial mirror creation, all data that is in use by the file systemon the source volume must be sent to the target. For instance, on a 20 GB volume with 2 GB usedand 18 GB free, 2 GB of data must be synchronized to the target. The speed of the network
connection between the two systems, along with the amount of data to be synchronized, dictates
how long the initial mirror creation will take.

Specifying Network Cards for Mirroring
SteelEye DataKeeper allows the administrator to specify which IP addresses should be used as
mirror endpoints. This allows the replicated data to be transmitted across a specific network which
permits the user to segment mirrored traffic away from the client network if desired.

Dedicated LAN for Replication
While it is not required, a dedicated (private) network between the two servers will provide
performance benefits and not adversely affect the client network.

Performance Monitor Counters
SteelEye DataKeeper provides counters that extend Performance Monitor with statistics about thestatus of mirroring on volumes. The counters are installed during the full installation of SteelEye
DataKeeper software.
To access the counters, do the following:
1. On a Microsoft Windows 2003 system, start the Windows Performance Monitor through theStart menu in the Administrative Tools program group by selecting Performance.
On a Microsoft Windows 2008 system, start the Windows Performance Monitor through theStart menu in the Reliability and Performance group.
2. Select System Monitor from the Console Root pane.
3. Click the + button in the chart pane to open the Add Counters dialog box.
4. Select the SIOS Data Replication object.
On a system with a mirror in the Source role, there will be one instance available for each target ofthat mirror.
SteelEye DataKeeper provides 14 counters that allow the monitoring of various operations related tothe product. These counters allow the monitoring of such things as status, queuing statistics andgeneral mirror status.

18

Overview

Mirror State Counters

Mirror State Counters
Mirror Elapsed Time
Default Value: 0
Range: 0 - MAX_ULONG
This value represents the amount of time, in seconds, that the volume has been in Mirror state. Thisvalue will be 0 for volumes that are not currently involved in a mirror, volumes that are currently
undergoing mirror creation (and synchronization), and volumes for which a mirror has been broken ordeleted.

Mirror State
Default: 0
Range: 0 - 5This value represents the current mirroring state of a volume. The following values are defined:
0 None - The volume is not currently involved in a mirror.
1 Mirroring - The volume is currently mirroring to a target.
2 Resynchronizing - The volume is currently being synchronized with its target.
3 Broken - The mirror exists but the source and target volumes are not in sync. New writes to thevolume are not tracked.

DataKeeper for Windows19

Mirror Type

4 Paused - The mirror exists but the source and target volumes are not in sync. The source server
keeps track of any new writes.
5 Resync Pending - The source volume is waiting to be resynchronized.

Mirror TypeDefault: 0
Range: 0-2
This value represents the type of mirroring this volume is engaged in. The following values aredefined for this release:
0 None - The volume is not currently involved in a mirror.
1 Synchronous - Data is written to the target volume first.
2 Asynchronous - Data is written to the source volume first and queued to be sent to the target.

Network Number of Reconnects
Default: 0
Range: 0 - MAX_ULONG
This value is the number of network reconnections that have been made while the volume has been
mirrored. A network reconnection occurs when communication is lost with the target.

Write Queue Counters
Queue Current Length
Default Value: 0
Range: 0 - <Queue High Water>This value represents the current length, in terms of number of writes, of the SteelEye DataKeeper
Asynchronous write queue for volumes currently being mirrored. Writes to the target system arepushed onto a queue and committed to the target at a later time, allowing writes to complete locallyfirst.

Queue High Water
Default: 800
Range: 0 - MAX_ULONG

20

Overview

Queue Low Water

This counter displays the Asynchronous write queue high water mark as set in the registry. Duringmassive I/O traffic, if the Queue Current Length (above) reaches this value, the SteelEye DataKeeper
driver will momentarily pause the mirror, drain the queue down to the Queue Low Water mark (below)
and automatically start a partial resync.

Queue Low Water
Default: 50
Range: 0 - MAX_ULONG
This counter displays the Asynchronous write queue low water mark as set in the registry. Duringmassive I/O traffic, if the queue length reaches the WriteQueueHighWater mark (above), theSteelEye DataKeeper driver will momentarily pause the mirror. When the queue length goes down to
the Queue Low Water mark, the SteelEye DataKeeper driver will automatically start a partial resync.

Resynchronization Control Counters
Resync Current BlockDefault: 0
Range: 0 - <Resync Total Blocks>
During the synchronization process, this value represents the current block that is being sent to thetarget. At other times (i.e. when mirror state is not EmMirrorStateResync), this value will be 0.
During synchronization, a given block may be sent to the target multiple times if writes are ongoing to
the volume. This is based on the number of resync passes that are required.

Resync Dirty Blocks
Default Value: 0
Range: 0 - <Resync Total Blocks>
This value is the number of total blocks that are dirty during mirror resynchronization. "Dirty" blocks
are those that must be sent to the target machine before synchronization is complete. This value willbe 0 for all states other than EmMirrorStateResync.
When a mirror synchronization is begun, this value will be initially equal to the value of Resync Total
Blocks. Please note that during a mirror synchronization, Resync Dirty Blocks may actually increase
if a large number of incoming writes are made to the volume.

Resync Elapsed Time
Default Value: 0

DataKeeper for Windows

21

Resync New Writes

Range: 0 - MAX_ULONG
While the mirror is being synchronized, this value represents the elapsed time in seconds that thesynchronization has been occurring. After a mirror is successfully resynchronized, the value
represents the total amount of time the previous synchronization operation took since the last systemboot. The value will be 0 for volumes that either never have been synchronized or volumes that were
not synchronized during the last boot.

Resync New Writes
Default: 0
Range: 0 - MAX_ULONG
This value represents the number of writes that have occurred on the volume since a synchronization
operation has begun. This value will directly affect the number of dirty blocks, the number of passes
required to synchronize the mirror and the amount of time the synchronization takes to complete.

Resync Pass
Default Value: 10
Range: 0 - MaxResyncPasses (Registry)
This value is the number of passes that have currently been made through the volume during theresynchronization process to update the target. The number of passes required to complete thesynchronization process will increase based on the amount of writing that is being performed during
synchronization. While writing to the source volume is allowed during synchronization, heavy writes
will cause the synchronization to take longer, thus resulting in a much longer time until it is finished.

Resync Total Blocks
Default Value: 0
Range: 0 - MAX_ULONG
This value represents the number of 64k blocks used for resynchronization of the mirrored volume.
The value is approximately equal to the file system size of the volume divided by 64K. Please notethat the file system size is less than the partition size of the volume that is shown in the Windows
Disk Management program. To see the file system size, type CHKDSK X: (where X is the drive
letter).

Resync Phase
Default Value: 0
Range: 0 - 3

22Overview

Resync Phase

The mirror resync goes through a number of phases. Once the state is set to "resync", the phase isinitialized to RESYNC_INITIAL_PHASE. If a full resync is to be performed, then it is transitioned to
RESYNC_FULL_PHASE. If a partial resync is to occur, then this state is recorded as RESYNC_UPDATE_PHASE. The valid states are as follows:
RESYNC_NO_PHASE 0
RESYNC_INITIAL_PHASE 1
RESYNC_FULL_PHASE 2
RESYNC_UPDATE_PHASE 3

DataKeeper for Windows

23

DataKeeper for Windows

25

Chapter 2: Installation

Chapter 2: Installation
Install and License SteelEye DataKeeper Standard
EditionSteelEye DataKeeper uses the Flexera InstallShield product to provide a standard installationinterface. Once you have downloaded the DataKeeper software, use the topics in this section forhelp in understanding the DataKeeper installation process.

Installation Overview
The following steps outline the DataKeeper installation process:1. Run the DataKeeper setup program (DK-{version}-Setup.exe) from your installation directory.
2. Select the DataKeeper features to install. A typical installation includes both features.
l

DataKeeper Server Componentsl

DataKeeper User Interface

3. During installation of DataKeeper Server Components:
a. Select a DataKeeper Service log on account type.
b. If Domain or Server account is selected, provide DataKeeper Service log on
ID and Password .
c. Install licensing via the License Manager.
d. Configure firewall settings.
4. Reboot your server and begin using DataKeeper.
The SteelEye DataKeeper User Interface and Server Components Feature can be installed
independently, and the installation can be modified later to include any feature that has not previously
been installed.
Important: The SteelEye DataKeeper User Interface feature requires Microsoft MMC 3.0 andMicrosoft .NET Framework 3.5 SP1 to be installed. You can download .NET Framework fromhttp://www.microsoft.com/net.
Note: For Windows 2008 R2, use "Server Manager" to enable the .NET Framework 3.5.1 features.

Obtaining and Installing the License
SteelEye DataKeeper requires a unique license for each server. The license is a run-time license,
which means that you can install SteelEye DataKeeper without the license, but the license must be
installed before you can successfully start and run SteelEye DataKeeper.

26

Installation

License Key Manager

The final screen of the InstallShield installation utility displays the Host ID of your server. The
Host ID, along with the Entitlement ID (Authorization Code) that was provided with your SteelEye
DataKeeper software, is used to obtain the license required to run SteelEye DataKeeper. The
process is illustrated below.

License Key Manager
In addition to installing SteelEye DataKeeper product licenses, the License Key Manager allows
you to perform the following functions:lView all licenses currently installed on your system.

lView all expiration notifications (days remaining) for each time-expiring license.

l

Identify invalid licenses that are currently installed.

lDelete any installed licenses (right-click on the license and select Delete).

lDelete all expired licenses as a group (press the Delete Expired License button).

lRefresh the Installed License list when installing software or upgrades.

Perform the following steps to obtain and install your licenses for each server running SteelEye
DataKeeper:
1. Get your Host ID. At the end of the DataKeeper installation, make note of the Host ID
displayed by the License Key Installer utility. The Host ID may also be obtained byrunning %ExtMirrBase%\bin\lmhostid (where%ExtMirrBase% is the
DataKeeper installation path, by default C:\Program Files (x86)\SteelEye\DataKeeper) on the

DataKeeper for Windows27

License Key Manager

system(s) that you are obtaining licenses for. (If you need to obtain your Host ID again at alater time, you may do so by running the License Key Installer utility from the StartPrograms menu Start-All Programs-SteelEye-DataKeeper-License Key Installer.)
2. Write the Host IDs in a notebook or save them in a file. If saved in a file, copy that file to asystem with internet access. Otherwise, take your notebook with you to the system withinternet access.
3. Ensure you have your DataKeeper Entitlement ID (Authorization Code). You should havereceived an email with your software containing the Entitlement ID needed to obtain thelicense.
4. Obtain your licenses from the SIOS Technology Corp. Licensing Operations Portal.
a. Using the system that has internet access, navigate to http://us.sios.com/support,
select License Key and log in to the SIOS Technology Corp. Licensing Operations
Portal.
b. Select Manage Entitlements.
Note: If changing password, use the Profile button in the upper right corner of thedisplay.
c. Find your Entitlement ID and select each Activation ID associated with that
Entitlement ID by checking the box to the left of the line item.
d. Select the Activate tab.
e. Define the required fields and select Next.
f. Click on Select Existing Host to choose an already defined host or create a new hostby selecting Add New Host.
g. Enter the Host ID and click Okay.
h. Check the box to the left of the Host ID and select Generate. The Fulfillment ID will
display on the License Summary screen.
i. Check the box to the left of the Fulfillment ID and select the Email License tab.
j. Enter a valid email address to send the license to and select Send.
k. Select Complete.
l. Retrieve the email(s).
m. Copy the file(s) to the appropriate system(s).
5. Install your licenses. You may install the licenses using one of the following methods.
a. Install via the License Key Installer.

28

l

On each system, run the License Key Installer from the StartPrograms menu (Start-All Programs-SteelEye-DataKeeper-License
Key Installer).

lPress the Install License File... button on the main screen of the

Installation

Primary Network Interface Change May Require a License Rehost

License Key Installer.
lBrowse to the location of the license file that you saved in Step 4 above.

l

Click on the license file name. It will become highlighted.

lPress the Install License File... button that appears in that dialog box
below the file names. A license detection confirmation popup will be
displayed.

orb. Copy the license file(s) to the appropriate directory.
l

On each system, copy the file(s) to %windir%\system32\LKLicenseon
x86, or %windir%\SysWOW64\LKLicenseon x64 (where %windir% is
the Windows installation path, by default C:\Windows). If the
LKLicensedirectory does not already exist, it will need to be created prior
to copying the files. Note: It is recommended that this file(s) be renamed
to YYYYMMDD.lic format to distinguish the day the license wasactivated.

6. Repeat on all additional servers. You must install a license on the other SteelEye DataKeeper
server(s) using the unique Host ID for each server.
7. Reboot your systems.

Primary Network Interface Change May Require a
License Rehost
The Host ID used by the License Key Installer utility is obtained from the DataKeeper server's
primary network interface card (NIC). DataKeeper will check for a valid license each time it starts.
If your DataKeeper server should require a NIC replacement in the future that would cause the Host
ID to change, then the next time DataKeeper is stopped, a License Rehost must be performed
before starting DataKeeper again. Log in to the SIOS Technology Corp. Licensing Operations Portaland select Support Actions/Rehost from the Manage Licenses screen to perform this rehost.
(Note: A rehost can be performed one time per six-month period without contacting support.)

Subscription Licensing
A subscription license is a time-limited license with renewal capability. Similar to an evaluation
license, it will expire after a set amount of time unless renewed. This renewal process can be set up
to renew automatically by following the procedure below.
1. Install the subscription license program: %ExtMirrBase%\lmSubscribe.exe
2. Enter User ID and Password (from SIOS Technology Corp. Customer Registration).
3. Select OK.

DataKeeper for Windows29

Troubleshooting

If the previous steps run successfully, the subscription renewal service will now run, in the
background, periodically checking renewal status. If licenses are found that will be expiring in acertain number of days (90, 60, 30, 20, 10, 5, 4, 3, 2, 1), a warning notification will be sent to the
Windows Event Viewer, and an attempt will be made to renew the license. If a new license
activation is available (a new activation has been purchased for this system's Entitlement), it will be
automatically fulfilled and the new licenses will be installed on the system replacing the old licenses.
As long as licenses for this system are renewed (activations purchased), the service will ensure thatthe licenses are upgraded on the system without user intervention.

Troubleshooting
If errors are encountered, please try the following before contacting support:lReview the error messages in the Windows Event Viewer.

lVerify credentials by logging in to the SIOS Technology Corp. Licensing Operations Portal.
Enter User ID and Password. Run %ExtMirrBase%\lmSubscribe.exe again using thecorrect User ID and Password.

lTo force a manual check for a license renewal, stop and restart the service. (Note: To find theservice, bring up the view for all of the Windows services and search for "SteelEye
Subscription Licensing".)l

If ownership of the license certificate has changed, please contact SIOS Technology Corp.
support personnel to have the certificate moved to the new owner. Once ownership has been
moved, the automatic license renewal service will need to be updated with these newcredentials by running the above command again using the new User ID and Password.

Silent Installation of SteelEye DataKeeper
You can install SteelEye DataKeeper silently through the use of the silent command line option. This
option suppresses both the wizard and launcher user interfaces (UIs) resulting in what is considered a"silent installation." This is how an installation is performed without any information displaying to or
requiring any interaction with the end user. Response files, also known as "options" files, are used
to pass command line options to an installation. This is done as you would normally specify them on
the command line to represent the responses to dialogs and/or to set the value of a property orvariable. The options specified in the response/options file are executed after the execution of theoptions that were entered directly on the command line.
To create a response file, open a command window and run the SteelEye DataKeeper setup
program using the command:DK-{version}-Setup.exe /r /f1C:\setup.iss.
The responses entered to the dialogs will be recorded into the file setup.iss.
Note: When creating the initial setup.iss file, if a local user server account is used for the DataKeeper
service, you must edit the setup.iss file for use on other servers. This change can be made byopening the setup.iss file in Notepad and changing the name of the server found within the szName
field. (i.e.- szName=<serverName>\Administrator). When using the Local Service account ora Domain account that is the same across all installations, changing the setup.iss file is not required.

30

Installation

Third Party Product Files

To perform a silent install using the created response file, open a command window and run the
SteelEye DataKeeper setup program using the command:DK-{version}-Setup.exe /s /f1C:\setup.iss /f2C:\setup.log.
Results from the silent install are stored in the file setup.log. "ResultCode=0" indicates a successful
install.
When the DataKeeper install is finished, run the License Key Installer utility from the StartPrograms menu to install the license key.
Start->All Programs->SteelEye->DataKeeper->License Key Installer.
Reboot the server.

Third Party Product Files
The following third party files were not developed by SIOS Technology Corp. but are installed during
the SteelEye DataKeeper installation process.

Path and File Name

ProviderPurpose<datakeeper dir>/lmdiag.exe<datakeeper dir>/lmhostid.exe

LicenseManagement

Flexera<datakeeper dir>/lminstall.exe<datakeeper dir>/motdk_libFNP.dll<datakeeper dir>/SnapIn/IronPython.dll (.Net
python language implementation)<datakeeper
dir>/SnapIn/IronPython.Modules.dll (.Net
python modules)<datakeeper dir>/SnapIn/J832.Common.dll

codeplex.com
Testing/Debugging(Microsoft open source)<datakeeper
dir>/SnapIn/J832.Wpf.BagOTricksLib.dll

Utilities and controls
Kevin Moore,
for WPF
http://j832.com/bagotricks/
development<datakeeper dir>/SnapIn/log4net.dll (.Net
logging library)

Apache Software
Foundation<datakeeper
dir>/SnapIn/Microsoft.Scripting.Core.dll

codeplex.com<datakeeper
dir>/SnapIn/Microsoft.Scripting.dll

Application logging(part of IronPython)<datakeeper dir>/SnapIn/MMCFxCommon.dll
Microsoft<datakeeper
dir>/SnapIn/microsoft.managementconsole.dll

MMC managed
snap-in library

DataKeeper for Windows31

Application Directory Anomaly

Application Directory Anomaly
The following file is installed in a directory other than the default directory that you selected during the
SteelEye DataKeeper installation procedure. This exception occurs when the operating systeminstalls performance monitor counters.

Path and File Name<windows dir>/inf/ExtMirr/ExtMirrCounters.h:

Purpose
Performance monitoring. This file contains counter names
and definitions

Uninstalling SteelEye DataKeeper
To uninstall SteelEye DataKeeper:lSelect Programs and Features from the Control Panel.

lSelect SteelEye DataKeeper from the list of installed programs.

Once the uninstall process is complete, rebooting the system is required.
Note: Uninstalling automatically stops the SteelEye DataKeeper service and clears the registry
entries.
Once SteelEye DataKeeper is removed, the following files will not be removed by the uninstall
procedure.

Path and File Name<windows dir>/System32/LKLicenseor<windows dir>/SysWOW64)/LKLicense

Definition and Special Considerations
Common license file directory for SIOS Technology
Corp. products. This is where license files are installed
and licenses for multiple SIOS Technology Corp.
products may be installed here at any given time. We
don't remove this at uninstall so as to not disturb the
installed licenses.
Safe to remove manually, but the license will need tobe reinstalled if DataKeeper software is reinstalled at alater time.

or

A backup file created by Windows when new
performance monitor counters are installed. This iscreated when we install the DataKeeper perfmon
counters.

<windows dir>/SysWOW64)/PerfStringBackup.ini

This should probably be left alone since it?s a filecreated by Windows itself.

<windows
dir>/System32/PerfStringBackup.ini

This file describes the DataKeeper performance<windows
monitor counters. This file can be removed or leftdir>/inf/ExtMirr/0011/ExtMirrCounters.ini:alone. It is not an executable.

32

Installation

Upgrading SteelEye DataKeeper

Upgrading SteelEye DataKeeper
Upgrading DataKeeper from previous versions of DataKeeper is very straightforward. Simply run the
installation process outlined below on both systems. The upgrade process stops the DataKeeper
Service, copies the new files to the DataKeeper directory and requires a reboot at the end to load the
new DataKeeper driver.
The following information applies to a DataKeeper upgrade:lExisting mirrors are not affected by the upgrade and will remain in place.

l

It is not necessary to pause or manipulate the mirror(s) in any way before upgrading.

l

DataKeeper licensing is not affected and does not need to be redone after the upgrade.

When DataKeeper is used in conjunction with a clustering product such as SteelEye LifeKeeper orMicrosoft WSFC, we recommend the following upgrade procedure:
1. Upgrade DataKeeper on the target system first and reboot.
2. Switch over all cluster resources to the backup system.
3. Upgrade DataKeeper on the original source system and reboot.

Upgrading the Target Server
1. Close the DataKeeper UI if it is currently running.
2. On the target system, run the setup.exe program distributed with the SteelEye DataKeeper
product. Setup will detect that you are upgrading your existing DataKeeper product and display
a confirmation dialog. Click Yes to continue the upgrade.
3. The DataKeeper service will be stopped during the upgrade process. After setup completes,
you will be prompted to enter a new DataKeeper license key. When upgrading from a previous
version of DataKeeper, applying new licenses is not required and you may exit the LicenseManager.
4. The final step is to reboot your server.
Note: After upgrading one of your systems, if you wish to run the DataKeeper UI to view or
switch over your mirrors, you must run the DataKeeper UI on the upgraded system.

Upgrading the Original Source Server
1. Repeat the above procedure on the original source system and reboot the server.
2. Run the DataKeeper UI to view your existing mirrors.

DataKeeper for Windows33

Upgrading from SteelEye Data Replication v6.2x to DataKeeper

Upgrading from SteelEye Data Replication v6.2x to DataKeeper
Because DataKeeper incorporated a new structure called a "job", upgrading from SteelEye Data
Replication to DataKeeper requires that you delete your existing mirrors before upgrading to
DataKeeper and then recreate them after the upgrade is complete. This insures that the job andmirror information gets set up properly for DataKeeper.
DataKeeper also requires updated licensing, so you will have to install your new DataKeeper licenses
when the License Manager screen is presented. We also recommend removing your old SDR v6.2x
licenses at this time.
The procedure is exactly the same as the upgrade procedure above, with two exceptions underlined
below.

Upgrade Procedure
1. In the SteelEye Data Replication UI, delete all existing mirrors.
2. Close the Steeleye DataKeeper Replication UI if it is currently running.
3. Perform the upgrade procedure listed above and apply new licensing on each server when
prompted.
4. Bring up the DataKeeper UI and recreate your mirrors.

RepairThe Install process also allows repairing the DataKeeper software. Use this option if the software thatwas previously installed was accidentally deleted or if the user is performing a point release upgrade.
This option copies all the files from the setup folder and prompts the user to reboot the system.

34

Installation

Chapter 3: Configuration
Configuration Requirements/Considerations
The topics in this section identify several prerequisites to be aware of before implementing your
DataKeeper configuration.

Sector Size
Beginning with DataKeeper Version 7.2.1, disks with sector size not equal to 512 bytes aresupported. However, DataKeeper requires that the mirror source volume be configured on disk(s)whose sector size is the same as the disk(s) where the mirror target is configured. NTFS Metadata
includes the disk sector size. DataKeeper replicates the entire NTFS file system from source totarget, so the sector sizes must match.
Note: For DataKeeper Version 7.2 and prior, only disk devices whose sector size is the standard
512 bytes are supported.

Network Bandwidth
Because DataKeeper can replicate data across any available network, special consideration must be
given to the question, "Is there sufficient bandwidth to successfully replicate the volume and keep the
mirror in the mirroring state as the source volume is updated throughout the day?"Keeping the mirror in the mirroring state is critical, because a switchover of the volume is notallowed unless the mirror is in the mirroring state.

Determine Network Bandwidth Requirements
Prior to installing SteelEye DataKeeper, you should determine the network bandwidth requirements
for replicating your data. Use the method below to measure the rate of change for the data that you
plan to replicate. This value indicates the amount of network bandwidth that will be required toreplicate that data.
After determining the network bandwidth requirements, ensure that your network is configured toperform optimally. If your network bandwidth requirements are above your current available network
capacity, you must consider one or more of the following options:lEnable compression in DataKeeper, or in the network hardware, if possiblelCreate a local, non-replicated storage repository for temporary data and swap files if you are

DataKeeper for Windows

35

Measuring Rate of Change

replicating Hyper-V virtual machineslReduce the amount of data being replicatedlIncrease your network capacity

If the network capacity is not sufficient to keep up with the rate of change that occurs on your disks,
DataKeeper mirrors will remain in a resynchronizing state for considerable periods of time. During
resynchronization, data on the target volume is not guaranteed to be consistent.

Measuring Rate of Change
Use Performance Monitor (perfmon) to measure the rate of change that occurs on your volumes thatare to be replicated. The best way to do this is to create a log of disk write activity for some period oftime (one day, for instance) to determine what the peak disk write periods are.
To track disk write activity,luse perfmon to create a user-defined data collector set on Windows 2008 or a performancecounter log on Windows 2003.

l

add the counter "Disk Write Bytes/sec" for each volume - the volume counters can be found in
the logical disks group.

lstart the log and let it run for the predetermined amount of time, then stop and open the log.

An alternative to creating a log of disk writes is to use perfmon to track disk write bytes/sec
interactively, in the Performance Monitor tool, and to observe the maximum and average values
there.
SteelEye DataKeeper handles short bursts of write activity by adding that data to its async queue.
However, make sure that over any extended period of time, the disk write activity for all replicatedvolumes combined remains, on average, below the amount of change that DataKeeper and yournetwork can transmit.
SteelEye DataKeeper can handle the following average rates of change, approximately:

Network Bandwidth

Rate of Change

1.5 Mbps (T1)

182,000 Bytes/sec (1.45 Mbps)

10 Mbps

1,175,000 Bytes/sec (9.4 Mbps)

45 Mbps (T3)5,250,000 Bytes/sec (41.75 Mbps)

100 Mbps

12,000,000 Bytes/sec (96 Mbps)

1000 Mbps (Gigabit)

65,000,000 Bytes/sec (520 Mbps)

Network Adapter Settings
DataKeeper requires that "File and Printer Sharing for Microsoft Networks" be enabled on the
network interfaces to make a NAMED PIPE connection and be able to run DataKeeper’s commandline tool (EMCMD).

36

Configuration

User Accounts and Domain Considerations

To test if you can make a Named Pipe connection, try to map a network drive on the TARGET
system. If that fails, you have a Named Pipe issue.
DataKeeper also requires that NetBIOS over TCP/IP and SMB protocols be enabled. If the GUI
does not operate correctly, make sure the following network configurations are enabled:lEnable NetBIOS over TCP/IP and SMB protocols as in the following example:
My Computer->Manage->System Tools->Device
Manager->View->Show Hidden Devices->Non-Plug andPlay Drivers->NetBIOS over Tcpip (Enable)lEnable NetBIOS over TCP/IP on each network adapter carrying mirror traffic as in thefollowing example:
Start->Settings->Network and Dial-up Connections><Your Network Adapter>->Properties->Internet
Protocol(TCP/IP)->Properties->Advanced…button>WINS tab->Enable NetBIOS over TCP/IP radio
button (Checked)lEnable the Microsoft “Client for Microsoft Networks” component on each system where the
DataKeeper Administrator GUI will be used. This must be on the same adapter with NetBIOS
over TCP/IP enabled (above). For example:
Start->Settings->Network and Dial-up Connections><Your Network Adapter>->Properties->Client for
Microsoft Networks(checked)lEnable the Microsoft “File and Printer Sharing for Microsoft Networks” component oneach system which the DataKeeper Administrator GUI will connect to locally and remotely.
This must be on the same adapter with NetBIOS over TCP/IP enabled (above). For example:
Start->Settings->Network and Dial-up Connections><Your Network Adapter>->Properties->File andPrinter Sharing for Microsoft

User Accounts and Domain Considerations
Because DataKeeper will be accessing volumes on both the local server and remote server, there areseveral requirements and recommendations to be aware of when running the DataKeeper Service andthe DataKeeper UI in single domain environments as well as mixed environments.
The following table outlines these requirements:

DataKeeper for Windows37Firewall Configurations

Environment
Same Domain

DataKeeper Service Require- DataKeeper UI Requirements
mentslRun the DK Service on all
systems as the same accountwith the same credentialslOkay to use the default = Local
System AccountlCreate a local account on eachsystem with same account nameand passwordorTrusted Domain
Environment
Mixed Environment
Servers in a Mixture of
Domain and
WorkGroupl

Add this local account to the
Administrator Groupl

Run the DK Service on all
systems with the local accountorServers in Separate
Domainsl

Log in as a domain
admin and run the DKGUIl

Or use "runas" Administrator option
to run DK GUIlLogin using the local
account you created to
run the DK Servicel

Run the DK GUI

Firewall Configurations
SteelEye DataKeeper cannot function properly if the firewall settings for the source and target
machines are not configured correctly. This means you will need to configure a rule for inbound andoutbound connections on each server running SteelEye DataKeeper as well as any network firewallsthat replication traffic must traverse.
During installation of SteelEye DataKeeper, you will be prompted to allow the installer to configure
your firewall rules needed by DataKeeper as well as to configure other system settings that are
required by DataKeeper on Windows 2008. This is not necessary for Windows 2003. If you choose toallow the installer to make these changes, you will not need to configure your firewall manually. If you
choose not to allow the installer to make these changes, you will need to configure your systemmanually as described in this section.
The ports that are required to be open for replication are as follows: 137, 138, 139, 445, 9999, plus
ports in the 10000 to 10025 range, depending upon which volume letters you plan on replicating. The
chart below shows the additional ports which must be open depending upon which drive letters you
plan on replicating.

38

Configuration

Configuring Microsoft's Windows Firewall with Advanced Security - Example

Port # Volume Letter Port # Volume Letter
10000

A

10013

N

10001

B

10014

O

10002

C

10015

P

10003

D

10016

Q

10004

E

10017

R

10005

F

10018

S

10006

G

10019

T

10007

H

10020

U

10008

I

10021

V

10009

J

10022

W

10010

K

10023

X

10011

L

10024

Y

10012

M

10025

Z

Configuring Microsoft's Windows Firewall with Advanced Security- Example
The exact steps required to configure the firewall for each cluster is as varied as each possible cluster
configuration, but the following procedure and screens shots will give you one example to follow whenusing SteelEye DataKeeper to replicate the E: and F: volumes. Note the Port # and Volume Letter
table listings in the previous section.
1. Open Microsoft's Windows Server Manager and select Inbound Rules.

DataKeeper for Windows39Configuring Microsoft's Windows Firewall with Advanced Security - Example

2. Select New Rule from the Actions panel in the right column of the window. Select Port as
the type of rule to be created. Select Next.
3. Select TCP or UDP for the type of protocol impacted by this rule. Select the Specific local
ports button and enter the following ports in the Specific local ports field: 137, 138, 139, 445,
9999, 10004 (for the E drive) and 10005 (for the F drive). Select Next.
4. For the action, select Allow the Connection. Select Next.
5. For the profile, select Domain, Private and Public for the conditions when this rule applies.
Select Next.

40

Configuration

Configuring Microsoft's Windows Firewall with Advanced Security - Example

6. Enter a Name and Description for the new Inbound Rule.
7. SteelEye DataKeeper will appear in the Inbound Rules list and the Action panel column.
You can select the DataKeeper rule in the center panel and click the right mouse button toview the rule Properties.

DataKeeper for Windows

41

WAN Considerations

WAN Considerations
Replicating data across the network to a remote server located miles away from the source server isthe most common use of DataKeeper. Typically, this configuration relies on a WAN of some sort toprovide the underlying network that DataKeeper uses to replicate the data. If the bandwidth of the
WAN is limited, there are a number of additional factors to consider including:lInitial Synchronization of Data Across the LAN/WANlCompressionlBandwidth Throttle

Initial Synchronization of Data Across the LAN or WAN
When replicating large amounts of data over a WAN link, it is desirable to avoid full
resynchronizations which can consume large amounts of network bandwidth and time. DataKeeper
avoids almost all full resyncs by using its bitmap technology. However, the initial synchronization of
the data, which occurs when the mirror is first created, cannot be avoided.

42

Configuration

Initial Synchronization of Data Across the LAN or WAN

In WAN configurations, one way to avoid the initial full synchronization of data across the WAN is toconfigure both systems on a LAN, create the mirror and allow the initial full synchronization to occur
across the LAN. Once the initial synchronization is complete, update the IP addresses for the source
and target, which will place the mirror in the Paused state. Move the target system to its new
location. Once the target system is in place, power it on and verify all network settings, including theIP address that was updated. On the source system, run the CHANGEMIRRORENDPOINTS*
command. The mirror will be CONTINUED and only a partial resync (the changes that have occurredon the source volume since the mirror was PAUSED) of the data is necessary to bring the TARGET
volume in sync with the SOURCE.
*Note: This command supports changing the endpoints of a mirrored volume that isconfigured on 3 nodes or fewer. For configurations greater than three nodes, create mirrors
with the final endpoint at the local site and use route adds to get the mirrors created andresynced before moving the server to the final location/address/DR site.
ExampleIn the example below, a mirror is created locally in the primary site, and then the target will be moved
to remote site. The source server is assigned the IP address 172.17.100.1, and the target server isassigned the IP address 172.17.100.2. The WAN network IP is 88.17.100.x,lUsing the DataKeeper UI, create a mirror on Volume X from 172.17.100.1 to 172.17.100.2.
Note: Connecting to the target by name is recommended so DNS name resolution later willautomatically resolve to the new IP address.

Once the initial sync of the data is complete,lUpdate the IP address for the network adapter for the source to 88.17.100.1 and update the IP
address for the network adapter on the target to 88.17.200.2. This will place the mirror on the

DataKeeper for Windows

43

Verifying Data on the Target Volume

source side into the PAUSED state.
lShip the target machine to its new location.

lPower on the target machine and verify all network settings, including the IP address updated
above.

l

On the source system, open a DOS command window and change directory to the
DataKeeper directory by executing the following command:
cd %EXTMIRRBASE%l

Run the following command to update the existing mirror endpoints to the new IP addresses:
EMCMD 172.17.100.1 CHANGEMIRRORENDPOINTS X 172.17.100.2
88.17.100.1 88.17.200.2l

DataKeeper will resync the changes that have occurred on the source server while the target
server was unreachable.

lWhen this partial resync is complete, the mirror will change to the MIRRORING state.

Verifying Data on the Target Volume
By design, DataKeeper locks the target volume. This prevents the file system from writing to thetarget volume while the replication is occurring. However, DataKeeper does provide a mechanism tounlock the target volume and allow read/write access to it while the mirror is still in place. There are
two methods to do this:
1. Pause the mirror and unlock the target volume via the Pause and Unlock mirror option in the
DataKeeper UI.

44

Configuration

Compression

2. Use the DataKeeper command line interface (EMCMD) to pause the mirror (PAUSEMIRROR)
and unlock the target volume (UNLOCKVOLUME).
Once unlocked, the target volume is completely accessible. When finished inspecting the target
volume, be sure to continue the mirror to re-lock the target volume and allow DataKeeper to resync
any changes that occurred on the source volume while the mirror was paused. Any writes made to
the target volume while it was unlocked will be lost when the mirror is continued.
WARNING: If a reboot is performed on the target system while the target volume is unlocked, a full
resync will occur when the target system comes back up.

Compression
DataKeeper allows the user to choose the compression level associated with each mirror. Enabling
compression can result in improved replication performance, especially across slower networks. A
compression level setting of 3-5 represents a good balance between CPU usage and network
efficiency based on the system, network and workload.
Note: The compression level of a mirror can be changed after the mirror is created. See the topic"Changing the Compression Level of an Existing Mirror".

Bandwidth Throttle
DataKeeper attempts to utilize all of the available network bandwidth. If DataKeeper is sharing theavailable bandwidth with other applications, you may wish to limit the amount of bandwidth
DataKeeper is allowed to use. DataKeeper includes a feature called Bandwidth Throttle that will dothis. The feature is enabled via a registry setting.
Note: For additional information on both Compression and Bandwidth Throttle, see the topics
below.
l

Administrative User RequirementslRegistry EntrieslChanging the Compression Level of an Existing Mirror

DataKeeper for Windows

45

Chapter 4: Administration
The topics in this section provide detailed instructions for performing DataKeeper administration
tasks.

Primary Server Shutdown
On a graceful shutdown of the source server, all pending writes to the target are completed. This
ensures that all data is present on the target system.
On an unexpected source server failure, the Intent Log feature eliminates the need to do a full resync
after the recovery of the source server. If the Intent Log feature is disabled or if SteelEye DataKeeper
detected a problem accessing the volume's Intent Log file, then a full resync will occur after thesource server is restored to service.

Secondary Server Failures
In the event there is a failure affecting the secondary (target) system, the affected mirror is marked
Paused. It is necessary to correct the condition that caused the secondary to fail and then resync thevolumes. There are no write attempts made to the target after the secondary server fails.
When the secondary server comes back online after a failure, the source side of the mirror willautomatically reconnect to the target side of the mirror. A partial resync follows.

Extensive Write Considerations
SteelEye DataKeeper allows users to access the source during the creation and resync process.
Extensive writes during the create or resync process increase the amount of time required tocomplete the operation.
The user can also increase the MaxResyncPasses registry value to allow the resynchronization
process to finish even when the source volume is being accessed continuously.

CHKDSK Considerations
If you must run CHKDSK on a volume that is being mirrored by SteelEye DataKeeper, it isrecommended that you first pause the mirror. After running CHKDSK, then continue the mirror. A
partial resync occurs (updating those writes generated by the CHKDSK) and mirroring will continue.
Failure to first pause the mirror may result in the mirror automatically entering the Paused state andperforming a Resync while CHKDSK is in operation. While this will not cause any obvious problems,
it will slow the CHKDSK down and result in unnecessary state changes in SteelEye DataKeeper.

DataKeeper for Windows47

Event Log Considerations

SteelEye DataKeeper automatically ensures that volumes participating in a mirror, as either source ortarget, are not automatically checked at system startup. This ensures that the data on the mirrored
volumes remains consistent.

Event Log Considerations
It is important that SteelEye DataKeeper be able to write to the Event Log. You should ensure that the
Event Log does not become full. One way to accomplish this is to set the Event Log to overwrite
events as needed:
1. Open the Event Log.
2. Right-click on System Log and select Properties.
3. Under Log Size, select Overwrite Events as Needed.

Using Disk Management
When using the Windows Disk Management utility to access SteelEye DataKeeper volumes, please
note the following:lUsing Disk Management to delete partitions that are being mirrored is not supported. Deletinga partition that is part of a SteelEye DataKeeper mirror will yield unexpected results.

lUsing Disk Management to change the drive letter assigned to a partition that is a part of a
SteelEye DataKeeper mirror is not supported and will yield unexpected results.

Registry Entries
The following registry entries are associated with the SteelEye DataKeeper service or driver and canbe viewed using Regedt32. The first section contains entries that may be modified; the second
section contains entries that are for viewing only and should not be modified.

Registry Entries that MAY be Modified
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\Volumes\{Volume GUID}\Targets\Target IP

48

Administration

Registry Entries that MAY be Modified

The SteelEye DataKeeper driver uses the Parameters key and those below it. The values within the
Parameters key (denoted with *) are global for all volumes on the system. The values under each of
the Target IP registry keys (denoted with †) are specific to a mirror only. Values denoted with both *and † appear under both keys. (The target-specific value overrides the global value in this case.)
BandwidthThrottle †REG_DWORD

Default:

0Specifies the maximum amount of network bandwidth (in kilobits per second) that a particular mirror
is allowed to use. A value of 0 means unlimited.

BitmapBaseDir *REG_SZ

Default:

C:\%EXTMIRRBASE%\Bitmaps (usually C:|Program Files\SteelEye\DataKeeper\Bitmaps but may be different when upgrading a system or if
you install SteelEye DataKeeper to a different path)

Specifies a directory where SteelEye DataKeeper stores its Intent Log files. Setting the directory toan empty string will disable the Intent Log.

CompressionLevel †REG_DWORD

Default:

0Specifies the compression level for the given mirror. Valid values are 0 to 9. Level 0 is "nocompression". Values from 1 to 9 specify increasingly CPU-intensive levels of compression.
Compression level 1 is a "fast" compression - it does not require as much CPU time to compress thedata, but results in larger (less compressed) network packets. Level 9 is the maximum amount ofcompression - it results in the smallest network packets but requires the most CPU time. The levelcan be set to somewhere in between, to balance CPU usage and network efficiency based on yoursystem, network and workload.

DontFlushAsyncQueue *REG_SZ

Default: empty<drive letter> [<drive letter>]Allows the user to specify a volume or volumes that should not flush their async queues when thedriver receives a flush request. This value should contain the drive letter(s) of the volume(s) to which
this applies. Drive letters may be adjacent to each other (i.e. XY), or space separated (i.e. X Y), withno colons. (Note: When setting DontFlushAsyncQueue, data and database logs should be on
the same partition.)
PingInterval *REG_DWORD

Default:

3000 (0xBB8)

Specifies the interval in milliseconds between pings. Use a higher value for Wide Area Networks(WANs) or unreliable networks. Along with the MaxPingMisses, you may customize them to adjust
mirroring to the network performance.

DataKeeper for Windows49Registry Entries that MAY be Modified

MaxResyncPasses *REG_DWORD

Default:

200 (0xc8)

Specifies the maximum number of resync passes before SteelEye DataKeeper will give up trying toresynchronize the mirror while there is traffic on the source volume. In every pass, SteelEye
DataKeeper marks the volume blocks that were written to during the pass. In the next pass, it will
send to the target only the marked blocks.

TargetPortBase *REG_DWORD

Default:

10000

Specifies the base TCP port number for target volume connections. This number may need to be
adjusted if the default port is used by another service or is blocked by a firewall. The actual port thatthe target listens on is calculated as follows:
Port = TargetPortBase + (Volume Letter - A:)
For example:
TargetPortBase = 10000
Volume Letter = H
Port = 10000 + (H: -A:) = 10007

TargetPortIncr *REG_DWORD

Default:

256

Specifies the increment to the base TCP port number. This is used only when a TCP port is found to
be in use. For example, if the target is attempting to listen on port 10005 and that port is in use, it will
retry listening on port 10005 + TargetPortIncr.

TargetDispatchPort
There are two places where this should be set if you're changing the dispatch port from 9999. On
the target system, place it in the Parameters key. On any source system that will be creating themirror to this target, place it in the key ExtMirr\Parameters\Targets\{TargetIP}

WriteQueueHighWater * †REG_DWORD

Default:

9600 (0x2580)

Specifies the high water mark of the asynchronous write queue. During intensive I/O traffic, if thequeue length reaches this value, the SteelEye DataKeeper driver momentarily pauses the mirror,
drains the queue down to the WriteQueueLowWater mark (below) and automatically starts a partial
resync. This value represents the number of write requests in the queue, not the number of bytes.

50

Administration

Registry Entries that SHOULD NOT be Modified

Note: This value depends on the available memory in the system. You can monitor the mirroring
behavior using the SteelEye DataKeeper Performance Monitor counters and set this value
accordingly.

Registry Entries that SHOULD NOT be Modified
The following registry entries are listed for informational purposes only. They should NOT be
modified.
_____________________________________________________________
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirrSvc
This key is the base key for the service. All values directly under this key are used by the operating
system to load the service. These should not be modified or else the service may not load correctly.
The service does not use these values internally. More information on these specific keys can beobtained in the regentry.hlp file in the Windows Resource Kit.
ErrorControl

REG_DWORD

Default:

1(Do NOT Modify)

This value specifies what the system should do in the event the service fails to load. The default
value of 1 tells the system to ignore the failure and continue booting the system. Changing this value
may prevent the system from starting.

DisplayName

REG_SZ

Default:

SteelEye DataKeeper(Do NOT Modify)

This value specifies the name of the service to be displayed in the Control Panel\Services window.

ImagePathREG_EXPAND_SZ

Default:

C:\<DK_Install_path>(Do NOT Modify)

This value specifies the path of the service executable.

Start

REG_DWORD

Default:

2(Do NOT Modify)

This value specifies when the service loads. For the SteelEye DataKeeper service, this value must
be set to 2, allowing the service to start automatically during system startup. Setting this value toanything else may result in a system crash or cause disk corruption.

DataKeeper for Windows51

Registry Entries that SHOULD NOT be Modified

Type

REG_DWORD

Default:

16 (0x10)(Do NOT Modify)_____________________________________________________________
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr
This key is the base key for the driver. All values directly under this key are used by the operating
system to load the driver. These should not be modified or else the driver may not load correctly. The
driver does not use these values internally. More information on these specific keys can be obtainedin the regentry.hlp file in the Windows Resource Kit.
ErrorControl

REG_DWORD

Default:

1(Do NOT Modify)

This value specifies what the system should do in the event the driver fails to load. The default valueof 1 tells the system to ignore the failure and continue booting the system. Changing this value may
prevent the system from starting.

Group

REG_SZ

Default:

Filter(Do NOT Modify)

This value specifies the name of the group in which the SteelEye DataKeeper driver is a part of. Thisvalue should always be Filter. Changing this value could result in unpredictable results, including
disk corruption.

Start

REG_DWORD

Default:

0(Do NOT Modify)

This value specifies when the driver loads. For the SteelEye DataKeeper driver, this value must be
set to 0, allowing the driver to start during the initial phase of system boot. Setting this value toanything else may result in a system crash or cause disk corruption.

Tag

REG_DWORD

Default:

0x4(Do NOT Modify)

This value specifies the order in which a driver loads in its group. For the SteelEye DataKeeper
driver, this value should be 0x4 specifying that the driver will load at the same time as DiskPerf.Sys,
which is right above FtDisk.Sys (NT's Fault Tolerant disk driver) and below the file systems.
Changing this value may cause disk corruption.

52

Administration

Registry Entries that SHOULD NOT be Modified

Type

REG_DWORD

Default:

0x1(Do NOT Modify)

This value specifies the type of executable this key defines. For the SteelEye DataKeeper driver,this value should be 0x1 specifying that it is a kernel mode driver. Changing this value will have
unpredictable results.
_____________________________________________________________
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters
The SteelEye DataKeeper driver uses this key and those below it. The values below this are usedinternally by the driver. The values directly under the Parameters key represent values that are global
for all volumes on the system.
BuildDate

REG_SZ

Default:<None>(Do NOT Modify)

Specifies the date that the driver was built.

BuildTime

REG_SZ

Default:<None>(Do NOT Modify)

Specifies the time that the driver was built.

LastStartTime

REG_DWORD

Range:

0 to MAX_DWORD(Do NOT Modify)

This value specifies the time, represented as seconds since January 1, 1970 in Greenwich MeanTime (GMT), since the system was started with the SteelEye DataKeeper driver running. This value
is written to the registry during driver initialization and never read by the driver. This value is currently
for informational purposes only.

Version

REG_SZ

Default:<None>(Do NOT Modify)

Specifies a text string containing the version number of the last SteelEye DataKeeper driver to havebooted on this system.
Note: Any changes in the following values will take effect after the next system reboot.

DataKeeper for Windows53

Registry Entries that SHOULD NOT be Modified

WriteQueueLowWater*†

REG_DWORD

Default:

50 (0X32)(Do NOT Modify)

This value is used to limit the number of resync block requests that are outstanding at one time.
_____________________________________________________________
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\Volumes\{Volume GUID}
Keys under the Parameters\Volumes key represent disk volumes that have been mirrored (either
Source or Target). The key name represents the GUID that Windows assigns to the volume in the
Disk Management program.
BitmapFileValidOnFailover

REG_BINARY

Default:

1(Do NOT Modify)

Specifies whether a valid bitmap file was found on a failover. Used internally by the driver.

FailoverREG_BINARY

Range:

1(Do NOT Modify)

Specifies whether the mirror is becoming a target due to failover. Used internally by the driver.

MirrorRole

REG_DWORD

Range:

0 (None), 1 (Source), 2 (Target)(Do NOT Modify)

Specifies the mirroring role of the volume. Used internally by the driver.

VolumeAttributes

REG_DWORD

Default:

0(Do NOT Modify)

Specifies a bitmap of the volume attributes set by the SteelEye DataKeeper Service. Used internallyby the service and the driver.
BIT 0: All Net Alert
BIT 1: Broken State Alert
BIT 2: Resync Done Alert

54

Administration

Registry Entries that SHOULD NOT be Modified

BIT 3: FailOver Alert
BIT 4: Net Failure Alert
BIT 5: LifeKeeper Configured
BIT 6: Auto Resync Disabled_____________________________________________________________
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\Volumes\{Volume GUID}\Targets\Target IP
Note: The following fields are present under the <Target Name> subdirectory on the source and underthe <Targets> subdirectory on the target.
Below is a list of registry values that define the configuration for each volume:
BitmapFileEnabled

REG_BINARY

Default:

1(Do NOT Modify)

Specifies whether a bitmap file will be created for a mirror. The bitmap file makes it possible for a
mirror to recover from a primary system failure without a full resync.

BitmapFileValid

REG_BINARY

Default:

1(Do NOT Modify)

Specifies whether the bitmap file is valid.

EnabledREG_BINARY

Default:

1(Do NOT Modify)

Indicates the mirror exists.

TargetDriveLetter

REG_BINARY

Default:

None(Do NOT Modify)

DataKeeper for Windows

55

Registry Entries that SHOULD NOT be Modified

Specifies the drive letter of the volume on the target side at the time of a mirror creation or continue.
This value is the Unicode representation of the drive letter.
This value is written by the driver during a mirror creation or continue operation and is present for
informational purposes only. The driver does not read this value.
Note: It is possible for drive letters to change while the system is running. This can be done by using
the Disk Management utility and other methods. This value is only accurate as of the last mirror
create or continuation.
WARNING: THIS VALUE SHOULD NOT BE CHANGED BY THE USER.

SourceDriveLetter

REG_BINARY

Default:

None(Do NOT Modify)

Specifies the drive letter of the volume on the source side at the time of a mirror creation or continue.
This value is the Unicode representation of the drive letter.
This value is written by the driver during a mirror creation or continue operation and is present for
informational purposes only. The driver does not read this value.
Note: It is possible for drive letters to change while the system is running. This can be done by using
the Disk Management program and other methods. This value is only accurate as of the last mirror
create or continuation.
WARNING: THIS VALUE SHOULD NOT BE CHANGED BY THE USER.

MirrorStateREG_DWORD
0 (None), 1 (Mirror), 2 (Resync),

Range:

3 (Broken), 4 (Mirror Paused),
5 (Resync Pending)Default:

0 (None)(Do NOT Modify)

Indicates the current mirroring state of a volume.
WARNING: THIS VALUE SHOULD NOT BE CHANGED BY THE USER.

MirrorType

REG_DWORD
0 (None), 1 (Synchronous),

Range:
2 (Asynchronous)
Default:

0 (None)(Do NOT Modify)

Indicates the type of mirroring this volume is engaged in.
WARNING: THIS VALUE SHOULD NOT BE CHANGED BY THE USER.

56

Administration

Using EMCMD with SteelEye DataKeeper

CleanShutdown

REG_DWORD

Default:

1(Do NOT Modify)

Indicates whether reboot was intentional or the result of a failure. The driver uses this entry to
determine whether to force a full resync or to do a partial resync. A graceful shutdown with no failed
writes results in a partial resync.
Note: This entry applies to source side only.

BreakUserRequested

REG_BINARY

Default:

None(Do NOT Modify)

Determines whether the mirror was broken or paused because of an error or because the user
requested the break/pause. If this entry indicates a break error, the system attempts to recover fromthe break/pause.
Note: This entry is used internally by the SteelEye DataKeeper driver.
RemoteName

REG_SZ

Default:

None(Do NOT Modify)

Indicates the name of the system (string value) that we are mirroring with. This value on the target
indicates the source; this value on the source indicates the target.

Using EMCMD with SteelEye DataKeeper
The EMCMD utility that ships with SteelEye DataKeeper provides users with a command line
method to manipulate the mirror. Because these scripts run in situations where the "normal"
validation rules may not apply, EMCMD does not perform the same kinds of sanity checks that theuser would experience using the SteelEye DataKeeper User Interface. EMCMD simply passes
commands to the SteelEye DataKeeper Replication service allowing the service to make any
decisions. It is this lack of checks that also makes this a useful diagnostic and support tool - though it
is potentially dangerous for someone not very experienced with the inner workings of SteelEye
DataKeeper.
The following sections detail the operation of the EMCMD SteelEye DataKeeper Command Line. You
must be in the EMdirectory or the directory must be in your path to issue these commands.
Note: The following style conventions will be utilized throughout.
Use the system's NetBIOS name, IP address or fully qualified domain name to attach<system> to a given system. You can also use a period (.) to attach to the local system where
emcmd is being executed.
<drive>Refers to the drive letter that is being referenced. EMCMD parses out everything after
the first character, therefore, any ":" (colon) would be extraneous.

DataKeeper for Windows57

Mirror State Definitions

Mirror State Definitions
The following numbers are used by the system to internally describe the various states. They areused by EMCMD, and they are also the state numbers found in event log entries.
-1: Invalid State
0: No Mirror
1: Mirroring
2: Mirror is resyncing
3: Mirror is broken
4: Mirror is paused
5: Resync is pending

BREAKMIRROR
EMCMD <system> BREAKMIRROR <volume letter>[<targetsystem>]This command forces the mirror into a Broken state. Breaking the mirror will cause a full resync to
occur when the mirror is continued or resynced. The parameters are:<system>This is the source system of the mirror to break. Running the BREAKMIRROR
command on the target has no effect.

<volumeletter>

The drive letter of the mirror that you want to break.

<targetsystem>This is the IP address of the target system of the mirror to break. This optionalparameter may be used if multiple targets are associated with the mirror. If not
specified, the mirror will be broken to all targets.

CHANGEMIRRORENDPOINTS
EMCMD <system> CHANGEMIRRORENDPOINTS <volume letter><old target IP> <new source IP> <new target IP>
This command is used to move a DataKeeper protected volume to another network location.
Note: This command supports changing the endpoints of a mirrored volume that isconfigured on 3 nodes or fewer. If your configuration consists of more than three nodes, themirrors must be deleted and recreated.

58

Administration

1x1 Mirror CHANGEMIRRORENDPOINTS Command Example

Note: If you are changing mirror endpoints for a volume that is part of a LifeKeeper hierarchy, youmust delete and recreate the hierarchy within LifeKeeper after making these endpoint changes. You
must also be sure that there is a LifeKeeper TCP/IP comm path that matches the new endpoints
between all systems.
Refer to the examples below.
See "WAN Considerations" and "Initial Synchronization of Data Across the LAN/WAN" in the"Configuration” section.
<system>This is the system that has the new source IP address available for the
mirror.

<volume letter>

The drive letter of the mirror to be changed.

<old target IP>

The previous IP address of the target system.

<new source IP>

The new IP address of the source system.

<new target IP>

The new IP address of the target system.

Notes:llll

A job may contain multiple volumes and multiple mirrors. The CHANGEMIRRORENDPOINTS command will modify endpoints on one mirror each time it is used. For
a 1x1 mirror (1 source, 1 target), only one command is required. For a 2x1 mirror (2 nodes witha shared volume with one target node) or a 1x1x1 (1 source, two target nodes), two commands
are required to change the necessary mirror endpoints.
If an existing mirror whose endpoints are being changed is currently an active mirror, it must be
put into the Paused, Broken or Resync Pending state before the endpoints can be changed.
Before making changes, it will be helpful to display Job Information for the volume. For example, emcmd . getJobInfoForVol D .
While making endpoint changes, the Job icon in the DataKeeper GUI may turn red. However,it will return to green after the ContinueMirror command is performed.

In the following examples, we move mirrors from the 172.17.103 subnet to the 192.168.1 subnet.

1x1 Mirror CHANGEMIRRORENDPOINTS Command Example
For a 1x1 mirror (source and target only), one command is required.
emcmd SYS1.MYDOM.LOCAL getJobInfoForVol D
ID = caa97f9f-ac6a-4b56-8f25-20db9e2808a8
Name = Mirr Vol D
Description = Mirror Volume D
MirrorEndPoints =SYS3.MYDOM.LOCAL;D;172.17.103.223;SYS1.MYDOM.LOCAL;E;172.17.103.221;A

DataKeeper for Windows59

2x1 Mirror CHANGEMIRRORENDPOINTS Command Example

emcmd SYS1.MYDOM.LOCAL PauseMirror D
emcmd SYS1.MYDOM.LOCAL ChangeMirrorEndPoints D
172.17.103.223 192.168.1.221 192.168.1.223
emcmd SYS1.MYDOM.LOCAL getJobInfoForVol D. . .
MirrorEndPoints =SYS3.MYDOM.LOCAL;D;192.168.1.223;SYS1.MYDOM.LOCAL;D;192.168.1.221;A
emcmd SYS1.MYDOM.LOCAL ContinueMirror D

2x1 Mirror CHANGEMIRRORENDPOINTS Command Example
For a 2x1 mirror that includes a shared source volume and a target volume, two commands are
required.
emcmd SYS1.MYDOM.LOCAL getJobInfoForVol E
ID = caa97f93e-ac6a-4b56-8f25-20db9e2808a8
Name = Mirr Vol E
Description = Mirror Volume E
MirrorEndPoints =SYS1.MYDOM.LOCAL;E;0.0.0.0;SYS2.MYDOM.LOCAL;E;0.0.0.0;D
MirrorEndPoints =SYS3.MYDOM.LOCAL;E;172.17.103.223;SYS2.MYDOM.LOCAL;E;172.17.103.222;A
MirrorEndPoints =SYS3.MYDOM.LOCAL;E;172.17.103.223;SYS1.MYDOM.LOCAL;E;172.17.103.221;A
emcmd SYS1.MYDOM.LOCAL PauseMirror E
emcmd SYS1.MYDOM.LOCAL ChangeMirrorEndPoints E
172.17.103.223 192.168.1.221 192.168.1.223
emcmd SYS2.MYDOM.LOCAL ChangeMirrorEndPoints E
172.17.103.223 192.168.1.222 192.168.1.223
emcmd SYS1.MYDOM.LOCAL getJobInfoForVol E. . .
MirrorEndPoints =60

Administration

1x1x1 Mirror CHANGEMIRRORENDPOINTS Command Example

SYS1.MYDOM.LOCAL;E;0.0.0.0;SYS2.MYDOM.LOCAL;E;0.0.0.0;D
MirrorEndPoints =SYS3.MYDOM.LOCAL;E;192.168.1.223;SYS2.MYDOM.LOCAL;E;192.168.1.222;A
MirrorEndPoints =SYS3.MYDOM.LOCAL;E;192.168.1.223;SYS1.MYDOM.LOCAL;E;192.168.1.221;A
emcmd SYS1.MYDOM.LOCAL ContinueMirror E

1x1x1 Mirror CHANGEMIRRORENDPOINTS Command Example
For a 1x1x1 mirror that includes 2 Target volumes, 2 commands are required.
emcmd SYS1.MYDOM.LOCAL getJobInfoForVol J
ID = caa97f93j-ac6a-4b56-8f25-20db9j2808a8
Name = Mirr Vol J
Description = Mirror Volume J
MirrorEndPoints =SYS1.MYDOM.LOCAL;J;172.17.103.221;SYS3.MYDOM.LOCAL;J;172.17.103.223;A
MirrorEndPoints =SYS3.MYDOM.LOCAL;J;172.17.103.223;SYS2.MYDOM.LOCAL;J;172.17.103.222;A
MirrorEndPoints =SYS1.MYDOM.LOCAL;J;172.17.103.221;SYS2.MYDOM.LOCAL;J;172.17.103.222;A
In this example the system "SYS3.MYDOM.LOCAL" will be moved to another site.
SYS1 and SYS2 will now use a new subnet (192.168.1.*) to communicate with SYS3.
However, SYS1 and SYS2 will continue using 172.17.103.* to communicate with each other.
emcmd SYS1.MYDOM.LOCAL PauseMirror J
emcmd SYS1.MYDOM.LOCAL ChangeMirrorEndPoints J
172.17.103.223 192.168.1.221 192.168.1.223
emcmd SYS2.MYDOM.LOCAL ChangeMirrorEndPoints J
172.17.103.223 192.168.1.222 192.168.1.223
emcmd SYS1.MYDOM.LOCAL getJobInfoForVol J. . .

DataKeeper for Windows

61

CLEARASR_OK

MirrorEndPoints =SYS1.MYDOM.LOCAL;J;192.168.1.221;SYS3.MYDOM.LOCAL;J;192.168.1.223;A
MirrorEndPoints =SYS3.MYDOM.LOCAL;J;192.168.1.223;SYS2.MYDOM.LOCAL;J;192.168.1.222;A
MirrorEndPoints =SYS1.MYDOM.LOCAL;J;172.17.103.221;SYS2.MYDOM.LOCAL;J;172.17.103.222;A
emcmd SYS1.MYDOM.LOCAL ContinueMirror J

CLEARASR_OK
EMCMD <system> CLEARASR_OK <volume> [<target_ip>]
This command clears the Automatic Split-brain Recovery OK flag, setting it to FALSE. If a target_ip
is specified, the flag for that mirror is set to FALSE. If no target_ip is specified, the flags for all mirrorsof the specified volume are set to FALSE. This command is only valid on a mirror Source system.
The Automatic Split-brain Recovery OK flag is for internal DataKeeper use only - it is not expectedthat a user would need to execute this command.
The parameters are:<system>

Source system only

<volume letter>

Drive letter of the mirrored volume[<target ip>]

IP address of the Target system

CLEARSWITCHOVER
EMCMD <system> CLEARSWITCHOVER <volume letter>
This command should be run on a target system where a mirror has been previously deleted with the
DELETELOCALMIRRORONLY command and now needs to be re-established. This command
clears the SteelEye DataKeeper switchover flag that is set for a volume that has been deleted fromthe Target role using DELETELOCALMIRRORONLY. If you delete a target using
DELETELOCALMIRRORONLY and do not run CLEARSWITCHOVER, you will not be able to reestablish a mirror target unless you reboot the system.
<system>This is the target system where you just ran DELETELOCALMIRRORONLY<volume letter> The drive letter of the mirror.

62

Administration

CONTINUEMIRRORCONTINUEMIRROR
EMCMD <system> CONTINUEMIRROR <volume letter> [<target
system>]This command forces a paused or broken mirror to resume mirroring. On successful completion of theresync (full or partial), the mirror state is changed to Mirroring. This command will not automaticallyrelock the target volume if it is unlocked. The parameters are:<system> This is the source system of the mirror to resume mirroring.
<volumeletter>

The drive letter of the mirror that you want to resume mirroring.

<targetsystem>This is the IP address of the target system of the mirror to resync. This optional parameter
may be used if multiple targets are associated with the mirror. If not specified, a resync will
be performed to all targets.

CREATEJOB
EMCMD <system> CREATEJOB <JobName><Description><SysName1> <DrvLetter1> <IP1><SysName2><DrvLetter2> <IP2> <MirrorType> ...
This command is for internal use only.

CREATEMIRROR
EMCMD <system> CREATEMIRROR <volume letter> <target
system> <type> [options]This command creates a mirror between two machines, using the same drive letter on each. The
parameters are as follows:

DataKeeper for Windows63

DELETEJOB<system>This is the IP address of the source system.

<volume letter>

This is the drive letter that is being mirrored. This will be both the source
and target drive letter.

<target system>

This is the IP address of the target system.

<type>

This is the type of mirror, where type is a single character:A - Create an Asynchronous Mirror
S - Create a Synchronous Mirror[options]

Optional arguments that specify behavior deviant from the norm. Thesecan be OR'd together to create a set of options. They are:
0X01: Create the mirror without doing a full resync operation.
0X02: Do not wait for the target side of the mirror to be created before
returning.
0X04: Create with boot-time restrictions in place - essentially treat thecreate as you would a mirror re-establishment as part of the boot process.
This option will check to see if the remote system is already a source andfail the creation if it determines that it was a source.

DELETEJOB
EMCMD <system> DELETEJOB [<JobId>]
This command is for internal use only.

DELETELOCALMIRRORONLY
EMCMD <system> DELETELOCALMIRRORONLY <volume letter>[<target system>]This command deletes the mirror only on the <system> it is issued on. It handles the case when amirror ends up with a target and no source or source and no target. The parameters are:<system> This can be either the source or the target system.
<volumeletter>

The drive letter of the mirror that you want to delete.

<targetsystem>This is the IP address of the target system of the mirror to delete. This optional parameter
may be used if multiple targets are associated with the mirror.

64

Administration

DELETEMIRROR

DELETEMIRROR
EMCMD <system> DELETEMIRROR <volume letter> [<target
system>]This command deletes the mirror from both the source and the target if <system> is a source. If<system> is a target, it will delete the target side of the mirror only if the source system is down. The
parameters are:<system> This can be either the source or the target system.
<volumeletter>

The drive letter of the mirror that you want to delete.

<targetsystem>This is the IP address of the target system of the mirror to delete. This optional parameter
may be used if multiple targets are associated with the mirror. If not specified, the mirror will
be deleted for all targets.

GETASR_OK
EMCMD <system> GETASR_OK <volume letter> <target_ip>
This command retrieves the Automatic Split-brain Recovery OK flag for the given mirror. This
command is only valid on a mirror Source system.
The Automatic Split-brain Recovery OK flag is for internal DataKeeper use only - it is not expectedthat a user would need to execute this command.
The parameters are:<system>

Source system only

<volume letter>

Drive letter of the mirrored volume<target ip>

IP address of the Target system

Sample output:
ASR_OK: FALSE
When the command is successful, it will report FALSE or TRUE.

GETCOMPLETEVOLUMELISTEMCMD <system> GETCOMPLETEVOLUMELISTDataKeeper for Windows

65

GETCONFIGURATIONThis command displays information on all volumes eligible to be mirrored or already in a mirror.
Sample output:
Volume 1 information:
Volume Root

= F:

Volume Label= New Volume

Volume File System= NTFS

Volume Total Space= 2151608320

Mirror Role

= 01

Number of targets=2

Target 0 information:
Volume State= 0001

Target System= 10.1.1.133

Target Drive Letter=F

Target 1 information:
Volume State= 0002

Target System= 10.1.1.134

Target Drive Letter=F

GETCONFIGURATIONEMCMD <system> GETCONFIGURATION <volume letter>
This command retrieves and displays the net alert settings (also referred to as "volume attributes") for
the volume. The parameters are:<system>This can be either the source or the target systems.

<volume letter> The drive letter of the volume you want information on.

Sample output:** Calling GetConfiguration [Volume F] **66

Administration

GETEXTENDEDVOLUMEINFOAll Net Alert bit

IS NOT enabled

Net Alert

IS NOT enabled

Broken State Alert

IS NOT enabled

Resync Done Alert

IS NOT enabled

Failover Alert

IS NOT enabled

Net Failure Alert

IS NOT enabled

LK Config

IS NOT enabled

Auto Resync

IS NOT enabled

MS Failover Cluster Config IS NOT enabled
Shared Volume

IS NOT enabled

GETEXTENDEDVOLUMEINFO
EMCMD <system> GETEXTENDEDVOLUMEINFO <volume letter>
This command returns extended volume information about the selected volume such as disk
signature, physical disk offset and internal disk id. The parameters are:<system>This can be either the source or the target systems.

<volume letter> The drive letter of the volume you want information on.

Sample output:-------------------------------------------EXTENDED INFO --Physical Disk Signature = {217abb5a-0000-0000-0000-000000000000}
Physical Disk Offset = 32256
Internal Disk ID= 0xf2fa

GETJOBINFO
EMCMD <system> GETJOBINFO [<JobId>]
This command displays job information for a specific JobId or all defined jobs.

GETJOBINFOFORVOLEMCMD <system> GETJOBINFOFORVOL <DrvLetter>[<FullSysname>|<IP>]This command displays job information related to a specific volume on a specific system.

DataKeeper for Windows

67

GETMIRRORTYPEGETMIRRORTYPE
EMCMD <system> GETMIRRORTYPE <volume letter>
This command provides a numeric output of the type of mirror.
The parameters are:<system>This can be either the source or the target systems.

<volume letter> The driver letter of the volume you want information on.

Output format:
c:> EMCMD . GETMIRRORTYPE F

Target system 10.1.1.133, Type 2
Target system 10.1.1.134, Type 2

Mirror Type:-1: Invalid Type (EMCMD cannot get the requested information.)
0: No mirror
1: Synchronous Mirror
2: Asynchronous Mirror

GETMIRRORVOLINFO
EMCMD <system> GETMIRRORVOLINFO <volume letter>
This command provides a very terse output of the state of mirror. The command
GETMIRRORVOLINFO can return multiple lines of output (one per target). It provides essentially thesame information as the GETVOLUMEINFO command does.
The parameters are:<system>This can be either the source or the target systems.

<volume letter> The drive letter of the volume you want information on.

Sample output:
c:> EMCMD . GETMIRRORVOLINFO F

68Administration

GETREMOTEBITMAP

F: 1 CARDINAL10.1.1.133 1
F: 1 CARDINAL10.1.1.134 1

Output format:[Volume Letter} {Mirror Role} [Source System] [Target System] [Mirror State]
Mirror Role: 1 = source; 2 = target

Mirror State:-1: Invalid State
0: No mirror
1: Mirroring
2: Mirror is resyncing
3: Mirror is broken
4: Mirror is paused
5: Resync is pending

GETREMOTEBITMAP
EMCMD <system> GETREMOTEBITMAP <volume letter><targetsystem> <local file>
This command is for internal use only.

GETRESYNCSTATUS
EMCMD <system> GETRESYNCSTATUS <volume letter>
This command returns information indicating the overall status of a resync operation. The parametersare:<system>This can be either the source or the target systems.

<volume letter> The drive letter of the volume you want to set the configuration on.

Sample output:
Resync Status for Volume F:

DataKeeper for Windows

69

EMCMD <system> GETRESYNCSTATUS <volume letter>

Target 0 (Target System 10.1.1.133)
ResyncPhase:3

BitmapPass:1

NumberOfBlocks : 32831
DirtyBlocks : 0
CurrentBlock : 0
NewWrites: 1803ResyncStartTime: Fri Nov 05 13.57.51 2008
LastResyncTime : Fri Nov 05 13.57.51 2008

Target 1 (Target System 10.1.1.134)
ResyncPhase:2

BitmapPass:0

NumberofBlocks : 32831
DirtyBlocks: 2124CurrentBlock : 29556
NewWrites:0

ResyncStartTime: Fri Nov 05 15:09:47 2008
LastResyncTime: Fri Nov 05 15:09:47 2008

The ResyncPhase is used internally and has little meaning outside of the development environment.
The values are: 0 (unknown), 1 (initial), 2 (update), and 3 (done).
The BitmapPass is the number of times we have passed through the bitmap indicating the number of
dirty blocks. We count from zero. If we do a resync in one pass, then this never increments.
The NumberOfBlocks is the number of 64K data blocks on the volume.
The DirtyBlocks parameter is the number of blocks that the bitmap indicates need to be updated(and have not already been).
The CurrentBlock parameter indicates the current location in the bitmap.
The NewWrites parameter indicates the number of writes that have occurred on the volume since wehave been resyncing.

70

Administration

GETSERVICEINFOThe ResyncStartTime and LastResyncTime parameters describe the time that the resync was
begun and the last time a resync write operation was sent across the network.

GETSERVICEINFO
EMCMD <system> GETSERVICEINFOThis command retrieves version and other information about the SteelEye DataKeeper service anddriver that is running on the specified machine. The parameters are:<system> This can be either the source or the target systems.

Sample output:

Service Description: = SteelEye DataKeeper Service
Service Build Type: = Release
Service Version= 7.0

Service Build=1

Driver Version= 7.0

Driver Build=1

Volume Bit Map= 1000070h

Service Start Time = Fri Oct 06 11:20:45 2008
Last Modified Time = Fri Oct 06 15:11:53 2008

GETSOURCEMIRROREDVOLUMESEMCMD <system> GETSOURCEMIRROREDVOLUMESThis command displays information about the volumes on the system that are currently the source ina mirror.
Sample output:
Status = 0
Source Volume = F:
Source Label= New Volume

Source #Targs = 2

DataKeeper for Windows

71

GETTARGETMIRROREDVOLUMES

Target 0
Target System = 10.1.1.133
Mirror State= 0001

Target 1
Target System = 10.1.1.134
Mirror State= 0001GETTARGETMIRROREDVOLUMESEMCMD <system> GETTARGETMIRROREDVOLUMESThis command displays information about the volumes on the system that are currently the target in a
mirror.

Sample output:** Calling GetTargetMirroredVolumes **Returned 1 Target Volumes

Target Volume 1 information:

Volume Root = F:
Volume State = 1
Source = 10.1.1.132
Target = BLUEJAYGETVOLUMEDRVSTATEEMCMD <system> GETVOLUMEDRVSTATE <volume letter>
This command retrieves the current state of the SteelEye DataKeeper device driver.
The parameters are:<system>This can be either the source or the target systems.

<volume letter> The drive letter of the volume you want to get the configuration on.

72

Administration

GETVOLUMEINFOThe output is a number indicating the state. The output is purposely terse as it is designed to beparsed in a DataKeeper recovery script. The output is one of the following mirror states:-1: Invalid State
0: No mirror
1: Mirroring
2: Mirror is resyncing
3: Mirror is broken
4: Mirror is paused
5: Resync is pending
The output also provides the address of the mirror endpoint (source or target).

GETVOLUMEINFO
EMCMD <system> GETVOLUMEINFO <volume letter> <level>
This command returns information about the selected volume. The parameters are:<system>This can be either the source or the target systems.

<volume letter> The drive letter of the volume you want information on.
<level>A number between 1-3 indicating the amount of detail you want.

Sample output:-------------------------------------LEVEL 1 INFO------------------------------Volume Root = F:
Last Modified = Fri Nov 05 15:24:14 2008
Mirror Role = SOURCE
Label = New Volume
FileSystem = NTFS
Total Space = 2151608320
Num Targets = 2
Attributes: 20h----------------------------- -------LEVEL 2 INFO------------------------------>> Remote [0]= 10.1.1.133, F:

Mirror State= MIRROR

DataKeeper for Windows73

ISBREAKUSERREQUESTED

Mirror Type= ASYNCHRONOUSLY>> Remote [1]= 10.1.1.133, F:

Mirror State= MIRROR

Mirror Type = ASYNCHRONOUSLY------------------------------------LEVEL 3 INFO------------------------------->> Remote [0}= 10.1.1.133, F:

No Resync or CompVol Statistics to report>> Remote [1]= 10.1.1.134, F:

No Resync or CompVol Statistics to report

ISBREAKUSERREQUESTEDEMCMD <system> ISBREAKUSERREQUESTED <volume letter>
This command checks whether a broken mirror is a result of a user request. The command may only
be run on the local system. The parameters are:<system>This should be the local system.

<volume letter> The drive letter of the volume that you want to check.
Output:TRUE

The mirror was broken because of a user request.

FALSE

The mirror was broken by SteelEye DataKeeper (e.g., network failure, failure to
write data on target side, etc).
The volume is not in a BROKEN (3) state.

ISPOTENTIALMIRRORVOLEMCMD <system> ISPOTENTIALMIRRORVOL <volume letter>
This command checks to determine if a volume is a candidate for mirroring. The command may only
be run on the local system. The parameters are:<system>This should be the local system.

<volume letter> The drive letter of the volume that you want to check.
Output:74

Administration

LOCKVOLUMETRUE - The volume is available for mirroring.
Otherwise, the output may be some combination of the following:
System Drive
RAW filesystem
FAT filesystem
ACTIVE partition
Contains PageFile
GetDriveType not DRIVE_FIXED
If the drive letter points to a newly created volume (i.e. SteelEye DataKeeper driver not attached yet),or a non-disk (network share, CD-ROM), the output will be:
Unable to open - SteelEye DataKeeper driver might not be attached (you may need to reboot) or thismight not be a valid hard disk volume.
If there is an internal error getting volume information, you may see the message:
Error in GetVolumeInfo - <Hex error code>
You should never see this, but it is possible. It indicates a problem in the service or driver.

LOCKVOLUME
EMCMD <system> LOCKVOLUME <volume letter>
This command forces an exclusive lock on the volume specified. This call will fail if a process owns
open handles into the volume. The parameters are:<system>This can be either the source or the target systems.

<volume letter> The drive letter of the volume you want to lock.

MERGETARGETBITMAP
EMCMD <system> MERGETARGETBITMAP <volume letter><target system>
This command is for internal use only.

PAUSEMIRROR
EMCMD <system> PAUSEMIRROR <volume letter> [<target

DataKeeper for Windows

75

EMCMD <system> PAUSEMIRROR <volume letter> [<target system>]system>]This command forces the mirror into a Paused state. The parameters are:<system>This is the source system of the mirror to pause. Running the PAUSEMIRROR
command on the target has no effect.

<volumeletter>

The drive letter of the mirror that you want to pause.

<targetsystem>This is the IP address of the target system of the mirror to pause. This optionalparameter may be used if multiple targets are associated with the mirror. If not
specified, the mirror to all targets will be paused.

PREPARETOBECOMETARGETEMCMD <system> PREPARETOBECOMETARGET <volume letter>
This command should only be used to recover from a Split Brain condition. It should be run on thesystem where the mirror is to become a target and is only valid on a mirror source. This command
causes the mirror to be deleted and the volume to be locked.
To complete split brain recovery, run CONTINUEMIRROR on the system that remains as the mirror
source.
Example Scenario
If volume F: is a mirror source on both SYSA and SYSB, you can use emcmd to resolve this split
brain situation. Choose one of the systems to remain a source - for example, SYSA. Make sure there
are no files or modifications on SYSB that you want to save - if so, these need to be copied manually
to SYSA. To re-establish the mirror, perform the following steps:
EMCMD SYSB PREPARETOBECOMETARGET F
The mirror of F: on SYSB will be deleted and the F: drive will be locked.
EMCMD SYSA CONTINUEMIRROR F
Mirroring of the F: drive from SYSA to SYSB will be established, a partial resync will occur(overwriting any changes that had been made on SYSB), and the mirror will reach the Mirroringstate.

READREGISTRY
EMCMD <system>READREGISTRY <volume letter>
This command tells the SteelEye DataKeeper driver to re-read its registry settings. The parameters
are:

76

AdministrationREGISTERCLUSTERVOLUME<system>This can be either the source system or the target system.

<volume letter> The drive letter of the mirror for which you want to re-read settings.
This command causes the following registry settings to be re-read and any changes to take effect.
Source system (changes to these parameters take effect immediately):
BandwidthThrottle
CompressionLevel
WriteQueueHighWater
WriteQueueLowWater
DontFlushAsyncQueue
Target system (changes take effect the next time the source and target systems reconnect):
TargetPortBase
TargetPortIncr

REGISTERCLUSTERVOLUME
EMCMD <system> REGISTERCLUSTERVOLUME <volume letter>
This command is used to register a DataKeeper protected volume in WSFC Windows 2008 cluster.
<system>This is the source system of the mirror.

<volume letter> The drive letter of the volume you want registered.

RESTARTVOLUMEPIPE
EMCMD <system> RESTARTVOLUMEPIPE <volume letter>
This command is for internal use only.

RESYNCMIRROR
EMCMD <system> RESYNCMIRROR <volume letter> [<target
system>]This command forces the mirror to be fully resynced. The parameters are:

DataKeeper for Windows77

SETASR_OK<system> This is the source system name.
<volumeletter>This is the drive letter of the mirror that should be resynced.

<targetsystem>This is the IP address of the target system of the mirror to resync. This optionalparameter may be used if multiple targets are associated with the mirror. If not
specified, a resync to all targets will be performed.

SETASR_OK
EMCMD <system> SETASR_OK <volume> [<target_ip>]
This command sets the Automatic Split-brain Recovery OK flag to TRUE.
If a target_ip is specified, the flag is set to TRUE for that mirror. If no target_ip is specified, the flags
for all mirrors of the specified volume that are in the Mirroring state - or in the Paused state, with
BreakUserRequested = FALSE - are set to TRUE. This command is only valid on a mirror Source
system.
The Automatic Split-brain Recovery OK flag is for internal DataKeeper use only - it is not expectedthat a user would need to execute this command.
The parameters are:<system>

Source system only

<volume letter>

Drive letter of the mirrored volume[<target ip>]

IP address of the Target system

SETCONFIGURATIONEMCMD <system> SETCONFIGURATION <volume
letter><configuration mask>
This command sets the net alert settings (also referred to as "volume attributes") for the volume. The
parameters are:78

Administration

EMCMD <system> SETCONFIGURATION <volume letter><configuration mask><system>This can be either the source or the target system.

<volume letter>

The drive letter of the volume you want to set the configuration on.
This is a bitmask indicating the net alert settings. These bits are defined:
0x01: All Net Alerts is enabled
0x02: Broken State Alert is enabled
0x04: Resync Done Alert is enabled
0x08: Failover Alert is enabled<configuration mask>
0x10: Net Failure Alert is enabled
0x20: LifeKeeper Config is enabled
0x40: Auto Resync is enabled
0x80: MS Failover Cluster Config is enabled
0x100: Shared Volume is enabled
Example to enable MS Failover Cluster Config:
EMCMD . SETCONFIGURATION E 128

Example to clear all flags:
EMCMD . SETCONFIGURATION E 0

DataKeeper for Windows

79

STOPSERVICESTOPSERVICEEMCMD <system> STOPSERVICEThis command stops the DataKeeper service.

SWITCHOVERVOLUME
EMCMD <system> SWITCHOVERVOLUME <volume letter>
This command attempts to make the given system become the source for the requested volume.
This command is for internal use only.

UNLOCKVOLUME
EMCMD <system> UNLOCKVOLUME <volume letter>
This command forces the volume specified to unlock. The parameters are:<system>This can be either the source or the target systems.

<volume letter> The drive letter of the volume you want to unlock.

UPDATEJOB
EMCMD <system> UPDATEJOB <JobId> <Name> <Descr>[<SysName1> <DrvLetter1> <IP1> <SysName2><DrvLetter2> <IP2><MirrorType>]...
This command is for internal use only.

UPDATEVOLUMEINFO
EMCMD <system> UPDATEVOLUMEINFO <volume letter>
This command causes the SteelEye DataKeeper service to query the driver for the correct mirror
state. This command is useful if the DataKeeper GUI displays information that appears to beincorrect or not up-to-date.
Note: The SteelEye DataKeeper service updates the volume information automatically based on newmessages in the system Event Log.
The parameters are:80

Administration

EMCMD <system> UPDATEVOLUMEINFO <volume letter><system>This can be either the source or the target system.

<volume letter> The drive letter of the volume that you want to update its info.

DataKeeper for Windows81

Chapter 5: User Guide
The topics in this section are designed to be a reference for you as you get started using SteelEye
DataKeeper, helping you identify the type of configuration you are interested in implementing andproviding detailed instructions for effectively using your SteelEye DataKeeper and SteelEye
DataKeeper Cluster Edition software.

Getting Started
Choose Your Configuration
DataKeeper can be utilized in a number of different configurations to facilitate a number of different
functions including:lProvide a second physical copy of your datalExtend an existing MSCS/WSFC cluster to a remote DR sitelEliminate the Single Point of Failure associated with traditional MSCS/WSFC clusters

Review the following replication configuration topics and their example USE CASES to familiarize
yourself with just some of DataKeeper's capabilities. Then use the topics associated with theconfiguration you are interested in to obtain detailed information about that configuration.

Disk-to-Disk
This is a simple one server, two disks configuration, mirroring Volume X on Server A to Volume Y on
Server A.

DataKeeper for Windows83

Disk-to-Disk

Example: Replicate data from one volume on a server to another volume on the same server.
USE
These disks can be different storage arrays, protecting against data loss should theCASE primary SAN fail.

Additional topics of interest include:

84

lCreating MirrorslManaging MirrorslExtensive Write ConsiderationslFrequently Asked Questions

User GuideOne-to-One

One-to-One
This is a simple one source, one target configuration, mirroring Volume X: across the network. In
addition to providing a second physical copy of the data, DataKeeper also provides the ability toswitch over the mirror which allows the data to become active on the backup server.

Example:Replicate data on one or more volumes from a server in one city to another server in
USEanother city.
CASE

Additional topics of interest include:lPrimary Server ShutdownlSecondary Server Failures

DataKeeper for Windows85One-to-Many (Multiple Targets)lUsing DataKeeper Standard To Provide Disaster Recovery For Hyper-V Virtual MachineslFrequently Asked Questions

One-to-Many (Multiple Targets)
This configuration involves one primary (source) system replicating one (or more) volume(s) to two
different target systems across the network. This is referred to as a multiple target configuration.

Note that there are two mirrors that are completely independent of each other. The mirrors might beusing different networks, they may have different compression or bandwidth throttle settings and they
may be in completely different states (e.g. Mirror 1 -- Mirroring, Mirror 2 -- Resyncing).

Example: Replicate data to one target server that resides locally in the same site with the primary
USE
server and replicate another copy of the data to a remote site for disaster recovery
CASE purposes should something happen to the first site.
Example:To periodically replicate or "push" data to multiple target systems from a single source
USEsystem.
CASE

86

User Guide

Many-to-One

Additional topics of interest include:lPrimary Server ShutdownlSecondary Server FailureslCreating Mirrors with Multiple Targetsl

Switchover and Failover with Multiple TargetslUsing DataKeeper Standard To Provide Disaster Recovery For Hyper-V Virtual MachineslFrequently Asked Questions

Many-to-One
This configuration involves multiple source servers replicating one (or more) volumes to the sametarget system. In this configuration, each volume being replicated to the target server must have aunique drive letter.

Note: This is actually two One-to-One mirrors.
Example:Users may wish to replicate multiple branches back to a single data center for backup
USE
consolidation and disaster recovery purposes.
CASE

DataKeeper for Windows

87

N-Shared-Disk Replicated to One

Additional topics of interest include:lPrimary Server ShutdownlSecondary Server FailureslUsing DataKeeper Standard To Provide Disaster Recovery For Hyper-V Virtual MachineslFrequently Asked Questions

N-Shared-Disk Replicated to One
This configuration allows you to replicate the shared volume(s) of the primary site to a remote system
across the network.

This configuration is ideal for providing local failover within the Primary Site and disaster recovery
protection should the entire Primary Site go down.
Example: Extend your MSCS or WSFC cluster to a DR site by replicating the shared volume to a
USEremote target. In the event of a primary site outage, the remote server becomes the
CASE active server.

Additional topics of interest include:

88

User GuideDataKeeper Standalone

DataKeeper StandalonelCreating Mirrors with Shared VolumeslManaging Shared VolumeslAdding a Shared SystemlRemoving a Shared SystemlFrequently Asked Questions

DataKeeper & Failover Clusteringl

SteelEye DataKeeper Cluster Edition OverviewlCreating a DataKeeper Volume Resource in WSFCl

Replacing a Physical Disk Resource in MSCS with DataKeeper Volume Resourcel

Switchover in an N-Shared x N-Shared ConfigurationlSplit Brain Issue and RecoverylUsing DataKeeper Cluster Edition to Enable Multi-Site Hyper V ClusterslUsing DataKeeper Cluster Edition to Enable Multi-Site MS File Share Resources

N-Shared-Disk Replicated to N-Shared-Disk
This configuration replicates data between sites, where each site utilizes shared storage.

DataKeeper for Windows89

DataKeeper Standalone

Note that the number of systems in the Primary Site does not have to equal the number of systems in
the Remote Site.
Also note that only the Source Server has access to the Source Volume. Shared Source systems
and all systems on the target side cannot access the volume and are locked from the file system's
perspective.
Example: Users who wish to provide the same level of availability in their DR site will deploy thisUSE
configuration to ensure that regardless of what site is in service, the availability level
CASE stays the same.
Where Hyper-V clusters are configured with virtual machines distributed across many
Example:cluster nodes, it is important to have a similar number of cluster nodes available in theUSEdisaster recovery sight to ensure that the resources are available to run all of the virtual
CASE
machines in the event of a disaster.

Additional topics of interest include:

DataKeeper StandalonelCreating Mirrors with Shared VolumeslManaging Shared VolumeslAdding a Shared SystemlRemoving a Shared SystemlFrequently Asked Questions

DataKeeper & Failover Clustering

90lSteelEye DataKeeper Cluster Edition OverviewlCreating a DataKeeper Volume Resource in WSFCl

Replacing a Physical Disk Resource in MSCS with DataKeeper Volume Resourcel

Switchover in an N-Shared x N-Shared ConfigurationlSplit Brain Issue and RecoverylUsing DataKeeper Cluster Edition to Enable Multi-Site Hyper V ClusterslUsing DataKeeper Cluster Edition to Enable Multi-Site MS File Share Resources

User Guide

N-Shared-Disk Replicated to Multiple N-Shared-Disk Targets

N-Shared-Disk Replicated to Multiple N-Shared-Disk
Targets
This is a complex configuration which combines the aspects of replicating a shared storage
environment to multiple shared targets.

Example: Users who wish to provide the same level of availability in their DR sites will deploy
USE
CASE

this configuration to ensure that regardless of what site is in service, the availability
level stays the same.

Additional topics of interest include:

DataKeeper StandalonelCreating Mirrors with Shared VolumeslManaging Shared VolumeslAdding a Shared System

DataKeeper for Windows91

DataKeeper & Failover ClusteringlRemoving a Shared SystemlFrequently Asked Questions

DataKeeper & Failover Clusteringl

SteelEye DataKeeper Cluster Edition OverviewlCreating a DataKeeper Volume Resource in WSFCl

Replacing a Physical Disk Resource in MSCS with DataKeeper Volume Resourcel

Switchover in an N-Shared x N-Shared ConfigurationlSplit Brain Issue and RecoverylUsing DataKeeper Cluster Edition to Enable Multi-Site Hyper V ClusterslUsing DataKeeper Cluster Edition to Enable Multi-Site MS File Share Resources

Setting Up SteelEye DataKeeper
Follow these steps to start using SteelEye DataKeeper:
1. Connect to the servers you wish to configure for replication. You can select Connect toServer from the Action pull down menu, right-click on the job folder in the left panel tree
display and select Connect to Server or choose Connect to Server from the Actions pane.
2. Create a Job. From the right Actions pane, select Create Job or you can right-click on the job
folder in the left panel tree and select Create Job.
3. Create a mirror for the new job.

Connecting to a Server
Use this dialog to connect to the server of your choice. You may enter the IP address, system
NetBIOS name or the full system domain name for the server. Click Connect to select it.

92

User Guide

Disconnecting from a Server

Disconnecting from a Server
Use this dialog to disconnect from a server. You may use this option if you no longer wish to view theserver in the Administration Window.
From the list of servers, select the server(s) that you wish to disconnect from and click Disconnect.

Creating a Job
1. If not already connected, connect to the server where you want to create a job.
2. From the right Actions pane, select Create Job. The Job Wizard will prompt you for a Job
Name and Description.
3. Enter the appropriate information and select Create Job to finish.
4. You will immediately be prompted to Create a Mirror for this job.

Configuring Mirrors
Creating a Mirror
Before creating a mirror, ensure the following:l

You have created a job to hold the mirror.

l

The volume on both the source and target systems must be of the NTFS file system type.

DataKeeper for Windows93Creating the Mirrorl

The target volume must be greater than or equal to the size of the source volume.

l

If the volume will be configured on a Dynamic Disk, create the dynamic volume first, thenreboot the system before continuing with mirror creation (see the Mirroring with Dynamic
Disks Known Issue for further information).

l

See Volume Considerations for more information, including what volumes cannot be mirrored.

l

You must be connected to both the source and target server before creating the mirror. Use
the Connect to Server link in the Actions pane or in the Mirror Create dialog box.

Creating the Mirror
1. Select Create a Mirror from the right column Actions task pane. The Choose a Source
dialog box appears.
2. Enter or choose the Server Name for the source volume. You can select the Connect toServer link below this field to connect to the server at this time.
3. Choose the IP address that is on the subnet you wish to use for the replication traffic.
4. Enter or choose the Volume to be used on the selected server. Select Next. The Choose aTarget dialog box appears.
5. Enter or choose the server with the Target Volume. If necessary, you can select theConnect to Server link at this time.
6. Choose the IP address that is on the subnet you wish to use for the replication traffic.
7. Enter or choose the Volume to be used on the selected server. Press Next to continue. The
Configure Details dialog box will display.
8. Use the slide bar to set the data compression level for data sent from the source to the target
system. Note: Compression is only recommended to be used when replicating across WAN
connections.
9. Select how (Asynchronously or Synchronously) the source volume data should be sent to thetarget volume.
10. If you wish to limit the amount of bandwidth used by replication, enter the maximum
bandwidth for transmission; otherwise, leave the default setting. Select Done. The job with
the new mirror will appear in the left tree pane and the main window displays.
Note: After creating a mirror, its initial state may be displayed as Resync Pending in theSummary pane. When the initial mirror resynchronization completes, its state willautomatically switch to the Mirror state.

Creating Mirrors With Shared Volumes
In order to properly configure DataKeeper in a shared volume configuration, use the DataKeeper GUI
to connect to all systems where the shared volumes are configured. When connected, theDataKeeper GUI uses hardware signatures to automatically detect which volumes are shared andwhich are not.

94

User Guide

Creating Mirrors With Shared Volumes

Important: If the GUI is not connected to a system, the GUI cannot detect shared volumes on thatsystem.
Note: DataKeeper allows mirrors to be created on shared volumes where more than one system hasaccess to the same physical storage. To prevent simultaneous access, see Safe Creation of a
Shared-Storage Volume Resource prior to performing the following steps.
1. Connect to all systems via the DataKeeper GUI.
2. Choose Create Job.
3. Define a job name and job description and select Create Job. The Choose a Source dialog
box appears.

4. Choose a Source System, IP Address and Volume.
5. Select Next. The Shared Volumes dialog box appears.

DataKeeper for Windows95

Creating Mirrors With Shared Volumes

6. Choose the systems that have volumes which are shared with the source system.
Note: All systems connected to the shared volumes must be configured with IP addresses on
the same subnet. The Next button will not be enabled until all included systems have a valid
IP address.
While it is possible to uncheck the Include box for a given system, the user should be very
careful to make sure that the volume listed really is not a shared volume. It is possible(although unlikely) that the hardware signatures of two volumes will match even if they are notshared. In this case, it is valid for the user to uncheck the Include box.
7. Select Next. The Choose a Target dialog box appears.
8. Choose a Target System, IP Address and Volume.
9. Select Next.
Note: If there are volumes on other systems that are shared with this target volume, theShared Volumes dialog will appear next. Configure these shared target volumes as you
would for shared source volumes, described above.
10. Select Next to continue. The Configure Details dialog box appears.
11. Use the slide bar to set the data compression level for data sent from the source to thetarget system.
Note: Compression is only recommended to be used when replicating across WAN
connections.

96

User GuideSafe Creation of a Shared-Storage Volume Resource

12. Select how (Asynchronously or Synchronously) the source volume data should be sent to thetarget volume.
13. If you wish to limit the amount of bandwidth used by replication, enter the maximum
bandwidth for transmission; otherwise leave the default setting.
14. Select Done. The job with the new mirror will appear in the left tree pane and the main window
displays.

Safe Creation of a Shared-Storage Volume Resource
DataKeeper allows mirrors to be created on shared volumes where more than one system hasaccess to the same physical storage. The shared volume can be on the source side of the mirror oron the target side.
In order to safely create a shared-storage volume resource, the user must ensure that only one
system has write access to the volume at any time. This includes the time prior to the creation of the
DataKeeper mirror. Since DataKeeper doesn't know that the volume is shared before a mirror
is created, manual steps must be taken to ensure that the volume is never writable on two or more
systems at the same time.
To protect the volume from simultaneous write access, use the following procedure. In this example,
two systems - SYSA and SYSB - are connected to shared storage, then replicated to a third system,
SYSC, the target system. This storage is configured with two volumes which should be assigned
drive letters E: and F: on all three systems.
1. Power on SYSA, while leaving SYSB powered off.
2. Install DataKeeper if it has not been installed.
3. Assign drive letters E: and F: to the volumes; format with NTFS if not formatted yet.
4. Power off SYSA.
5. Power on SYSB.
6. Install DataKeeper if it has not been installed and reboot the system after the installation.
7. Assign drive letters E: and F: to the shared volumes.
8. In a command prompt, run the following commands to set the "shared" config flag:"%ExtMirrBase%\emcmd" . setconfiguration E 256"%ExtMirrBase%\emcmd" . setconfiguration F 256
9. Reboot SYSB. It will come up with the E: and F: drives locked.
10. Power on SYSA. It will come up with the E: and F: drives writable.
11. Use the DataKeeper GUI to create a job and mirror from SYSA E: (source) to SYSC E: (target)
and from SYSA F: (source) to SYSC F: (target). DataKeeper will detect that SYSB is a sharedsource system.
Note: If using WSFC, see Creating a DataKeeper Volume Resource in WSFC.

DataKeeper for Windows97

Creating Mirrors With Multiple Targets

An alternative to powering the systems off is to use Disk Management to take the shared physicaldisk offline.
This procedure can also be used to safely create a mirror on a shared target volume. In the example
above, the mirror could have been created from SYSC to SYSA - in that case, the volume SYSB
would be a shared target.
If you have more than two shared systems at a site, this same procedure can be used to lock thevolume on all systems that will not be part of the initial mirror.

Creating Mirrors With Multiple Targets
SteelEye DataKeeper provides the ability to replicate data from a single source volume to one or moretarget volumes. In addition, DataKeeper also allows you to switch over control and make any of thetarget volumes become the source. Assuming you have already created a job with a mirror using theCreate a Mirror procedure, use the following procedure to create a second mirror from the same
source volume to a different target volume:
1. Right-click on an existing job.
2. Choose the Create a Mirror action.
3. Choose the source of the existing mirror (as this will also be the source of the new mirror).
4. Choose the target for the new mirror.
5. Select Done.
The next dialog displayed prompts you for additional information that DataKeeper requires tobe able to properly switch over the source volume to one of the target volumes. You alreadyspecified the network endpoints between the source system and the first target system when
you created the first mirror. You also specified the network endpoints between the source
system and the second target system when you created the second mirror.
The final piece of information DataKeeper requires is the network endpoints of a (potential)
mirror between the first target system and the second target system so that no matter which
system becomes the source of the mirrors, mirrors can be properly established between all
three systems.
6. On the Additional Information Needed dialog, choose the network endpoints that will be
used to create a mirror between the first target system and the second target system.
This mirror will not be created now. DataKeeper is simply storing these mirror endpoints
for future use.
7. Select OK.
Note: If you are replicating a single source volume to more than two target volumes, you will
have to provide network endpoints for mirrors between all of the systems involved.
Examples:98

User Guide

Switchover and Failover with Multiple Targets

3 Nodes (A,B,C) - Define Endpoints for Mirrors
Created Mirrors

Additional Mirror Relationships

A→B

B→C

A→C

4 Nodes (A,B,C,D) - Define Endpoints for Mirrors
Created Mirrors

Additional Mirror Relationships

A→B

B→C

A→C

B→D

A→D

C→D

Switchover and Failover with Multiple Targets
In a multiple target configuration, it is important to understand how DataKeeper mirrors will work in thefollowing scenarios:lManual switchover to a target serverlSource server failure followed by a manual switchover to a target server

Example:In the following scenario, there are three servers:lServer A (source)lServer B (target 1)lServer C (target 2)

Note that there are two separate mirrors and Server A is replicating to two different target volumes.
lMirror 1: Server A → BlMirror 2: Server A → C

DataKeeper for Windows99

Manual Switchover to a Target Server

Manual Switchover to a Target Server
In the event the administrator wants to make Server B become the active (source) server, thefollowing actions will occur:
1. Administrator initiates a switchover to Server B via the Switchover Mirror option in the
DataKeeper UI.
2. Server A flushes its data to the source volume.
3. Mirror 1 is automatically deleted and recreated from Server B to Server A.
4. The mirror between Server A and Server C is also automatically deleted. (Note: There will bea few seconds delay noticed in the DataKeeper GUI; this delay can take some time based on
network bandwidth and server performance.)
5. A new mirror is established between Server B and Server C. The intent log from Server A is
copied to Server B. Only a partial resync of the data between Server B and Server C isrequired to bring them in sync. (A partial resync is the resynchronization of only the necessary
data to establish the new endpoints and is usually much quicker than a full resync.)
RESULT

100l

Mirror 1: Server B → A (partial resync)l

Mirror 2: Server B → C (copy intent log from Server A, partial resync)

User Guide

Source Server Failure - Manual Switchover to a Target Server

Source Server Failure - Manual Switchover to a Target Server
In the event the active (source) server fails, DataKeeper allows you to make Server B become theactive (source) server. The following actions will occur:
1. Server A fails.
2. Administrator initiates a switchover to Server B via the "Switchover Mirror" option in the
DataKeeper UI.
3. Server B deletes the local side of the mirror and creates a new mirror from Server B to ServerA.
4. The mirror between Server A and Server C is deleted.
5. A new mirror is established between Server B and Server C. Because the intent log on theoriginal source server (Server A) is not available, a full resync of the volume between Server B
and Server C is required. The duration of a full resync depends on the size of the drive, server
performance and network bandwidth and will usually take a longer time for large amounts ofdata.
6. When Server A comes back up, Server A detects that Server B became the source of themirror while Server A was down and Server A automatically becomes the target of the mirror.
RESULTl

Mirror 1: Server B → A (partial resync when Server A comes back up)lMirror 2: Server B → C (full resync)

DataKeeper for Windows101

Working with Jobs

Working with Jobs
Jobs
For ease of use and configuration, SteelEye DataKeeper does much of its management of mirrors
through an entity called a job. A job is a logical grouping of related mirrors and servers. This featureallows you to create a job for complex repetitive tasks and run them quickly from the SteelEye
DataKeeper user interface.
Mirrors that are related should be placed in a single job. For instance, multiple mirrors protecting anapplication like SQL Server should be placed in the same job. Mirrors that are unrelated should beplaced in separate jobs.
Note: Mirrors created in previous versions of SteelEye Data Replication will be imported as individual
jobs. The administrator must take care to edit these jobs to ensure that mirrors are logically grouped
together.

102

User Guide

Renaming a Job

Renaming a Job
1. Select the job in the left Console Tree pane of the main DataKeeper window.
2. You can select Rename Job from the Actions pane or right-click on the selected job andchoose Rename Job from the menu that displays.
3. Enter the new Job Name and new Job Description.

DataKeeper for Windows103Deleting a Job

Deleting a Job
1. Select the job in the left Console Tree pane of the main DataKeeper window.
2. You can select Delete Job from the Actions pane or right-click on the selected job andchoose Delete Job from the menu that displays.
3. Select Yes to delete the selected job and associated mirror(s).

Reassigning a Job
Use the Reassign Job function to move an existing mirror from one job to another without deletingthe mirror.
1. Select the job from the middle Summary panel.
2. Right-click and select Reassign Job or select Reassign Job from the Actions panel.
3. Select an existing job from the Existing Jobs dropdown list and press the Assign Job
button. The new job assignment will display in the middle Summary panel.
Note: You can also choose to Create a New Job from this dialog if you do not want to use an
existing job.

Switching Over a Mirror
The Switchover Mirror function enables you to switch over all the mirrors in a job or just one of themirrors in a job. A "mirror" includes all variants for mirrors such as standard single-target replicationand complex geometries such as multi-target replication and shared node sources and targets.
These complex mirror configurations and geometries actually implement a related collection ofindividual mirrors working as a single unit.
Note: Before switching over a mirror to the current target system, the mirror must be in the Mirroringstate. Please see the Requirements for Switchover table below to understand switchoverrequirements in multiple target and shared source/target configurations.
1. Select the job in the left column tree pane.
2. Right-click on the selection and select Switchover Mirrors.
3. A dialog displays allowing you to designate which node/host(s) in the selected job or mirror
should become the new mirror source.
In the case of complex mirrors, it is valid to choose either a shared peer of the current mirror
source or any one of the active targets that are currently in the mirroring state. Choosing ashared peer of an active target or one that is not currently mirroring will result in an error andleave the current mirror status and configuration unchanged.
4. An hour glass will appear over the mirror icon in the left tree panel.
5. You can confirm the switchover is complete by checking the mirror status in the Summary

104

User Guide

Requirements for Switchover

panel.

Requirements for Switchover
Configuration Example ConType
figuration
Single Target

Requirements for Switchover

A→B

Switchover to B

Allowed if mirror is in MIRRORING STATE

A → B (mirroring)

Switchover to B

Allowed because A→B mirror isin MIRRORING state

Switchover to C

Not allowed

Multiple Target
A → C (paused)

SharedSource/Target

Switchover
Action*S1,S2,S3 → *T1, Switchover to shared
T2source (S2 or S3)

Always allowed(S1 is current
source)Switchover to current
target (T1)

Only allowed if mirror in MIRRORING state(T1 is current
target)Switchover to sharedtarget (T2)

Not allowed -- Switchover will
fail

Working with Mirrors
Managing Mirrors
From the Actions pane, you can select a job and manage all the mirrors in a job, or you can perform
an action on a single mirror in a job.
After selecting a job, you can:lPause and Unlock All MirrorslContinue and Lock All MirrorslBreak All MirrorslResync All MirrorslSwitchover All Mirrors

The target-level actions (at the bottom of the Actions pane) are for individual mirrors. For example, if
you have a job with two mirrors and you select one of the mirrors then choose the target Pause andUnlock Mirror action, only the selected mirror would be paused.

DataKeeper for Windows105Pause and Unlock

Pause and Unlock
This command pauses the mirror and unlocks the volume on the target system. You may wish to
unlock the target volume in order to make a backup of the volume.
Warning: Any writes to the target volume while it is unlocked will be lost when the mirror iscontinued. Also, if a reboot is performed on the target system while a volume is unlocked, a full
resync will occur when the mirror is Continued.
The Continue and Lock All Mirrors command will relock the target volume, perform a partial resync
and resume the mirroring process.
1. Select the job that contains the mirror you want to unlock.
2. Right-click on the job selection and choose Pause and Unlock All Mirrors or select Pause
and Unlock All Mirrors from the Actions task pane.
3. Select Yes to pause and unlock all mirrors in the selected job.

Continue and Lock
This action locks the volume on the target system and then resumes the mirroring process.
While the mirror is paused, writes on the source system are recorded in the SteelEye DataKeeper
Intent Log. When the Continue and Lock operation occurs, these changed blocks - along with any
blocks that also changed on the target volume - are sent from the source to the target, and the mirror
is resynchronized in what is called a Partial Resync.
1. Select the job that contains the mirror you want to continue.
2. Right-click on the job selection and choose Continue and Lock All Mirrors or selectContinue and Lock All Mirrors from the Actions task pane.
3. Select Yes to continue and lock all mirrors in the selected job.
4. The mirror state will change to Mirroring in the Mirror Summary window.

Partial Resync
A partial resync is the resynchronization of only the necessary data to establish the new endpoints
and is usually much quicker than a full resync.

Break
Breaking a mirror is similar to the Pause and Unlock function. It suspends mirror operation andunlocks the target volume for read/write access. The difference is that the Break operation marks allbits in the DataKeeper Intent Log as dirty, which forces a full resync to occur when the mirror isresync'ed to resume mirroring.

106

User GuideResync

Warning: Do not write to the target volume while the mirror is broken. Any writes to the target while
the mirror is broken will be lost when the mirror is resynchronized.
1. Select the job that contains the mirror you want to break.
2. Right-click on the job selection and choose Break All Mirrors or select Break All Mirrors
from the Actions task pane.
3. Select Yes to break all mirrors in the selected job.
4. The mirror state will change to Broken in the Mirror Summary window.

ResyncUse this command to re-establish a broken mirror. A full resync will be performed.
1. Select the job that contains the mirror you want to resync.
2. Right-click on the job selection and choose Resync All Mirrors or select Resync All Mirrors
from the Actions task pane.
3. Select Yes to resync all mirrors in the selected job.
4. The mirror state will change to Mirroring in the Mirror Summary window.

Deleting a Mirror
This action discontinues replication and removes the mirror from the associated job. The target
volume is unlocked and made fully accessible.
1. Select the job that contains the mirror you want to delete.
2. Right-click on the mirror and choose Delete Mirror or select Delete Mirror from the Actions
task pane.
3. Select Yes to delete the mirror.
4. The mirror will be deleted and removed from the associated job.

DataKeeper Volume Resize
DataKeeper allows users to extend and shrink their DataKeeper volumes dynamically while retaining
mirror settings. Once the resize is complete, a partial resync will be performed.
Note: This resize procedure should be performed on only one volume at a time.

Non-Shared Volume Procedure
1. Pause all mirrors and unlock all target volumes via the Pause and Unlock mirror option in the
DataKeeper UI.
2. Using the Windows Disk Management utility, increase (or decrease if allowed by the

DataKeeper for Windows107

Shared Volume Procedure - Basic Disk

Operating System) the volume size on the source system and the target system(s) byselecting "Extend Volume" or "Shrink Volume" in the Resizing Wizard. Make sure that the
raw volume size of each target is greater than or equal to the size of the source volume.
3. Continue and Lock the mirrors after volumes have been resized. The mirroring process should
resume and a partial resync should occur.

Shared Volume Procedure - Basic Disk
This resizing procedure will work on shared volumes if the shared volume is configured on a Basic
Disk. If there is free space on the disk, the volume can be extended to use the additional space.
1. Pause all mirrors and unlock all target volumes via the Pause and Unlock mirror option in the
DataKeeper UI.
2. Shut down (power off) all shared source and shared target systems.
3. Change the volume sizes as noted above in the Non-Shared Volume procedure.
4. Continue and Lock the mirrors after resizing has completed.
5. Power on all shared systems. The new volume configuration will automatically be recognized.

Error Handling:
1. After performing the Continue and Lock, if the GUI abnormally maintains the “Paused” mirror
state, check the system logs on both source and target nodes.
2. DataKeeper will prevent a mirror resync from starting if the target volume is smaller than thesource volume. If the system logs show such an error, you must again Pause and Unlock themirror to resize the volume.
3. DataKeeper, upon continuing the mirror, will reallocate the bitmap file and in-memory bitmap
buffer using the new volume size. In the event DataKeeper is unsuccessful in reallocating thebitmap buffer - due to insufficient memory resources on the source or target - the mirror will beplaced into a ‘Broken’ state which will require a FULL resync.
4. Once resizing a volume has begun, there is no way to back out of the resizing feature and theassociated error handling as DataKeeper will have to reallocate the bitmap file and in-memory
bitmap buffer. Any failure of this reallocation procedure will break the mirror and force a FULL
resync.

Restrictions

108l

DataKeeper does not support changing the disk type of the physical disk where a mirrored
volume is located (for example, Basic Disk to Dynamic Disk).

l

DataKeeper does not support third-party partition resizing products.

l

DataKeeper does not support volume resizing on shared volumes configured on Dynamic
Disks. Windows 2008 R2 and Windows 2003 R2 cannot reliably use a shared Dynamic Disk.

User GuideMirror Properties

Mirror Properties
Select a job in the Job Summary pane and right-click to choose Mirror Properties.

This dialog displays the following information about the job, source and target systems:l

Job NamelState (current state of the job; for example, Active)lSource SystemlServer - name of source serverlSource IP - IP address of source serverlDisk Space - capacity of the source volumelShared Hosts - other systems that have access to this volume via shared storage

DataKeeper for Windows109

Changing the Compression Level of an Existing MirrorlTarget SystemlServer - name of target serverlTarget IP - IP address of target server

You can modify the following settings through the Mirror Properties dialog:lCompression Level - specifies the compression level for the given mirror. The value can be set
from lowest to highest. We recommend a level of "Medium low", but users should test
several different settings to see what level works best in their specific environment.
Compression is typically not required for LAN connections > 100 Mbps.
Note: Any changes made to the compression level setting are automatically propagated to all
the systems listed in the Mirror Properties display.

lMaximum Bandwidth - Specifies the maximum amount of network bandwidth (in kilobits per
second) that a particular mirror is allowed to use. A value of 0 means unlimited.

Note: In a multi-target configuration where A is mirroring to B and C, the properties of the mirror
between B and C cannot be set until B or C becomes the source.

Changing the Compression Level of an Existing Mirror
The compression level of the mirror is set during mirror creation and applies to that specific mirror
only.
To change the compression level of an existing the mirror, edit the properties of the mirror from within
the DataKeeper GUI.
1. Select the mirror and click on Edit.
2. Change the compression level by dragging on the slider button.
The values change from lowest to the highest. We recommend a level of “Medium low”, but users
should test several different settings to see what level works best in their specific environment.
Also note that by changing the parameter as the comment suggests in the dialog, the compression
properties will be propagated to all the systems listed in the Mirror Properties display.

110

User Guide

Working with Shared Volumes

Working with Shared Volumes
Managing Shared Volumes
Once your mirrors have been created, DataKeeper allows you to manage your shared volumes. By
choosing Manage Shared Volumes from the DataKeeper GUI, you can add another system, whichis sharing a mirrored volume, to a job. It also allows you to remove a shared system from a job.
These systems can exist on either the source side or the target side of the mirror.
To add or remove a system that is sharing a mirrored volume on either the source or target end of amirror, select the job that you want to manage and highlight the mirror that contains the volume that is
to be edited.
If a volume is mirrored to more than one target and you want to add or remove a shared system on thesource side of the mirror, you can choose any of the mirrors, since they all refer to the same source
volume. Choose the Manage Shared Volumes action for that mirror, and the Shared Volumes
dialog will appear.

DataKeeper for Windows111Adding a Shared System

If you want to add or remove a shared system on the target side of the mirror, you must select thatspecific mirror.

Adding a Shared System
To add a shared system to either the source or target side of a mirror, you must be connected to thatsystem. You can connect to the system prior to starting the Manage Shared Volumes dialog, or you
can click Connect to Server from within the dialog. In either case, if there are shared volumes thatexist on that system that match either the source or target volume, the system and its matching IP
address will be displayed in the correct page of the dialog. Leave the Include box checked to include
the system in the job configuration and choose the correct IP address to be used for that system.
If a shared system does not have an IP address whose subnet matches the existing mirrored
systems, the IP Address field will be blank and the Include box will be unchecked. You mustreconfigure the system so that it has an IP address on that subnet. Then try adding the sharedvolume again.
When you click Done after adding a new shared system, it will be added to the job. If there are
multiple mirrors in place, you will be asked to provide the network addresses to be used between the
newly-added system and all other targets.

112

User Guide

Removing a Shared System

Removing a Shared System
To remove a shared system from either side of the mirror, bring up the Manage Shared Volumes
dialog and uncheck the Include box for the system to be removed. When you click Done, the job will
be updated so that the system is not part of the job.
Warning: If a shared system is removed from the source side of the mirror, the source volume is
now accessible on multiple systems and simultaneous access of the source volume could result indata corruption.

Using Hyper-V in a Non-Clustered Environment
Using SteelEye DataKeeper Standard To Provide
Disaster Recovery For Hyper-V Virtual Machines
Considerations
When preparing a Hyper-V environment that spans subnets, subnetting may need to be taken into
consideration for any applications that are running inside the virtual machine. Some applications "hardcode" IP addresses into their configurations. When these types of applications are loaded in a virtual
machine that is replicated (via a DataKeeper replicated volume) to a target server on a different
subnet, they may not operate as expected due to the difference in the network settings.

Preparing the Environment
1. Install Windows on two servers with at least two partitions, one for the OS and one for theHyper-V virtual machine (VM) files. The partition for the files on the target server must be ofequal or greater size to the source server's "data" partition. Install and configure the Hyper-V
role on each server as described in Microsoft's Hyper-V Planning and Deployment Guide andthe Hyper-V Getting Started Guide, but wait to create your virtual machine until the
DataKeeper replicated volume has been created.
2. Complete the installation requirements for the SteelEye DataKeeper software.
3. Connect to the Servers.
Once you connect, new options will appear in the center pane.
You can also optionally review theServer Overview report to see the status of your volumes.
When you connect to multiple servers that have DataKeeper installed and licensed, you will
see multiple servers and volumes listed here.

DataKeeper for Windows113

Create and Configure a Hyper-V Virtual Machine

4. Create a Job / Mirrored Volume.
Note: When you select your source server, ensure you select the server whose volume youwant to replicate from. Reversing the source and target in these steps will completely
overwrite your source volume with whatever is on the target server's volume, even if it isempty, causing you to lose any and all data stored on the source volume.

Create and Configure a Hyper-V Virtual Machine
1. Launch the Hyper-V Console from Start - Administrative Tools - Hyper-V Manager.
2. Start the New Virtual Machine Wizard.

114

User Guide

Create and Configure a Hyper-V Virtual Machine

3. Specify the amount of RAM to use.

4. Select a network adapter to use.

DataKeeper for Windows115Create and Configure a Hyper-V Virtual Machine

5. Create a new Virtual Hard Disk on the replicated volume (or copy an existing VHD onto thereplicated source volume and point the creation wizard at it to use as the virtual disk).

6. Specify the operating system installation options.

116

User Guide

Install an Operating System and Any Required Applications in the Virtual Machine

7. Finish the wizard and start the virtual machine.

Install an Operating System and Any Required Applications in the
Virtual Machine
1. Load the operating system into the virtual machine as dictated by industry or vendor specified
best practices.
2. Configure the networking within the virtual machine to use DHCP addresses. Use DHCP
reservations and name resolution (DNS or WINS) records as well if necessary for addressconsistency for client connections.
3. Install any necessary applications in the virtual machine.

Configure the Target Server to Run the Virtual Machine
1. On the source Hyper-V host server, open Hyper-V Manager, connect to the virtual machineand do a full shutdown of the virtual machine. These actions will quiesce the data on the disk
and will maintain data integrity on the target server.
2. Start the DataKeeper console as described previously.
3. Ensure the volume has been fully mirrored by checking the mirror status. The status must
indicate Mirroring with the zero KB Resync Remaining.

4. Select the mirror and click Switchover in the Actions pane.

This will reverse the source and target and allow you to provision the virtual machine on thetarget server.

DataKeeper for Windows117Configure the Target Server to Run the Virtual Machine

5. On the target server, start the Hyper-V Manager.
6. Start the New Virtual Machine Wizard.

7. Specify the amount of RAM to use.

118

User GuideConfigure the Target Server to Run the Virtual Machine

8. Select a network adapter to use.

IMPORTANT: Use the existing virtual hard disk on the replicated volume.

DataKeeper for Windows

119Configure the Target Server to Run the Virtual Machine

9. Click Finish to finalize the virtual machine creation process.

Start your virtual machine and test it to make sure it operates as expected.

120

User Guide

Planned/Unplanned Switchover

Planned/Unplanned Switchover
Initiate a Planned Switchover to migrate the virtual machine back to your source server.
Initiating a switchover for testing or in the event of an actual outage on the primary server can becompleted simply by doing a Planned Switchover. There are two types of switchovers, planned
and unplanned.

Planned Switchover
A planned switchover is typically done in a maintenance window when the user community can beadvised of planned downtime.
1. On the server on which the virtual machine is running, start Hyper-V Manager, as previously
described, and connect to the virtual machine.

2. From inside the virtual machine, Shut Down the virtual machine.

DataKeeper for Windows

121Planned Switchover

3. On the same server, start the DataKeeper console as described previously.
Ensure the volume is in mirroring state by checking the mirror status. The status must
indicate Mirroring with the zero KB Resync Remaining before switchover occurs.

4. Select the mirror and click Switchover in the Actions pane.

Wait until the mirror has completely switched over and the DataKeeper user interface (UI)
indicates the roles have been reversed properly.
5. Log into the Hyper-V host server that just became the source server in the DataKeeper
interface.

122

User GuideUnplanned Switchover

6. Start Hyper-V Manager as described previously.
7. Start the virtual machine.

Unplanned Switchover
An unplanned switchover is necessary when a failure of some sort occurs and either the source
system is unavailable or the connection between the systems is broken and requires that the virtual
machine be brought online on the target server.
Since, in this scenario, the source server is unavailable for some reason, quiescing the data on thesource server is not possible and as such, only the following steps are necessary on the target server
to bring the virtual machine online.
1. On the target server, start the DataKeeper console as described previously.
2. Select the mirror and click Switchover in the Actions pane.

Wait until the mirror has completely come into service on the server and the DataKeeper userinterface (UI) indicates the functional server is the source server.
3. On the same server, start Hyper-V Manager as described previously.
Start the virtual machine.

DataKeeper for Windows123Switchback

Switchback
Switchback is a planned event which transfers the virtual machine from the target server back to thesource server and, in process, is exactly the same as the planned switchover process. Please referto the steps previously listed in the Planned Switchover section to affect a switchback.

Using Cluster Edition
Creating a DataKeeper Volume Resource in WSFC
Automatic Creation of a Mirror in WSFC
1. Use the SteelEye DataKeeper GUI to configure a mirror.
2. At the completion of the mirror creation operation, the following dialog box will pop up which
will allow you to automatically add the mirror as a DataKeeper volume resource into WSFC.

If Yes is selected, then the DataKeeper mirror will be added as a DataKeeper
volume resource to "Available Storage" in WSFC. However, if No is selected or an error
is encountered, follow the steps in the section “Manual Creation of a Mirror in WSFC”, tocreate the mirror manually.
Whether the mirror is created automatically or manually, the DataKeeper volume resource(s) is
placed in "Available Storage." The DataKeeper volume resource(s) can now be utilized just as if it

124

User Guide

Manual Creation of a Mirror in WSFC

were a physical disk resource. While clustering some applications (SQL for example), theDataKeeper volume resource is recognized and treated exactly the same as a physical disk resource.
This means that during the cluster create process, the DataKeeper volume resource will be pulled
automatically into the cluster resource and the dependencies will be created automatically. Other
applications, notably the Hyper-V “Virtual Machine” resource, are hard-coded to look for a physicaldisk resource and will not automatically pull the DataKeeper resource into the cluster configuration. In
these circumstances, the DataKeeper volume resource can be easily added to the cluster resource
and the dependencies can be created manually through the WSFC GUI.

Manual Creation of a Mirror in WSFC
1. Wait until the mirrors are in the Mirroring state.
2. Create an Empty Application.
lOpen the Microsoft Windows Failover Cluster GUIlRight-click on Services and ApplicationslExpand More ActionslSelect Create Empty Service and Applicationl

Right-click on the newly created service and select PropertieslRename the empty application to DataKeeper Service

3. Add a resource to the new empty application.
l

Right-click on DataKeeper ServicelSelect Add ResourcelNavigate to More Resources/Add DataKeeper Volume

4. Open the Properties of this newly added resource and change the Resource Nameto something meaningful, like "DataKeeper Volume E" (which designates E drive). Select the
DataKeeper Volume Parameters tab and associate a volume drive letter (E for the above
example) with the resource. A list of all mirrored volumes will be presented. Choose thevolume that you wish to control with this resource.
5. Right-click on the resource and choose Bring Online. Make sure it comes online.
Note: Resources placed in online status are unlocked. Resources placed in the offline
status are locked.
6. Repeat Steps 3 and 4 for all the other DataKeeper volumes you wish to protect with WSFC.
7. Move the resource to available storage by doing the following:l

Expand the Services and Applications tablSelect the DataKeeper service just created and note the resourcesl

From the main pane, select the resource (i.e., DataKeeper Volume E)lRight-click and select Remove from DataKeeper Service -- this will move the

DataKeeper for Windows

125Extending a Traditional 2-Node WSFC Cluster to a Third Node via DataKeeper

resource to Available Storagel

Repeat for all the other volumes

8. Delete the empty application created in Step 2.

Extending a Traditional 2-Node WSFC Cluster to a Third
Node via DataKeeper
When replicating from a WSFC 2-node cluster to a third node via DataKeeper, the following tasks are
required:lReplace the existing WSFC physical disk resource with a DataKeeper volume resource that
supports data replication.

lChange the quorum type to Node Majority.

l

Add the third node into the cluster for failover.

lReestablish any/all resource dependencies to the new DataKeeper volume resource.

The following example details the steps necessary to extend a cluster resource group from a 2-nodecluster to a third node via DataKeeper.

1. Remove physical disk resources from WSFC.
This also removes any dependencies on these physical disk resources. These dependencies
will need to be reestablished to the new DataKeeper volume resource, so please take note ofwhat these dependencies are before completing this first step by viewing the Dependency
Report. Highlight your resource and select Show Dependency Report.
Use Failover Cluster Manager MMC to perform the following steps:

126

User Guide

Extending a Traditional 2-Node WSFC Cluster to a Third Node via DataKeeper

a. Offline the cluster resource group by right-clicking and selecting Take this service or application offline.

b. Remove the physical disk from cluster resource group (moves to Available
Storage).

DataKeeper for Windows127Extending a Traditional 2-Node WSFC Cluster to a Third Node via DataKeeperc. Remove the physical disk resource from the cluster configuration by deleting theresource from the Available Storage group.

2. Configure cluster quorum settings.
Because there will now be a third node in a remote site, the Disk Witness in Quorum is nolonger valid, therefore, the Node Majority configuration should be selected.
a. Right-click the cluster and select More Actions / Configure Cluster Quorum
Settings...

128

User Guide

Extending a Traditional 2-Node WSFC Cluster to a Third Node via DataKeeper

b. Select Node Majority. Note: Change the quorum type to Node Majority if the
final number of nodes is odd as in a 3-node cluster, or Node and File Share
Witness Majority if the final number of nodes will be even as in a 4-nodecluster.
c. Delete disk witness from Available Storage.
3. Online Disk.
Use Disk Management MMC to perform the following steps:
a. Online physical disk.

b. Change drive letter to match previous configuration (if needed).

c. Repeat the above steps, 2a and 2b, on all shared nodes in the cluster.
4. Make sure the volume of the third node is available to become a target. It should be formatted
and online, and it should be at least as big or bigger than the source volume.
5. Create Mirror.

DataKeeper for Windows

129Extending a Traditional 2-Node WSFC Cluster to a Third Node via DataKeeper

Use the DataKeeper UI to perform the following steps (make sure DataKeeper Service isrunning on all servers):a. Connect to all shared nodes and the third node.

TheServer Overview Report will show connection to all three nodes:

b. Create a job containing a mirror to the third node.
c. Select a Source.

130

User Guide

Extending a Traditional 2-Node WSFC Cluster to a Third Node via DataKeeper

d. Select Shared Volumes.

DataKeeper for Windows131Extending a Traditional 2-Node WSFC Cluster to a Third Node via DataKeeper

e. Select a Target.

f. Configure Details. Choose compression settings, if applicable, and choose
mirror type, asynchronous or synchronous. Select Done.

132

User Guide

Extending a Traditional 2-Node WSFC Cluster to a Third Node via DataKeeper

The mirror will then begin resyncing to the third node. After resyncing is complete, the Job
State will change to Mirroring.

6. Add DataKeeper Volume Resource.
Use Failover Cluster Manager MMC to perform the following steps:a. Add DataKeeper Volume Resource to cluster resource group.
i. Right-click on the application.
ii. Select Add a Resource / More Resources / Add DataKeeper
Volume.

DataKeeper for Windows

133Extending a Traditional 2-Node WSFC Cluster to a Third Node via DataKeeperb. Assign a name and drive letter to the DataKeeper Volume Resource.
i. Right-click on the New DataKeeper Volume.
ii. Select Properties.

iii. Under the General tab, fill in the Resource Name.
iv. Under the DataKeeper Volume Parameters tab, assign the drive letter.

134

User Guide

Extending a Traditional 2-Node WSFC Cluster to a Third Node via DataKeeper

7. Online DataKeeper volume resource.

8. Online Server resource.

DataKeeper for Windows

135

Extending a Traditional 2-Node WSFC Cluster to a Third Node via DataKeeper

9. Add third node into the cluster.
Use Failover Cluster Manager MMC to perform the following steps (Note: Make sure the
Failover Clustering feature is installed on the third node prior to adding into the cluster):a. Right-click Nodes.
b. Select Add Node.
c. In the Add Node Wizard, enter name of server to be added, click Add andselect Next.

136

User Guide

Extending a Traditional 2-Node WSFC Cluster to a Third Node via DataKeeper

d. Yes may be chosen to perform Validation Testing, but be aware that someerrors are expected due to the disk being locked on the target side. Note: Whenperforming validation testing, select Run only the tests I select, then deselectthe Storage tests from the Test Selection screen.

Even though the Storage tests were deselected, the Failover Cluster
Validation Report will still report a List Cluster Volumes failure in the
Cluster Configuration Test. This, along with a few other warnings, is
expected due to the third node and its volume not being shared with the first two
nodes.

d. Yes may be chosen to perform Validation Testing, but be aware that someerrors are expected due to the disk being locked on the target side. Note: Whenperforming validation testing, select Run only the tests I select, then deselectthe Storage tests from the Test Selection screen.

DataKeeper for Windows

137Extending a Traditional 2-Node WSFC Cluster to a Third Node via DataKeeper

Even though the Storage tests were deselected, the Failover Cluster
Validation Report will still report a List Cluster Volumes failure in the
Cluster Configuration Test. This, along with a few other warnings, is
expected due to the third node and its volume not being shared with the first two
nodes.

e. After viewing the Validation Report, select Finish. The Validation Warning
screen will reappear. Select No to add the node without performing the tests
again.
f. Select Next on the Confirmation screen.
g. The Summary screen will appear indicating that the node was added
successfully.
At this point, the cluster resource group is defined across all three nodes in the cluster.

138

User Guide

Extending a Traditional 2-Node WSFC Cluster to a Third Node via DataKeeper

10. Reestablish any/all resource dependencies to the new DataKeeper volume resource.
a. Right-click application resource and select Properties.

DataKeeper for Windows

139Extending a Traditional 2-Node WSFC Cluster to a Third Node via DataKeeper

b. Select the Dependencies tab.
c. Click on the Click here to add a dependency tab.
d. Enter the new DataKeeper volume
e. Select Apply and then Okay.
Dependencies should now be reestablished.

140

User Guide

Extending a Traditional 2-Node WSFC SQL Server Cluster to a Third Node via DataKeeper

Extending a Traditional 2-Node WSFC SQL Server
Cluster to a Third Node via DataKeeper
When replicating from a WSFC SQL Server 2-node cluster to a third node via DataKeeper, thefollowing tasks are required:lReplace the existing WSFC physical disk resource with a DataKeeper volume resource that
supports data replication.

lChange the quorum type to Node Majority.

l

Add the third node into the SQL Server cluster for failover.

lReestablish any/all resource dependencies to the new DataKeeper volume resource.

The following example details the steps necessary to extend a SQL Server cluster resource groupfrom a 2-node cluster to a third node via DataKeeper.
1. Remove physical disk resource from WSFC.
This also removes any dependencies on these physical disk resources. These dependencies
will need to be reestablished to the new DataKeeper volume resource, so please take note ofwhat these dependencies are before completing this first step by viewing the Dependency
Report. Highlight your resource and select Show Dependency Report.

DataKeeper for Windows

141Extending a Traditional 2-Node WSFC SQL Server Cluster to a Third Node via DataKeeper

Use Failover Cluster Manager MMC to perform the following steps:
a. Offline the SQL Server cluster resource group by right-clicking and selecting
Take this service or application offline.

b. Remove the physical disk from the SQL Server cluster resource group (moves
to Available Storage).

c. Remove the physical disk resource from the SQL Server cluster configuration
by deleting the resource from the Available Storage group.

142

User Guide

Extending a Traditional 2-Node WSFC SQL Server Cluster to a Third Node via DataKeeper

2. Configure cluster quorum settings.
Because there will now be a third node in a remote site, the Disk Witness in Quorum is nolonger valid; therefore, the Node Majority configuration should be selected.
a. Right-click the cluster and select More Actions / Configure Cluster Quorum
Settings...

DataKeeper for Windows

143Extending a Traditional 2-Node WSFC SQL Server Cluster to a Third Node via DataKeeper

b. Select Node Majority. Note: Change the quorum type to Node Majority if the
final number of nodes is odd as in a 3-node cluster, or Node and File Share
Witness Majority if the final number of nodes will be even as in a 4-nodecluster.
c. Delete disk witness from Available Storage.
3. Online Disk.
Use Disk Management MMC to perform the following steps:
a. Online the physical disk.

b. Change the drive letter to match the previous SQL Server configuration (if needed).

144

User Guide

Extending a Traditional 2-Node WSFC SQL Server Cluster to a Third Node via DataKeeperc. Repeat the above steps, 2a and 2b, on all shared nodes in the cluster.
4. Make sure the volume of the third node is available to become a target. It should be formatted
and online, and it should be at least as big or bigger than the source volume.
5. Create Mirror.
Use the DataKeeper UI to perform the following steps (Note: Make sure DataKeeper isrunning on all servers):a. Connect to all shared nodes and the third node.

The Server Overview Report will show connection to all three nodes:

DataKeeper for Windows

145Extending a Traditional 2-Node WSFC SQL Server Cluster to a Third Node via DataKeeper

b. Create a job containing a mirror to the third node.

c. Select a Source.

146

User Guide

Extending a Traditional 2-Node WSFC SQL Server Cluster to a Third Node via DataKeeper

d. Select Shared Volumes.

DataKeeper for Windows

147

Extending a Traditional 2-Node WSFC SQL Server Cluster to a Third Node via DataKeeper

e. Select a Target.

f. Configure Details. Choose compression settings, if applicable, and choose
mirror type, Asynchronous or Synchronous. Select Done.

148

User Guide

Extending a Traditional 2-Node WSFC SQL Server Cluster to a Third Node via DataKeeper

The mirror will then begin resyncing to the third node. After resyncing is complete, theJob State will change to Mirroring.

6. Add DataKeeper Volume Resource.
Use Failover Cluster Manager MMC to perform the following steps:a. Add DataKeeper volume resource to SQL Server cluster resource group.
i. Right-click on the SQL Server application.
ii. Select Add a Resource / More Resources / Add DataKeeper

DataKeeper for Windows

149

Extending a Traditional 2-Node WSFC SQL Server Cluster to a Third Node via DataKeeper

Volume.

b. Assign a name and drive letter to the DataKeeper Volume Resource.
i. Right-click on the New DataKeeper Volume.
ii. Select Properties.

150

User Guide

Extending a Traditional 2-Node WSFC SQL Server Cluster to a Third Node via DataKeeperiii. Under the General tab, fill in the Resource Name.
iv. Under the DataKeeper Volume Parameters tab, assign the drive
letter.

7. Online DataKeeper volume resource.

8. Online SQL Server cluster resource group.

DataKeeper for Windows

151Extending a Traditional 2-Node WSFC SQL Server Cluster to a Third Node via DataKeeper

9. Add third node into the cluster.
Use Failover Cluster Manager MMC to perform the following steps (Note: Make sure the
Failover Clustering feature is installed on the third node prior to adding into cluster):a. Right-click Nodes.
b. Select Add Node.
c. In the Add Node Wizard, enter name of server to be added, click Add andselect Next.
d. Yes may be chosen to perform Validation Testing, but be aware that someerrors are expected due to the disk being locked on the target side. Note: Whenperforming validation testing, select Run only the tests I select, then deselectthe Storage tests from the Test Selection screen.

152

User Guide

Extending a Traditional 2-Node WSFC SQL Server Cluster to a Third Node via DataKeeper

Even though the Storage tests were deselected, the Failover Cluster Validation
Report will still report a List Cluster Volumes failure in the Cluster Configuration
Test. This, along with a few other warnings, is expected due to the third node and its
volume not being shared with the first two nodes.

e. After viewing the Validation Report, select Finish. The Validation Warning
screen will reappear. Select No to add the node without performing the tests
again.
f. Select Next on the Confirmation screen.
g. The Summary screen will appear indicating that the node was added
successfully. A Warning may appear on this screen because SQL Server has
not yet been installed on the third node. This installation will be performed in thenext step.
10. Install SQL Server on the third node.
a. On third node, run the following command:

DataKeeper for Windows

153

Extending a Traditional 2-Node WSFC SQL Server Cluster to a Third Node via DataKeeper

Setup /SkipRules=Cluster_VerifyForErrors/Action=AddNode /INSTANCENAME="MSSQLSERVER"
b. On Setup Support Rules screen, select Okay.
c. When prompted, enter Product Key and select Next.
d. Accept License Terms and select Next.
e. On the Setup Support Files screen, select Install.
f. The Setup Support Rules screen will appear. Review the System
Configuration Check Report for any failures, then select Next.
g. Select Next when the Cluster Node Configuration screen appears.
h. On the Service Accounts screen, enter Passwords for SQL Server services
based on setup of the first nodes. Select Next.

i. When the Error Reporting screen appears, select Next.
j. When the Add Node Rules screen appears, select Next.

154

User Guide

Extending a Traditional 2-Node WSFC SQL Server Cluster to a Third Node via DataKeeperk. Once the Ready to Add Node screen appears, select Install.
l. The Complete screen will appear notifying that the Failover Cluster Add
Node operation is complete. Select Close.
11. The final step is to reestablish any/all resource dependencies between the SQL Server service
resource and the new DataKeeper volume resource.
a. Right-click the application resource and select Properties.
b. Select the Dependencies tab.
c. Click on the Click here to add a dependency tab.
d. Enter the new DataKeeper volume
e. Select Apply and then Okay.

Dependencies should now be reestablished. The Dependency Report may be viewed again
to make sure.

DataKeeper for Windows

155

Extending a Traditional 2-Node Cluster to a Shared-Replicated Configuration

Extending a Traditional 2-Node Cluster to a SharedReplicated Configuration
Add a Shared Node Using Windows Server 2008 or 2008R2
When using Windows Server 2008 or Windows Server 2008R2, a 1x1 2-Node replicated cluster using
DataKeeper Volumes can be extended to a 2x1 shared and replicated 3-Node cluster by using eitherof the following methods:ll

WSFC GUIWSFC command line tool: "cluster /add /node:<standby node name>"

In Windows Server 2008 and Windows Server 2008R2, DataKeeper shared disks will remain
DataKeeper Volume Resources in the cluster when additional nodes with shared disks are added.
This is because the shared disk is never accessible on every node in the cluster -- only two systems
in a 3-node cluster. It is very important that the DataKeeper Volume Resource not be converted to a
WSFC Physical Disk Resource.

Add a Shared Node Using Windows Server 2008R2 "SP1"WARNING - The WSFC mmc GUI behavior on Windows Server 2008R2 "SP1" has changed!
Starting with WSFC 2008R2SP1, Microsoft has changed the behavior of the WSFC mmc GUI when
adding nodes to a cluster. If the new node is hosting a disk that is shared by one or more othersystems already in the cluster, the shared disk on the new node and the existing DataKeeper Volume
Resource will automatically be converted to a WSFC Physical Disk Resource when the node isadded to the cluster! The transformation process includes a volume letter change that will break the
DataKeeper Volume Resource and the associated replication mirror. Clustered applications will likely
be impacted.
When using Windows Server 2008R2SP1, do not use the WSFC GUI to add a node to the cluster if
the new node is hosting a DataKeeper shared disk.
When using Windows Server 2008R2SP1, additional nodes with DataKeeper shared volumes can besafely added to a WSFC cluster using only the WSFC command line tool as follows:

156

User Guide

Using DataKeeper Cluster Edition to Enable Multi-Site Hyper-V Clustersl

WSFC command line tool: "cluster /add /node:<standby node name>"

Using DataKeeper Cluster Edition to Enable Multi-Site
Hyper-V Clusters
Prerequisite
Familiarity with Microsoft Windows Server 2008, Microsoft Windows Failover Cluster ServerManagement and Hyper-V Virtual Management procedures and commands is highly
recommended.
Note: DataKeeper Cluster Edition does not support Cluster Shared Volumes; therefore, when
configuring Hyper-V with DataKeeper Cluster Edition, you must have one volume per virtual
machine.
1. Before you begin, all the Microsoft Windows 2008 Servers in your cluster must be installed
and configured as outlined in other topics for this product (refer to "Creating a DataKeeper
Volume in WSFC"). In addition, the following products must be installed and configured oneach server in your cluster.
Microsoft Windows Server 2008
Operating
Systems

OR
Microsoft Windows Server 2008 R2

Hardware Platform

64-bit environment and supports hardware-assisted virtualization (Intel VT)
technology

VirtualManagement
SoftwareHyper-V role and all Hyper-V updates

SteelEye
DataKeeper GUI
SoftwareMicrosoft .Net Framework 3.5 SP1SteelEye
DataKeeper
LicenseA DataKeeper Cluster Edition license key is required for every server onwhich DataKeeper runs. This applies to both physical and virtual servers

Network
Configuration

A high speed WAN link between the primary data center and the DR site (seeperformance benchmark on bandwidth configuration)
Windows Server 2008 Failover Cluster Management

Cluster Server
Software

OR
Windows Server 2008 R2 Failover Cluster Management

IMPORTANT NOTE: You must create a cluster in WSFC prior to installing SteelEye
DataKeeper to ensure proper registration of the SteelEye DataKeeper Volume resource.

DataKeeper for Windows157

Using DataKeeper Cluster Edition to Enable Multi-Site Hyper-V Clusters

2. Use the SteelEye DataKeeper GUI to configure a job that includes all mirrors and shared
relationships for the nodes that are part of the cluster. Wait until the mirrors are in the
Mirroring state. For more information about setting up your SteelEye DataKeeper
environment, see the Getting Started topic.
3. Using Hyper-V, configure the first virtual machine and make sure to specify E:\ in the Storethe virtual machine in a different location text box. This setting is in the Specify Nameand Location window.

4. Select Finish and then shut down the virtual machine.
5. Use WSFC to create a Virtual Server resource choosing to protect the first virtual machine.
This option is available under Configure a Service or Application.

158

User Guide

Using DataKeeper Cluster Edition to Enable Multi-Site Hyper-V Clusters

DataKeeper for Windows

159

Using DataKeeper Cluster Edition to Enable Multi-Site Hyper-V Clusters

160

User Guide

Using DataKeeper Cluster Edition to Enable Multi-Site Hyper-V Clusters

6. Add a SteelEye DataKeeper volume resource. Right-click on the virtual server resource
created in Step #5 and choose Add a Resource, then More Resources -> Add DataKeeper
Volume from the context menu.

7. Right-click on the SteelEye DataKeeper volume resource and choose Properties DataKeeper Volume Parameters. Denote which drive letter it is associated with the DK
resource (e.g. Volume E)

DataKeeper for Windows161

Using DataKeeper Cluster Edition to Enable Multi-Site Hyper-V Clusters

162

User Guide

Using DataKeeper Cluster Edition to Enable Multi-Site Hyper-V Clusters

8. Use Microsoft WSFC Manager, right-click on the Virtual Machine Configuration VM1 andchoose Properties. In the Properties window, choose the Dependencies tab and add the
New DataKeeper Volume as a dependency. Click OK.

DataKeeper for Windows163

Using DataKeeper Cluster Edition to Enable Multi-Site Hyper-V Clusters

9. Right-click on the Virtual Machine VM1 resource and choose Start.

164

User Guide

Using DataKeeper Cluster Edition to Enable Multi-Site Hyper-V Clusters

10. The virtual machine is now online and highly available.

DataKeeper for Windows165

Using DataKeeper Cluster Edition to Enable Multi-Site Hyper-V Clusters

11. Verify that Quick Migration works by right-clicking on the virtual machine resource andchoose Move Virtual Machine(s) to Another Node.
12. Verify that the virtual machine is now running on the secondary server.

166

User Guide

Using DataKeeper Cluster Edition to Enable Multi-Site File Share Resources with Windows Server
2003 Microsoft Cluster Service

13. Simulate a catastrophic failure by pulling the power cord on secondary server and verify thatthe virtual machine automatically restarts on primary server.

Using DataKeeper Cluster Edition to Enable Multi-Site
File Share Resources with Windows Server 2003
Microsoft Cluster Service
Use the following procedure to protect File Share resources using SteelEye DataKeeper andMicrosoft Cluster Server (MSCS).
IMPORTANT NOTE: You must create a cluster in MSCS prior to installing SteelEye DataKeeper toensure proper registration of the SteelEye DataKeeper Volume resource.
1. Create a mirror for the volume using the SteelEye DataKeeper user interface. Make sure themirror is in "Mirroring" state before protecting in MSCS.

DataKeeper for Windows167

Using DataKeeper Cluster Edition to Enable Multi-Site File Share Resources with Windows Server
2003 Microsoft Cluster Service

2. Open the MSCS Cluster Administrator.
3. Create a new group (called e.g. "FSGroup").
a. Fill in the Description field and click Next.
b. Add your servers as Preferred Owners and click Finish.
4. Add your DataKeeper volume resource to FSGroup.
a. Right-click on "FSGroup" and select New ⇒ Resource.
b. Fill in the Name and Description of your resource.
c. Select DataKeeper Volume as the Resource Type.
d. Click Next.
e. Click Finish.

168

User Guide

Using DataKeeper Cluster Edition to Enable Multi-Site File Share Resources with Windows Server
2003 Microsoft Cluster Service

5. In the Cluster Administrator, click on the Resources folder.
6. Assign the drive letter to the DataKeeper volume resource.
a. Right-click on DataKeeper volume resource and select Properties.
b. Select the DataKeeper Volume Parameters tab.
c. Select volume drive letter from the drop-down list and click OK to confirm yourselection.

d. Click OK to close the Properties page.
7. Bring the DataKeeper volume resource online.
l

Right-click on DataKeeper volume resource and select Bring Online.

8. Create a new File Share resource under the Group "FSGroup".

DataKeeper for Windows169

Using DataKeeper Cluster Edition to Enable Multi-Site File Share Resources with Windows Server
2003 Microsoft Cluster Service

a. Right-click on FSGroup and select New --> Resource.
b. Fill in the Name and Description of your resource.
c. Select File Share as the Resource Type.

d. Click Next.
e. Specify the owners of this resource.
f. Click Next.

170

User Guide

Using DataKeeper Cluster Edition to Enable Multi-Site File Share Resources with Windows Server
2003 Microsoft Cluster Service

g. Name the File Share resource and specify the path to the shared directory andassign any share permissions.

DataKeeper for Windows171

Using DataKeeper Cluster Edition to Enable Multi-Site File Share Resources with Windows Server
2003 Microsoft Cluster Service

h. Click Finish.
9. Create a dependency between the File Share and DataKeeper Volume Resource.
a. Double click on the File Share Resource and select the Dependencies tab.
b. Select the DataKeeper volume resource.
c. Click OK.
d. Under the FSGroup, your resources should look as follows.

172

User GuideReplacing Physical Disk Resource in MSCS With DataKeeper Volume Resource

10. Confirm the Shared Directory was created.
From command prompt, runC:\>net share to confirm the new file share was created on
Volume T.

Replacing Physical Disk Resource in MSCS With
DataKeeper Volume Resource
If a physical disk dependency has already been configured, it will need to be deleted prior to creating
the mirror in order for the DataKeeper volume to be recognized. These steps are for replacing aphysical disk resource associated with a File Share resource with a DataKeeper Volume resource.
The steps would be the same for other cluster resources which have physical disk resources.
1. Remove physical disk resource from MSCS.
Use Cluster Administrator MMC to perform the following steps:
a. Offline File Share resource
b. Remove physical disk dependency from File Share resourcec. Delete physical disk resource
2. Create Mirror.
Use DataKeeper UI to perform the following steps:

DataKeeper for Windows

173

Split Brain Issue and Recovery

a. Connect to all shared nodes and DR nodeb. Create a job containing one mirror to DR node
3. Add DataKeeper Volume Resource.
Use Cluster Administrator MMC to perform the following steps:
a. Create a DataKeeper volume resourceb. Assign drive letter to DK volume resourcec. Online DK volume resourced. Create dependency between File Share resource and DK volume resourcee. Online File Share resource

Split Brain Issue and Recovery
When protecting DataKeeper volume resources in Microsoft WSFC, split-brain may occur if you shut
down the source system where the DataKeeper volume resource was online.
Microsoft WSFC will attempt to bring the SteelEye DataKeeper volume resource online on the target
system making it a source. If WSFC is successful in bringing the DataKeeper volume resource online
on the target system, when the primary system is restarted, there may be a conflict known as splitbrain condition where both systems assume ownership role over the volume. The SteelEye
DataKeeper user interface will display the error "Mirror Inconsistencies - Click thefollowing mirror(s) to resolve source conflicts - Mirroring is halted
until this is resolved" (as shown in the diagram below).

174

User Guide

Recovery Procedure:

In addition, the following error is logged to the System Event log:
An invalid attempt to establish a mirror occurred.
found to be Source.
Local Volume:

Both systems wereF

Remote system:

192.168.1.212

Remote Volume:F

The mirror has been paused or left in its current non-mirroringstate.
You can use the DataKeeper User Interface as outlined below in the Recovery Procedure to
resolve the conflict.

Recovery Procedure:
1. In many cases, DataKeeper will resolve a WSFC split-brain condition automatically within 60
seconds after the Cluster Service has started on a failed WSFC server node. However,automatic recovery requires that the WSFC protected resource must have the “Auto Start”
property enabled. This is the default setting. (Auto Start determines if a resource group will

DataKeeper for Windows175

Switchover in an N-Shared x N-Shared Configuration

start automatically when starting a cluster or recovering after a failure.) If the conflict is not
resolved automatically, then proceed with Step 2.
2. A dialog displays the endpoints with the mirror inconsistency. Choose the correct source forthis mirror and press OK.
3. The mirror source will be resolved and a partial resync will occur.

Switchover in an N-Shared x N-Shared Configuration
In a multi-shared storage environment between two sites (as shown in the diagram below), eachserver in each site has access to the storage being shared between the servers at that site. When a
DataKeeper mirror is created, one server in each site will be designated as the mirror endpoints of themirror.
(Note: N represents a number from 1 to N; e.g. 4x1 represents 4 servers sharing a disk replication toanother site with 1 server.)In the following example (3x3), a DataKeeper mirror has been created to replicate the X: volume from
Site A to Site B.

176

User Guide

Switchover in an N-Shared x N-Shared Configuration

Note that there are three servers sharing storage in Site A. Those servers are:l

S1 - Currently the SOURCE of the mirrorl

S2 - Shared Source (locked)l

S3 - Shared Source (locked)

Because S1 is the SOURCE of the mirror, we refer to S2 and S3 as shared source systems. Thisimplies that these servers currently share access to the volume on the SOURCE side of the mirror,
but they cannot currently access the volume because they are not defined as the source of the mirror.
(Note: A user on S2 will see "access denied.")
There are three other servers sharing storage in Site B.
l

T1 - Currently the TARGET of the mirror (locked as the primary target)l

T2 - Shared Target (locked)lT3 - Shared Target (locked)

They share access to the Target volume currently defined to T1. T2 and T3 are referred to as sharedtarget systems. File system access to the target volume is locked on all three systems.
All six servers are part of the WSFC cluster, and all of the WSFC protected resources are currently
active or "ONLINE" on S1.
Given this initial replicated configuration, it is important to understand which servers are eligible to"take over" and become the ACTIVE server. With a DataKeeper mirror in place, the following rules
apply:
1. Switchover to a Shared Source server (S2, S3) is allowed.
2. Switchover to the current Target server (T1) is allowed.

DataKeeper for Windows177

Switchover to a Shared Source Server

3. Switchover to a Shared Target server (T2, T3) is not allowed; however, there is a two-stepprocess to switch over to these servers.
lFirst, switch over to the target T1.

lThen you can switch over to either T2 or T3 server.

Switchover to a Shared Source Server
In our example, either S2 or S3 is eligible to become the ACTIVE server and source of the mirror. If
we switch the protected resources to S2, S2 will become the new SOURCE of the mirror and T1 willremain the Target of the mirror.
1. Initial Mirror Configuration: S1 → T1
2. Action: Switchover to S2 (Bring resources ONLINE in WSFC)
3. Final Result: S2 → T1

Switchover to the Current Target System
In our example, switching the protected resources to T1 will effectively reverse the mirror direction
making T1 the new SOURCE of the mirror and S1 will become the Target of the mirror.
1. Initial Mirror Configuration: S1 → T1
2. Action: Switchover to T1 (Bring resources ONLINE in WSFC)
3. Final Result: T1 → S1

178

User Guide

Switchover to a Shared Target System

Switchover to a Shared Target System
This is not allowed. The switchover operation will fail, but as noted above, a two-step process can beused.
1. Initial Mirror Configuration: S1 → T1
2. Action: Switchover to T1 (Bring resources ONLINE in WSFC)
3. Intermediate Configuration: T1 → S1
4. Action: Switchover to T2 (Bring resources ONLINE in WSFC)
5. Final Result: T2 → S1

FailoverIn a failover scenario where the current source system fails or a resource failure triggers a groupfailure, Failover Clustering attempts to fail over the resource group to another node in the cluster.
Factors affecting the failover include the following:lNode Failure vs Resource FailurelPreferred Owner List is set for the Resource Group vs Preferred Owner List is not setlPossible OwnerslWindows 2008 vs Windows 2008 R2

The following article describes how Failover Clustering determines which node to fail over to.
http://blogs.msdn.com/b/clustering/archive/2009/08/11/9863688.aspx
Important: In an N x N configuration, DataKeeper supports failover to any one of the shared source
systems or to the target system. If Failover Clustering tries to online the group on an ineligible
system (one of the shared target systems), that online will fail. Failover Clustering will continue trying
to online the group on different nodes and eventually succeeds when a system that is eligible for
failover is tried.

Installing and Using DataKeeper Cluster Edition on
Windows 2008 Server Core Platforms
1. Prepare the servers.
Install Windows Server 2008 R2 Core on two servers, configure IP, join a domain, configure
firewall for remote administration, configure the server for remote access, and install the
Failover Cluster feature.
Server Core Installation Option Getting Started Guide

DataKeeper for Windows

179Installing and Using DataKeeper Cluster Edition on Windows 2008 Server Core Platforms

Microsoft Hyper-V Server 2008 Configuration Guide
Configuring a Server Core Installation of Windows Server 2008 R2 with Sconfig.cmd
2. Install SteelEye DataKeeper.
Run the SteelEye DataKeeper (DK) setup.exe from the command line on both servers. Make
sure you choose to install the DataKeeper core services only, not the DataKeeper GUI.
3. An email should have been received containing the license file(s). It is recommended that thisfile be renamed to the YYYYMMDD.lic format to distinguish the day the license was activated.
Once received, copy the license file(s) to the appropriate directory.
l

On each system, copy the file(s) to:%windir%\system32\LKLicense (ex. c:/windows/System32) on 32-bit
or%windir%\sysWOW64\LKLicense (ex. c:\windows\SysWOW64) on 64-bit

Note: If the LKLicense directory does not already exist, it will need to be created prior tocopying the files.
4. On a management server (or Vista workstation with "Remote Server Admin Tools" installed),
install the DataKeeper GUI console only.
5. Using the management server's DataKeeper GUI, connect to the new core only servers andcreate a "job" with a mirror of the data volumes.
6. Using the management server, create the WSFC cluster.
7. Change the quorum mode to Node Majority if deploying an odd number of nodes or Node andFile Share Majority if deploying an even number of nodes. Refer to the appropriate Microsoft
documentation for official guidance on quorum configurations in a multi-site environment.
http://download.microsoft.com/downlo...Clustering.doc
Configuring the Quorum in a Failover Cluster
8. Add the DKCE resource to the cluster.
a. If you are using Windows Server 2008 R2, you can use Powershell version 2 on the"primary" core only server to accomplish the task,
Note: PowerShell v2 comes with Windows 2008 R2 but not the original release of
2008. To obtain PowerShell v2, please go here.
Note 2: The example below assumes you want to add the E drive mirror to your HyperV resource.
Start Powershell v2 and enter the following commands:

180lImport-Module FailoverClustersl

Add-ClusterResource -Name "DataKeeper Volume E" -User Guide

Installing and Using DataKeeper Cluster Edition on Windows 2008 Server Core Platforms

ResourceType "DataKeeper Volume" -Group "<name ofHyper-V resource>"l

Get-ClusterResource "DataKeeper Volume E" | SetClusterParameter VolumeLetter E

b. For non-2008 R2 clusters, go to the C:\windows\system32 directory on the
primary core only server and run "cluster res VOL_E /priv
VolumeLetter=E" using Cluster.exe on the "primary" cluster server.
Note: The example below assumes you want to add the E drive mirror to your Available
Storage.
i. Cluster Resource "DataKeeper Volume E" /Create /type:"DataKeeper
Volume" /Group:"Available Storage"
ii. Cluster Resource "DataKeeper Volume E" /Priv VolumeLetter=Eiii. Cluster Group "Available Storage" /moveto:"<name of Primary node>"
iv. Cluster Group "Available Storage" /online
9. Add your resource to Windows Server Failover Clustering to make it highly available (HA)
To make a Hyper-V VM HA - Hyper-V: Using Hyper-V and Failover Clustering
10. Finally, if not already done in the previous step, add the DataKeeper replicated storage to yourresource to complete the dependency creation and setup.

DataKeeper for Windows

181

DataKeeper for Windows

183

Chapter 6: Frequently Asked Questions

Chapter 6: Frequently Asked Questions
Refer to this section for answers to the most frequently asked questions about SteelEye DataKeeper
and SteelEye DataKeeper Cluster Edition.

Awareness of Windows Filenames and Directory Names
Question
Is SteelEye DataKeeper aware of Windows filenames and directory names?

AnswerSteelEye DataKeeper is implemented with a Windows kernel mode filter driver that sits above thephysical disk driver but below the file system. As a result, the SteelEye DataKeeper driver knows
nothing about individual files or the file system itself. It is only aware of raw writes to the disk.

Change Mirror Type
Question
Can you change the mirror type of an existing mirror from Synchronous to Asynchronous or viceversa?

AnswerNo, you cannot change the mirror type of an existing mirror. You must delete and recreate the mirror
and specify the new mirror type.

Change Mirror Endpoints
Question
Can I change the mirror endpoints (IP address) of a system currently associated with an existing
mirror?

184

FAQs

Answer

AnswerYes. The EMCMD called CHANGEMIRRORENDPOINTS allows you to change the endpoints of amirrored volume that is configured on 3 nodes or fewer. (If your configuration consists of more than
three nodes, the mirrors must be deleted and recreated.)

Create a Mirror and Rename Job and Delete Job Actions
Grayed Out
Question
Why are the Create a Mirror, Rename Job and Delete Job actions grayed out?

Answer
If a node that is part of the job is down, these actions will not be enabled.

Data Transfer Network Protocols
Question
What are the network protocols used for SteelEye DataKeeper Data Transfer?

AnswerSteelEye DataKeeper uses named pipe communication and TCP Sockets.

Delete and Switchover Actions Grayed Out
Question
Why are the Delete and Switchover actions grayed out on the DataKeeper User Interface?

Answer
If the volume is under clustering protection (Microsoft clustering or SteelEye LifeKeeper clustering),
these actions are disabled.

DataKeeper for Windows

185

Deleting a Mirror FAQ

Deleting a Mirror FAQQuestion
What actually happens when you delete a mirror?

Answer
The data remains on both sides, but the target and source data are no longer synchronized. The target
volume is unlocked and made fully accessible.

Error Messages Log
Question
Where does DataKeeper log error messages?

Answer
DataKeeper events are logged in the Windows Application Event Log and the Windows System
Event Log. Here is a breakdown of the messages you can look for.
Application Event Log:l

Source = ExtMirrSvc – events related to the DataKeeper service.

l

Source = DataKeeperVolume – events related to DataKeeper Volume Resources defined in
Windows Failover Clustering (WSFC).

l

Source = SteelEye.SDRSnapIn – events related to the DataKeeper GUI connecting to the
DataKeeper systems.

System Event Log:l

Source = ExtMirr – events directly related to mirror creation, mirror manipulation andreplication.

Note: The System Event Log should always be set to "Overwrite events as needed." If the
System Event Log fills up or becomes corrupted, it will prevent DataKeeper from properly recognizing
mirror state changes.

Inability to Create a Mirror

186

FAQs

Question

QuestionWhy can't I create a mirror?

Answerl

The common cause of this problem is that the volume on either source or target is in use byanother process. Stop the process that is accessing the volume and try again. The SteelEye
DataKeeper software requires exclusive access to the target volume during the creation of themirror.

l

The target volume must be as large, or larger, than the source volume. It is recommended thatthe user compare the target volume size with the source volume size using the DiskManagement utility. If the sizes are not the same, recreate the target partition a little larger.
See Volume Considerations for more information.

l

An error experienced during Create Mirror could indicate that the target volume is corrupt. If
this occurs, format the target volume and attempt to create the mirror again.

WARNING: Drive letters on the Target and Source must match when using Window Server Failover
Clustering.

Reclaim Full Capacity of Target Drive
Question
How do I reclaim the full capacity of my target drive when I no longer need it for mirroring?

Answer
The file system on the target drive is overlaid by SteelEye DataKeeper, thereby making it smaller
than the actual partition size. Although Disk Management indicates the full partition size, SteelEye
DataKeeper and Windows Explorer indicate the smaller mirror size. To reclaim full capacity of thedrive, reformat the partition or use a partition resizing utility such as GParted(http://gparted.sourceforge.net/).

Resize or Grow Mirrored Volumes
Question
Can you resize or grow mirrored volumes?

DataKeeper for Windows187Answer

AnswerYes, beginning with Version 7.4, users can extend and shrink their DataKeeper volumes dynamicallywhile retaining mirror settings. See DataKeeper Volume Resize for more information.

Stop Replication Between Source and Target
Question
How do I stop the replication between the Source and Target volumes?

AnswerReplication occurs at the driver level and can only be stopped or interrupted by sending a commandfrom the DataKeeper GUI or the DataKeeper command line (EMCMD) to the DataKeeper driver to do
one of the following:l

PAUSE the mirror – Mirror endpoints still exist, but all replication is suspended. Writes aretracked on the source system so only a partial resync of the data is necessary to bring thetarget volume back into sync when the mirror is CONTINUED.

l

BREAK the mirror – Mirror endpoints still exist, but all replication is suspended. Writes to thesource system are not tracked. RESYNCING the mirror will initiate a full resync of the data
which is required to bring the target volume back into sync with the source.

l

DELETE the mirror – Mirror endpoints are deleted and replication stops.

Note: Stopping the DataKeeper service does not stop replication.

Using Volume Shadow Copy
Question
Can Volume Shadow Copy (VSS) be Used with DataKeeper Volumes?

AnswerOn Windows 2003 and 2003 R2, VSS Shadow Copy cannot be enabled on DataKeeper volumes.
Configuring a snapshot of a replicated volume, even if the snapshot is stored on a different volume,
will prevent DataKeeper from being able to lock the volume, making it impossible to protect the dataon the volume.
On Windows 2008 and 2008 R2, VSS Shadow Copy can be enabled for DataKeeper volumes.
However, the following guidelines apply:

188

FAQs

Volumes Unavailable for Mirroringl

VSS snapshot images must not be stored on a DataKeeper volume. Storing VSS snapshots
on a DataKeeper volume will prevent DataKeeper from being able to lock the volume andswitch it over to another node.

lWhen a DataKeeper volume is switched or failed over, any previous snapshots that weretaken of the DataKeeper volume are discarded and cannot be reused.

l

VSS snapshot scheduling is not copied between the DataKeeper servers. If snapshots arescheduled to be taken twice a day on the primary server and a switchover occurs, thisschedule will not be present on the backup server and will need to be redefined on the backup
server.

l

When switching back to a server where snapshots were previously enabled, VSS snapshots
are automatically re-enabled.

l

A DataKeeper volume should never be reverted to a snapshot. If this happens, a full resync
must be performed.

Volumes Unavailable for Mirroring
Question
Why are some of my volumes not available for mirroring?

AnswerThe SteelEye DataKeeper service filters out the following types of disk partitions:lWindows system volumelVolume(s) that contain the Windows pagefilel

Non-NTFS formatted volumes (e.g. FAT, Raw FS)l

Non-fixed drive types (e.g. CD-ROMs, diskettes)lTarget volumes that are smaller than the source volume

DataKeeper for Windows

189

DataKeeper for Windows

191

Chapter 7: Troubleshooting

Chapter 7: Troubleshooting
The topics in this section contain important information about known issues and restrictions offering
possible workarounds and/or solutions.

Known Issues and Workarounds
Access to Designated Volume Denied
If access to the designated volume is denied, then check whether you are attempting to create themirror while other applications are accessing the volume. During Mirror Creation, the volumes must
be locked on the target system for exclusive access by the SteelEye DataKeeper software.
In particular, the Distributed Tracking Client service, which is set to run by default in Windows, keeps
two file handles open for each volume. If the volume houses a SteelEye DataKeeper target, theSteelEye DataKeeper driver cannot lock the volume. You must therefore stop the Distributed
Tracking Client service and set its startup policy to Manual.

Compatibility Issue with Symantec Endpoint Protection
Version 12
SIOS Technology is currently working with Symantec on compatibility issues between Symantec
Endpoint Protection Version 12 (SEP) and DataKeeper.
Currently, Symantec's drivers prevent DataKeeper switchovers from performing correctly.
DataKeeper cannot lock the target volume with SEP Version 12 installed on the server. The following
error will be received:
IOCTL_DISK_IS_WRITABLE - STATUS_MEDIA_WRITE_PROTECTED
EmVolumeGetExclusiveLock - Error locking volume 0xc0000022
Solution: Currently, there are three workarounds for this issue.
1. Uninstall Symantec Endpoint Protection Version 12.
2. Disable the drivers as described below.
a. Disable two LifeKeeper drivers.
BHDrvx86/BHDrvx64 (depending on 32-bit or 64-bit OS) and SymEFA
b. Disable Tamper Protection
Tamper Protection must be disabled in order to successfully change thestart types for the registry keys below.

192

TroubleshootingCompatibility Issue with Symantec Endpoint Protection Version 12

1. Open the Client UI
2. Select Change Settings
3. Select Configure Settings for Client Management
4. Select the Tamper Protection tab and uncheck Protect
Symantec security software from being tampered with orshut down.
c. Set the following values below:
HKLM\System\CurrentControlSet\Services\BHDrvx86\
Set “Start” to “4”HKLM\System\CurrentControlSet\Services\BHDrvx64\
Set “Start” to “4”HKLM\System\CurrentControlSet\Services\SymEFA
Set “Start” to “4”d. Reboot the system. Once disabled, a reboot is required.
Note: There is some SEP client functionality loss with these drivers
disabled.
Antivirus and Antispyware – Enabled (Reputation lookups
disabled)
Advanced Download Protection (Browser Protection) Disabled
Sonar Protection (Suspicious Behavior Detection) Disabled
Network Threat Protection (Firewall) - Enabled
Intrusion Prevention - Enabled
Application and Device Control - Enabled
Symprotect (Tamper Protection) - Disabled
Note: The following warnings will be displayed on the UI:“Proactive Threat Protection is disabled.”“Download Insight is not functioning
correctly.”

DataKeeper for Windows

193Counter Logs Do Not Work on Windows 2003

“Network Intrusion Prevention is not
functioning correctly.”
3. Roll back to Symantec Endpoint Protection Version 11.x.

Counter Logs Do Not Work on Windows 2003
Performance Monitor - Counter Logs Do Not Work on Windows
2003
Error/Message
Performance Monitor counter logs do not work on Windows 2003. This problem will be
resolved in a future release of the SteelEye DataKeeper for Windows product.

Suggested Action
Open the Services MMC snap-in and change the log on account for the "Performance Logs
and Alerts" (SysmonLog) service to "Local System Account".
To reset the "Performance Logs and Alerts" (SysmonLog) service account to the original
account, change the log on account back to "NT Authority/Network Service" specifying no
password.

DataKeeper Volume Not Available as Cluster Resource
Type
WSFC Server - The DataKeeper Volume is Not Available as a Cluster Resource Type After
DataKeeper is Installed in a Microsoft WSFC Environment

Error/Message
The DataKeeper Volume is not available as a cluster resource type after DataKeeper isinstalled in a Microsoft WSFC environment.
The Event Log will include the following message: "Failed to register the 'DataKeeper
Volume' Resource DLL (DataKeeperVolume.dll). Error: 70"

Description
Resource DLL registration requires that all cluster nodes are up and online. In the case where
one node of an existing cluster is currently unavailable (offline, cluster service stopped, etc.),
automatic DataKeeper Resource DLL registration may fail during installation/update.

194

Troubleshooting

Suggested Action

Suggested Action
The problem is normally corrected automatically when the other cluster node goes online. As
soon as the DataKeeper service is started there, Resource DLL registration will be attemptedfrom that node and registration will occur cluster-wide. In the event that automatic Resource
DLL registration does not occur, restart the DataKeeper service on any node after all cluster
nodes are up and online. The registration process begins 60 seconds after the DataKeeper
service starts.

Failed to Create Mirror
User Interface - Failed to Create Mirror - Application Event Log
Error/Message
Logged in the Application Event Log:
File: .\GuiThread.cpp Line: 3099 Attempt to connect to remote system REMOTESERVER
failed with error 5. Please ensure that the local security policy for "Network Access: Let
Everyone permissions apply to anonymous users" is enabled on all the servers running
DataKeeper.
Check: Local security policy setting on the specified system.

Description
Failed to create the mirror. Mirror is created but not stored in the job.

Suggested Action
Make local security policy change, open command prompt and run "%EXTMIRRBASE%\emcmd. deletemirror <volume>", then perform the mirror creation action again.

Hyper-V Host Cluster Error
Hyper-V Host Cluster Error When Attempting Change to Virtual
MachineDescription
In a Hyper-V host cluster, if a change is attempted to a setting of a virtual machine such as adding a
new NIC or setting a VLAN ID, an error will be received.

DataKeeper for Windows

195

Suggested Action

Suggested Action
In order to make such changes, remove the virtual machine from the failover cluster, make thedesired changes, then add the virtual machine back into the cluster.

MaxResyncPasses ValueIf, during a volume resynchronization, the number of passes made through the intent log exceeds the
MaxResyncPasses registry value (200 by default), SteelEye DataKeeper logs a message to the
Event Log indicating that the resync process is taking too many passes and requests that theadministrator stop whatever process is writing to the drive being resynchronized. The mirror thengoes to the Paused state. You can increase the MaxResyncPasses value from the registry to givethe resync process more time.

Mirroring with Dynamic Disks
When changing from a Basic Disk to a Dynamic Disk, the underlying volume GUID may bechanged by the OS upon reboot. This will cause a DataKeeper mirror to break.

Suggested Action
When mirroring with dynamic disks, your dynamic volumes should be created and a reboot should be
performed PRIOR to creating your mirror.

New Resources Offline But Unlocked
WSFC Server - Newly Created Resources Appear Offline But Are
Unlocked
Error/Message
Newly created resources appear offline but are unlocked.

Description
The new resource is always offline and unlocked before it is used.

Suggested Action
Switch the resource to online.

196

Troubleshooting

System Event Log - Create Mirror Failed in the GUI

System Event Log - Create Mirror Failed in the GUI
Error/Message
Create Mirror Failed in the GUI.

Description
This can result if a vmms.exe program is holding on to volume and preventing SteelEye
DataKeeper from locking it.

Unable to Determine Previous Install Path
Installation - Fatal Error: Unable to Determine Previous Install Path
Error/Message
Fatal Error: Unable to determine previous install path. DataKeeper cannot be uninstalled orreinstalled.

Description
When performing a "Repair" or "Uninstall" of DataKeeper, the "ExtMirrBase" value ismissing in the installation path of DataKeeper in the registry underHKLM\System\CurrentControlSet\Control\Session Manager\Environment.

Suggested Action
Perform one of the following:l

Under the Environment key, create "ExtMirrBase" as a REG_SZ and set the value to the
DataKeeper installation path (i.e. C:\Program Files(x86)\SteelEye\DataKeeper for x64, or
C:\ProgramFiles\ Steeleye\DataKeeper for x86).

l

To force InstallShield to perform a new install of DataKeeper, delete the following registry key:
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{B00365F8-E4E0-11D5-8323-0050DA240D61}.
This should be the installation key created by InstallShield for the DataKeeper v7.1.0
product.

DataKeeper for Windows197

User Interface - Failed to Create Mirror

User Interface - Failed to Create Mirror
User Interface - Failed to Create Mirror, Event ID 137
Error/Message
Failed to create the mirror.
Event Id: 137
System Event Log
Unable to initialize mirror on the target machine.
Volume Device:
Source Volume: E
Target Machine: 10.17.103.135
Target Volume: E
Failed operation: Target reports error
Error Code: 0xC0000055

Description
DataKeeper cannot lock the Target volume during mirror creation.

Suggested Action
1. Verify the Distributed Link Tracking Client service is not running on either system.
2. Stop any other processes that may prevent DataKeeper from locking the Target volume (e.g.
anti-virus software).
3. Recreate the mirror.

User Interface - Shows Only One Side of the Mirror
If the SteelEye DataKeeper UI shows a volume as a source and its corresponding target as available
or a volume as a target with the corresponding source volume as available, you can use the commandline utility to force an update to the SteelEye DataKeeper GUI or delete the orphaned side of themirror. From a command prompt, go to the SteelEye DataKeeper directory on the server which isdisplaying unexpected mirror status and perform the following steps:
1. Make sure that the mirror is not in a Paused or Broken state on the source. If so, continue themirror on the source. This should result in the mirror being re-established to the target.
2. Run EMCMD <system name> UpdateVolumeInfo <volume letter>Where<system name> is the name of the system;

198

Troubleshooting

WSFC - MS DTC Resource Failure<volume letter> is the letter of the volume.
3. If the problem is not resolved in Step 1, then stop and restart the SteelEye DataKeeper
service.

WSFC - MS DTC Resource Failure
Error/Message
The cluster resource host subsystem (RHS) stopped unexpectedly. An attempt will be made torestart it. This is usually due to a problem in a resource DLL. Please determine which resource DLL iscausing the issue and report the problem to the resource vendor.

Description
In Windows Failover Clustering, an MS DTC Resource fails to come online if configured with a
DataKeeper volume resource.
Log Name: System
Source: Microsoft-Windows-FailoverClustering
Date: <Date Time>
Event ID: 1146
Task Category: Resource Control Manager

Suggested Action
Install Service Pack 1 for Windows 2008 R2 or download and install the Microsoft Hotfix described in
the following KB article: http://support.microsoft.com/kb/978476. This will allow the MS DTC
resource to operate properly with a DataKeeper volume resource.

WSFC 2008 R2 SP1 Procedure Change
Description
When using WSFC 2008 R2 SP1, the procedure for Extending a Traditional 1x1 2-Node WSFC
Cluster to a Shared-Replicated 3-Node Cluster has changed. The WSFC mmc GUI must not be used
for adding a node that is hosting a DataKeeper shared volume.

Suggested Action
When using WSFC 2008 R2 SP1, additional nodes with shared DataKeeper volumes can be safely
added to an existing cluster only with the WSFC Command line tool "cluster /add
/node:<standby node name>. VERY IMPORTANT. Please refer to the topic Extending a
Traditional 2-Node Cluster to a Shared-Replicated Configuration for more details.

DataKeeper for Windows

199

WSFC Server

WSFC Server
WSFC Server – Cluster Validation, Clustering SQL Server 2008
Error/Message
The WSFC Cluster Validation may fail a DataKeeper Volume resource with the following message:"An error occurred while executing the test.
present in the dictionary."

The given key was not

Description
WSFC requires that a DataKeeper volume resource include an additional property. This error canoccur when clustering SQL Server 2008 using DataKeeper replicated volumes already managed by
WSFC.

Suggested Action
This error may be ignored. However, the DataKeeper volume resource may be modified to prevent thevalidation error.
To correct the validation error, modify the DataKeeper volume resource as follows:
1. Take the DataKeeper volume resource offline.
2. From the Registry Editor, open HKEY_LOCAL_MACHINE\Cluster\Resources.
3. Create a backup of the "Resources" key by clicking File and Export.
4. Identify the resource by its GUID (Type = DataKeeper Volume) and its “Parameters” subkey(VolumeLetter).
5. Create a DWORD value in the “Parameters” key named “DiskRunChkDsk” and assign it avalue of 0 (default).
6. Bring the DataKeeper volume resource online.
Use the cluster command to test that the new resource parameter has been accepted. The“DiskRunChkDsk” property should appear.
cluster res <DataKeeper volume resource name> /priv> D DiskRunChkDsk 0x0
This modification should be made to all nodes in the cluster.
Refer to MSDN technical documentation for more information about the “DiskRunChkDsk” value:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb309232(v=vs.85).aspx

200

Troubleshooting

Restrictions

Restrictions
CHANGEMIRRORENDPOINTS
Description:
This command, which is used to move a DataKeeper protected volume to another network location,
only supports changing the endpoints of a mirrored volume that is configured on 3 nodes or fewer.

Workaround:
For configurations greater than three nodes, the mirrors must be deleted and recreated with the final
endpoint at the local site and use route adds to get the mirrors created and resynced before moving
the server to the final location/address/DR site.

CHKDSK
Description
If you must run CHKDSK on a volume that is being replicated by SteelEye DataKeeper, it isrecommended that you PAUSE the mirror before initiating the CHKDSK. After running CHKDSK,CONTINUE the mirror. A partial resync occurs (updating those writes generated by the CHKDSK)
and replication will continue.

DataKeeper Volume Resize Restriction
The DataKeeper volume resize procedure should be performed on only one volume at a time.

Directory for Bitmap Must Be Created Prior to Relocation
Description
If you choose to relocate the bitmap file from the default location (%EXTMIRRBASE%\Bitmaps),
you must first create the new directory before changing the location in the registry and rebooting thesystem.

Intensive I-O with Synchronous Replication
Description
DataKeeper for Windows201

Path Name Restriction

Due to the nature of synchronous replication (blocking volume writes while waiting for a response
from the target system), you may experience sluggish behavior with any applications that are writing
to the mirrored volume. The frequency of these events could be high depending on the ratio of"Volume I/O traffic" to "system resource". It is recommended that you use asynchronous replication
when continuous and intensive I/O traffic is anticipated for the volume or when SteelEye DataKeeper
is used on a low bandwidth network.

Path Name Restriction
Description
SteelEye DataKeeper must be installed into a directory with 32 characters or less in the path name.
Failure to do this will result in non-functioning performance monitor counters for SteelEye DataKeeper
as well as failures when attempting to use the environment variable %EXTMIRRBASE%.

Placement of Bitmap to Dynamic Disk Not Supported
Description
The placement of the bitmap file to a dynamic disk that is not the system drive is not supported. The
bitmap must be located on a basic disk if specifying a location other than the system drive.

202

TroubleshootingIndexIndex
A
Asynchronous 10
Change Mirror Type 184
Mirror Type 17

B
Bandwidth
Maximum 110
Network Bandwidth 35
Throttle 45

Bitmap File 9
C
CHANGEMIRRORENDPOINTS 58
FAQ 184
Restriction 201

CHKDSK
Considerations 47
Restrictions 201

Cluster Edition 3
Multi-Site File Share Resources 167
Multi-Site Hyper-V Clusters 157
Windows 2008 Server Core Platforms 179

Command Line Interface 4
EMCMD 57

Compression 45
Change Compression Level of Existing Mirror 110
Mirror Properties Dialog 109

DataKeeper for Windows203IndexConfiguration
Disk-to-Disk 83
Many-to-One 87
N-Shared-Disk Replicated to Multiple N-Shared-Disk Targets 91
N-Shared-Disk Replicated to N-Shared-Disk 89
N-Shared-Disk Replicated to One 88
One-to-Many (Multiple Targets) 86
One-to-One 85

Connect to Server 92
D
DataKeeper
Architecture 4
Driver 3
Service 3

Directory Name 184
Disconnect from Server 93
Disk Management 48
Distributed Tracking Client 192
DontFlushAsyncQueueIn Asynchronous Mirroring 12
Registry Entry 49

Dynamic Disk
Known Issue 196
Mirror Creation 94
Shared Volumes 108

E
EMCMD 57
Environment 37

204

Index

IndexError Messages 186
Event Log 186
Considerations 48

FFailure 47
FAQs 183
Filename 184
Firewall 38
G
GUI 2
Component 3
Failed to Create Mirror 198
Only One Side of Mirror Shown 198

H
Hyper-V
DataKeeper Cluster Edition 157
DataKeeper Standard 113
Host Cluster Error 195

I
Installation 25
Cluster Edition 179
Command Line 30
License 26
Overview 26
Silent 30
Troubleshooting 197

Intent Log 9
Directory Must Be Created Prior to Relocation 201

DataKeeper for Windows

205IndexPlacement of Bitmap to Dynamic Disk Not Supported 202

J
Jobs
Create 93
Delete 104
Reassign 104
Rename 103

L
LicenseCluster Edition 157
Installing 26
License Key Manager 27
Obtaining 26
Rehost 29
Subscription 29

M
MaxResyncPasses 196
Mirrors
Break 106
Continue and Lock 106
Create 93
Inability to Create 186
Multiple Targets 98
Safe Creation of Shared-Storage Volume Resource 97
Shared Volumes 94
Delete 107
What Happens When Deleted 186
Manage 105
Pause and Unlock 106

206

Index

IndexProperties 109
Resync 107
Partial Resync 106
Switchover 104

Multiple Targets 98
Switchover and Failover 99

N
Network Adapter Settings 36
Network Bandwidth 35
Network Cards 18
P
Performance Monitor Counters 18
Restriction 194

Q
Quorum Type 180
R
Read and Write 16
Registry Entries 48
Repair 34
Requirements
Bandwidth 35
Configuration 35
Service Requirements 8
Switchover 105
UI Requirements 8

Resize 107
FAQ 187

DataKeeper for Windows

207IndexResize Restriction 201

Resynchronization 9
Command 107
Control Counters 21
Partial 106

S
Sector Size 35
Security 39
Server Overview Report 3
Setup 92
Shared Volumes
Add 112
Managing 111
Remove 113

Shutdown 47
Split Brain 174
Switchover 104
Multiple Targets 99
N-Shared x N-Shared 176

Symantec Endpoint Protection 12 192
Synchronous 10
Change Mirror Type 184
Intensive I-O Issue 201

T
Third Party Files 31
Troubleshooting 191

208

Index

IndexU
Uninstallation 32
Upgrade 33
User Interface 2
V
Volume 17
Size 18

Volume Shadow Copy 188
VSS 188
W
WAN 42
Initial Sync 42

WSFC 1
Extending a Traditional 2-Node WSFC Cluster to a Third Node via DataKeeper 126
Extending a Traditional 2-Node WSFC SQL Server Cluster to a Third Node via
DataKeeper 141
Manual Creation of a Mirror in WSFC 125
Troubleshooting
Cluster Validation, Clustering SQL Server 2008 200
DK Volume Not Available as Cluster Resource Type 194
New Resources Offline But Unlocked 196
Resource Failure 199
WSFC 2008 R2 SP1 Procedure Change 199

DataKeeper for Windows

209