Overview

DataKeeper Cluster Edition provides replication in a virtual private cloud (VPC) within a single region across availability zones. In this particular SQL Server clustering example, we will launch four instances (one domain controller instance, two SQL Server instances and a quorum/witness instance) into three availability zones.

DataKeeper Cluster Edition provides support for a data replication node outside of the cluster with all nodes in AWS. In this particular SQL Server clustering example, four instances are launched (one domain controller instance, two SQL Server instances and a quorum/witness instance) into three availability zones. Then an additional DataKeeper instance is launched in a second region including a VPN instance in both regions. Please see Configuration of Data Replication From a Cluster Node to External DR Site for more information. For additional information on using multiple regions please see Connecting Multiple VPCs with EC2 Instances.

DataKeeper Cluster Edition also provides support for a data replication node outside of the cluster with only the node outside of the cluster in AWS. In this particular SQL Server clustering example, WSFC1 and WSFC2 are in an on-site cluster replicating to an AWS instance. Then an additional DataKeeper instance is launched in a region in AWS. Please see Configuration of Data Replication From a Cluster Node to External DR Site for more information.

Requirements

Description
Requirement
Virtual Private Cloud In a single region with three availability zones
Instance Type Minimum recommended instance type: M1 Medium
Operating System See the DKCE Support Matrix
Elastic IP One elastic IP address connected to the domain controller
Four instances One domain controller instance, two SQL Server instances and one quorum/witness instance
Each SQL Server ENI (Elastic Network Interface) with 4 IPs
  • Primary ENI IP statically defined in Windows and used by DataKeeper Cluster Edition
  • Three IPs maintained by EC2 while used by Windows Failover Clustering , DTC and SQLFC
Volumes Three volumes (EBS and NTFS only)
  • One primary volume (C drive)
  • Two additional volumes
    • One for Failover Clustering
    • One for MSDTC

Release Notes

Before beginning, make sure you read the DataKeeper Cluster Edition Release Notes for the latest information. It is highly recommended that you read and understand the DataKeeper Cluster Edition Installation Guide.

Create a Virtual Private Cloud (VPC)

A virtual private cloud is the first object you create when using DataKeeper Cluster Edition.

  1. Using the email address and password specified when signing up for Amazon Web Services (AWS), sign in to the AWS Management Console.
  1. From the Services dropdown, select VPC.

  1. On the right side of the top navigation bar, select the region for your virtual private cloud.

  1. On the VPC Dashboard, select Your VPCs from the left navigation pane.
  1. Select Create VPC.
  1. Define your virtual private cloud subnet by entering your CIDR (Classless Inter-Domain Routing) as described below, then click Yes, Create.

  1. Once your virtual private cloud has been successfully created,click Close to return to the VPC Dashboard.

Create Internet Gateway and Attach to Virtual Private Cloud

Create and attach an Internet Gateway which provides access to your virtual private cloud from the Internet (from outside the virtual private cloud).

  1. Select Internet Gateways from the left navigation pane.
  1. Select your Gateway ID from the list of Internet Gateways.
  1. Click Attach to VPC.
  1. Select your virtual private cloud from the dropdown list and click Yes, Attach.

Configure Availability Zones

Availability zones enable you to group instances based on your security and high availability requirements. You will launch your instances into these availability zones, so for a DataKeeper configuration, you will want to configure at least two availability zones. In this example, we will configure a third availability zone for the quorum witness server.

  1. From the left navigation pane of the VPC Dashboard, select Subnets.
  1. Click Create Subnet.
  1. On the Create Subnet dialog, select your virtual private cloud and choose an availability zone, then enter a CIDR based on the instructions in the dialog (shown below). Click Yes, Create.

Virtual Network Topology

An elastic IP address, connected to the domain controller, is the entry point into your “virtual lab”. This elastic IP address is associated with the domain controller’s primary elastic network interface (ENI). Elastic network interfaces are created and assigned to each instance at launch time. It is through these elastic network interfaces that the instances are able to communicate with one another.

The domain controller’s elastic network interface is attached to a public subnet, and through a rule that you will create, routes 0.0.0.0/0 (all traffic) to the virtual private cloud’s Internet Gateway. You will also create a rule to allow for utilizing Remote Desktop Connection to connect to your instances. You will initially connect to your domain controller through the elastic IP via Remote Desktop Connection. Once connected to your domain controller, a router allows you to Remote Desktop into your other instances.

