I recently had a client who was having trouble setting up clustering in an environment that used Amazon Elastic Compute Cloud (EC2) to host SQL Server databases. To adequately address this problem, it’s important to know that you can’t set up clustering if you use native functionality because Amazon’s EC2 service doesn’t offer a way to present the same disks to multiple virtual servers at the same time. Luckily, we aren’t limited to native functionality. A while back, I wrote about how you can use SIOS Technology’s DataKeeper Cluster Edition to build a high-speed, highly available, storage platform using Fusion ioDrive PCIe cards. You can also use this software to provide a high-availability solution within an Amazon EC2 environment.
You need to configure a few things before you can install DataKeeper Cluster Edition on two Amazon EC2 servers. The first thing you need to set up is an Active Directory (AD) domain (or at least you need to extend the AD domain from your office to your Amazon EC2 servers). This isn’t actually a requirement of the DataKeeper Cluster Edition software; it’s a requirement of Microsoft Windows failover clustering.
When you set up the two virtual machines (VMs) that you want to cluster, the drive letters and the disk sizes of the two machines must be the same. Using identical drive letters is a Microsoft requirement because the SQL Server instance needs to have the same drive configuration on both nodes of the cluster.
The great thing about DataKeeper Cluster Edition is that the software won’t affect the performance of the SQL Server instance. When it comes to getting the most speed out of your Amazon EC2 storage, DataKeeper Cluster Edition supports high-speed performance as well. To achieve a high level of performance in Amazon EC2, you need to add many different disks to the server, then stripe across all those disks in Windows using a RAID 0 stripe. This approach maximizes the amount of storage available in the Amazon EC2 VM.
Configuring stripes to work with DataKeeper Cluster Edition is just as easy as configuring a single virtual list. Once a stripe is created on each of the two nodes, simply install the DataKeeper Cluster Edition software on each machine and set up the mirroring. Configuring DataKeeper Cluster Edition is simple because the software works at the disk letter level, not at the physical device level.
A stretch cluster in Amazon EC2 has the ability to fail over from the U.S. East region (Northern Virginia) to the U.S. West region (Oregon). However, a stretch cluster requires the ability to perform asynchronous data movement between the two sites. DataKeeper Cluster Edition can handle that movement without any issues, giving you the same level of functionality that having a storage array in each location would give you.
Depending on which Amazon EC2 regions you use, even if they aren’t in the same state or country, you might be able to use synchronous replication across longer distances than normal, thanks to the data compression option that’s included in DataKeeper Cluster Edition. As we compress data, we trade CPU cycles on the SQL Server instances for time spent transmitting data. The less data that we have to transmit, the easier it is for the network to transmit the data to the remote site. DataKeeper Cluster Edition is an easy, cost-effective way to protect your SQL Server databases when using EC2 to host them.