Set Up Routing and Security

You will set up routing and security to control the flow of traffic in and out of the availability zones.

Set Up Route Tables

Each subnet in your virtual private cloud must be associated with a route table to determine how the traffic between availability zones flows.

  1. From the left navigation pane of the VPC Dashboard, select Route Tables.
  1. Select Create Route Table.
  1. Select your virtual private cloud and click Yes, Create.
  1. Select your new route table.
  1. Under the Routes tab in the bottom pane, the first row is the local route. This enables communication within the virtual private cloud. Associate your Internet Gateway with 0.0.0.0/0. This will appear in the second row and provides access into the virtual private cloud (0.0.0.0/0). This subnet is referred to as public because all traffic from the subnet goes to the Internet Gateway.

To associate your Internet Gateway with 0.0.0.0/0:

a. In the box under Destination, enter 0.0.0.0/0, then under Target, select your Internet Gateway and click Add.

b. A dialog will appear asking for confirmation. Select Yes, Create.

c. Under the Associations tab, click a subnet, then select Associate.

d. A dialog will appear asking for confirmation. Select Yes, Associate.

e. Repeat this for all subnets.

Create Network Security Group

In order to control inbound traffic as well as traffic between availability zones within the virtual private cloud, a security group should be set up.

  1. From the left navigation pane of the VPC Dashboard, select Security Groups.
  1. Click Create Security Group.
  1. Enter Name and Description, then select your virtual private cloud and click Yes, Create.
  1. Select your Security Group.
  1. Under the Inbound tab, select All Traffic from the Create a new rule dropdown.

  1. Enter your private IP address as Source and select Add Rule.
  1. To enable a Remote Desktop Connection, select RDP from the Create a new rule dropdown.
  1. Enter 3389 for the Port and 0.0.0.0/0 as Source and select Add Rule.
  1. Under the Outbound tab, select All Traffic from the Create a new rule dropdown.
  1. Enter 0.0.0.0/0 for the Destination and select Add Rule.

Launch an Instance

The following walks you through launching an instance into your subnet. You will want to launch two instances into one availability zone, one for your domain controller instance and one for your SQL instance. Then you will launch another SQL instance into another availability zone and a quorum witness instance into yet another availability zone.

  1. Using the email address and password specified when signing up for Amazon Web Service (AWS), sign in to the Amazon EC2 Console.
  1. From the top right of the navigation bar, select the region for your instance from the dropdown selection.

  1. Select Instances from the left navigation pane, then click the Launch Instance button.
  1. Select the Classic Wizard from the Create a New Instance dialog and select Continue.
  1. Choose an AMI.

• Select the Microsoft Windows Server 2008 R2 Base AMI (2008 R2 SP1 Datacenter Edition).

  1. Configure instance details.

a. Select your Instance Type. (Note: Select M1 Small or larger.)

b. Under Launch Instances, select Launch into: VPC, then select your availability zone. Click Continue.

c. Accept defaults on the Advanced Instance Options and the Storage Device Configuration dialogs by clicking Continue.

d. Add a Tag to name your instance and select Continue.

  1. Create Key Pair.

a. Unless choosing an existing Key Pair, you’ll select Create a New Key Pair.

b. Enter a name and then select the Create & Download your Key Pair box.

c. Save the Key Pair file in a place you’ll remember. Note: You can use this key pair to launch other instances in the future or visit the Key Pairs page to create or manage existing ones.

  1. Configure firewall (refer to Firewall Configurations for further information).

• Choose a Security Group, then select Continue.

  1. A review page will display. Select Launch. Click Close to close the confirmation page and return to the Amazon Management Console.

Get Windows Admin Password

You’ll need an administrator password to connect to your instance with Remote Desktop. Note: You’ll need the private key file that you created when you launched your instance.

  1. Click Instances in the left navigation pane to view the status of your new instance. The status should be pending while it is launching, but status will change to running.
  1. Select your new instance.
  1. From the Actions dropdown menu, select Get Windows Admin Password. Note: It may take a few minutes before you are able to retrieve your password.

Repeat the above steps for all instances.

Assign a Virtual Private Cloud Elastic IP Address to the Domain Controller Instance

For an instance in your virtual private cloud to be reachable from the Internet, it must have a virtual private cloud elastic IP (EIP) address assigned to it. This is your entry point into your “virtual lab.”

  1. From the left navigation pane of the VPC Dashboard, select Elastic IPs.
  1. Click Allocate New Address.
  1. From the EIP used in: list, select VPC and click Yes, Allocate.
  1. Select the new IP address from the list and click Associate Address.
  1. In the Associate Address dialog box, select the domain controller instance to associate the address with and click Yes, Associate.

Connect to Instances

Once you’ve retrieved your initial administrator password and set up your Remote Desktop Connection (RDP) “Rule”, you can connect to your domain controller instance via Remote Desktop Connection. Once you are connected to your domain controller instance, you can Remote Desktop into your other instances from there.

  1. Open a Remote Desktop Connection and enter the elastic IP address of your domain controller instance.
  1. Enter your administrator password.

Create the Domain Controller Instance

Now that the instances have been created, we started with setting up the Domain Service instance.

This guide is not a tutorial on how to setup an Active Domain Service. We recommend reading articles on the web on how to setup an Active Directory Service specifically needed in an AWS cloud.

It is very important to understand that even though the instance is running in an AWS cloud, this is a regular installation of Active Directory.

Static IP Addresses

Configure Static IP Addresses for your Instances

  1. Connect to your domain controller instance.
  1. Click Start / Control Panel.
  1. Click Network and Sharing Center.
  1. Select your network interface.
  1. Click Properties.
  1. Click Internet Protocol Version 4 (TCP/IPv4), then Properties.
  1. Obtain your current IPv4 address, default gateway and DNS server for the network interface from Amazon.
  1. In the Internet Protocol Version 4 (TCP/IPv4) Properties dialog box, under Use the following IP address, enter your IPv4 address.
  1. In the Subnet mask box, type the subnet mask associated with your virtual private cloud subnet.
  1. In the Default Gateway box, type the IP address of the default gateway and then click OK.
  1. For the Preferred DNS Server, enter the Primary IP Address of Your Domain Controller (ex. 15.0.1.72).
  1. Click Okay, then select Close. Exit Network and Sharing Center.
  1. Repeat the above steps on your other instances.

Join the Two SQL Instances and the Witness Instance to Domain

  1. On each instance, click Start, then right-click Computer and select Properties.
  1. On the far right, select Change Settings.
  1. Click on Change.
  1. Enter Computer Name.
  1. Select Domain.
  1. Enter Domain Name – (ex. docs.aws.com).

Assign Secondary Private IPs to the Two SQL Instances

In addition to the Primary IP, you will need to add three additional IPs (Secondary IPs) to the elastic network interface for each SQL instance.

  1. From the left navigation pane of the EC2 Dashboard, select Instances.
  1. Right-click the instance for which you want to add a secondary private IP address for.
  1. Select Manage Private IP Addresses.
  1. Select Assign a secondary private address and enter an IP address that is within the subnet range for the instance (ex. For 15.0.1.25, enter 15.0.1.26). Repeat to add two additional IP addresses.
  1. Select Yes, Update.
  1. Select Close.
  1. Perform the above on both SQL Instances.

Create and Attach Volumes

DataKeeper is a block-level volume replication solution and requires that each node in the cluster have additional volume(s) (other than the system drive) that are the same size and same drive letters. Please review Volume Considerations for additional information regarding storage requirements.

Create Volumes

Create two volumes in each availability zone for each SQL instance.

  1. From the left navigation pane of the EC2 Dashboard, select Instances to display your instances.
  1. Select your instance. In the Description tab in the bottom pane, note the Zone for the instance.
  1. From the left navigation pane, select Volumes under Elastic Block Store (EBS).

The console displays a list of current elastic block store volumes in that region. (You should see the elastic block store volume that serves as the root device volume for your instance.)

  1. Click Create Volume.
  1. In the Create Volume dialog box, select the Standard volume type, enter the desired size and select the correct zone (noted above), then click Yes, Create.

Attach Volumes

Once your volumes are created, attach them to your two SQL instances.

  1. From the left navigation pane of the EC2 Dashboard, select Volumes.
  1. Right-click on a volume, then select Attach Volume.
  1. Select the instance to attach the volume to, then select Yes, Attach. You will see the status go from available to in-use.

Configure the Cluster

Prior to installing DataKeeper Cluster Edition, it is important to have Windows Server configured as a cluster using either a node majority quorum (if there is an odd number of nodes) or a node and file share majority quorum (if there is an even number of nodes). Consult the Microsoft documentation on clustering in addition to this topic for step-by-step instructions. Microsoft released a hotfix for Windows 2008R2 that allows disabling of a node’s vote which may help achieve a higher level of availability in certain multi-site cluster configurations.

Add Failover Clustering

Add the Failover Clustering feature to both SQL instances.

  1. Launch Server Manager.
  1. Select Features in the left pane and click Add Features in the Features pane. This starts the Add Features Wizard.
  1. Select Failover Clustering.
  1. Select Install.

Validate a Configuration

  1. Open Failover Cluster Manager.
  1. Click on Validate a Configuration.
  1. Click Next, then add your two SQL instances.

Note: To search, select Browse, then click on Advanced and Find Now. This will list available instances.

  1. Click Next.
  1. Select Run Only Tests I Select and click Next.
  1. In the Test Selection screen, deselect Storage and click Next.
  1. At the resulting confirmation screen, click Next.
  1. Review Validation Summary Report, then click Finish.

Create Cluster

  1. In Failover Cluster Manager, click on Create a Cluster then click Next.
  1. Enter your two SQL instances.
  1. On the Validation Warning page, select No then click Next.
  1. On the Access Point for Administering the Cluster page, enter a unique name for your WSFC Cluster. Then enter the Failover Clustering IP address for each node involved in the cluster. This is the first of the three secondary IP addresses added previously to each instance. Click Next.
  1. Click Next on the Confirmation page.
  1. On Summary page, review any warnings, then select Finish.

Configure Quorum/Witness

  1. Create a folder on your quorum/witness instance (witness).
  1. Share the folder.

a. Right-click folder and select Share With / Specific People….

b. From the dropdown, select Everyone and click Add.

c. Under Permission Level, select Read/Write.

d. Click Share, then Done. (Make note of the path of this file share to be used below.)

  1. In Failover Cluster Manager, right-click cluster and choose More Actions and Configure Cluster Quorum Settings. Click Next.
  1. On the Select Quorum Configuration, choose Node and File Share Majority and click Next.
  1. On the Configure File Share Witness screen, enter the path to the file share previously created and click Next.
  1. On the Confirmation page, click Next.
  1. On the Summary page, click Finish.

Install and Configure DataKeeper

After the basic cluster is configured but prior to any cluster resources being created, install and license DataKeeper Cluster Edition on all cluster nodes. See the DataKeeper Cluster Edition Installation Guide for detailed instructions.

  1. Run DataKeeper setup to install DataKeeper Cluster Edition on both SQL instances.
  1. Enter your license key and reboot when prompted.
  1. Launch the DataKeeper GUI and connect to server.
  1. Create a Job.
  1. When asked if you would like to auto-register the volume as a cluster volume, select Yes.

Configure MSDTC

  1. For Windows Server 2012 and 2016, in the Failover Cluster Manager GUI, select Roles, then select Configure Role.
  1. Select Distributed Transaction Coordinator (DTC), and click Next.
  1. On the Client Access Point screen, enter a name, then enter the MSDTC IP address for each node involved in the cluster. This is the second of the three secondary IP addresses added previously to each instance. Click Next.
  1. Select the MSDTC volume and click Next.
  1. On the Confirmation page, click Next.
  1. Once the Summary page displays, click Finish.

Install SQL on the First SQL Instance

  1. Via Map Network Drive, map the SQL IMG file from the domain controller to the two SQL servers.
  1. Mount the IMG file (via MagicDisc or other virtual CD tool).
  1. Once the IMG file is mounted, launch the SQL setup. To launch the SQL setup, open a Command window, browse to your SQL install directory and type the following command:

F:\>Setup /SkipRules=Cluster_VerifyForErrors /Action=InstallFailoverCluster

  1. On Setup Support Rules, click OK.
  1. On the Product Key dialog, enter your product key and click Next.
  1. On the License Terms dialog, accept the license agreement and click Next.
  1. On the Product Updates dialog, click Next.
  1. On the Setup Support Files dialog, click Install.
  1. On the Setup Support Rules dialog, you will receive a warning. Click Next, ignoring this message, since it is expected in a multi-site or non-shared storage cluster.
  1. Verify Cluster Node Configuration and click Next.
  1. Configure your Cluster Network by adding the “third” secondary IP address for your SQL instance and click Next. Click Yes to proceed with multi-subnet configuration.
  1. Enter passwords for service accounts and click Next.
  1. On the Error Reporting dialog, click Next.
  1. On the Add Node Rules dialog, skipped operation warnings can be ignored. Click Next.
  1. Verify features and click Install.
  1. Click Close to complete the installation process.

Install SQL on the Second SQL Instance

Installing the second SQL instance is similar to the first one.

  1. Mount the IMG file (again, via MagicDisc or other virtual CD tool).
  1. Once IMG file is mounted, run SQL setup once again from the command line in order to skip the Validate process. Open a Command window, browse to your SQL install directory and type the following command:

Setup /SkipRules=Cluster_VerifyForErrors /Action=AddNode /INSTANCENAME=”MSSQLSERVER”

(Note: This assumes you installed the default instance on the first node)

  1. On Setup Support Rules, click OK.
  1. On the Product Key dialog, enter your product key and click Next.
  1. On the License Terms dialog, accept the license agreement and click Next.
  1. On the Product Updates dialog, click Next.
  1. On the Setup Support Files dialog, click Install.
  1. On the Setup Support Rules dialog, you will receive a warning. Click Next, ignoring this message, since it is expected in a multi-site or non-shared storage cluster.
  1. Verify Cluster Node Configuration and click Next.
  1. Configure your Cluster Network by adding the “third” secondary IP address for your SQL Instance and click Next. Click Yes to proceed with multi-subnet configuration.
  1. Enter passwords for service accounts and click Next.
  1. On the Error Reporting dialog, click Next.
  1. On the Add Node Rules dialog, skipped operation warnings can be ignored. Click Next.
  1. Verify features and click Install.
  1. Click Close to complete the installation process.

Common Cluster Configuration

This section describes a common 2-node replicated cluster configuration.

  1. The initial configuration must be done from the DataKeeper UI running on one of the cluster nodes. If it is not possible to run the DataKeeper UI on a cluster node, such as when running DataKeeper on a Windows Core only server, install the DataKeeper UI on any computer running Windows XP or higher and follow the instruction in the Core Only section for creating a mirror and registering the cluster resources via the command line.
  1. Once the DataKeeper UI is running, connect to each of the nodes in the cluster.
  1. Create a Job using the DataKeeper UI. This process creates a mirror and adds the DataKeeper Volume resource to the Available Storage.
  1. If additional mirrors are required, you can Add a Mirror to a Job.
  1. With the DataKeeper Volume(s) now in Available Storage, you are able to create cluster resources (SQL, File Server, etc.) in the same way as if there were a shared disk resource in the cluster. Refer to Microsoft documentation for additional information in addition to the above for step-by-step cluster configuration instructions.

Management

Once a DataKeeper volume is registered with Windows Server Failover Clustering, all of the management of that volume will be done through the Windows Server Failover Clustering interface. All of the management functions normally available in DataKeeper will be disabled on any volume that is under cluster control. Instead, the DataKeeper Volume cluster resource will control the mirror direction, so when a DataKeeper Volume comes online on a node, that node becomes the source of the mirror. The properties of the DataKeeper Volume cluster resource also display basic mirroring information such as the source, target, type and state of the mirror.

Troubleshooting

Use the following resources to help troubleshoot issues:

Additional Resources:

Step-by-Step: Configuring a 2-Node Multi-Site Cluster on Windows Server 2008 R2 – Part 1 — http://clusteringformeremortals.com/2009/09/15/step-by-step-configuring-a-2-node-multi-site-cluster-on-windows-server-2008-r2-%E2%80%93-part-1/

Step-by-Step: Configuring a 2-Node Multi-Site Cluster on Windows Server 2008 R2 – Part 3 — http://clusteringformeremortals.com/2009/10/07/step-by-step-configuring-a-2-node-multi-site-cluster-on-windows-server-2008-r2-%E2%80%93-part-3/

Feedback

Was this helpful?

Yes No
You indicated this topic was not helpful to you ...
Could you please leave a comment telling us why? Thank you!
Thanks for your feedback.

Post your comment on this topic.

Post Comment