For many years mirroring of production data for disaster recovery (DR) purposes has been available for both mainframe and open systems computing environments. Unfortunately, due to the cost and complexity of these types of solutions, they have mostly been deployed in larger organizations with larger IT budgets.
However, the demand for cost-effective disaster recovery solutions has never been higher, as organizations realize the value of their stored data and the high costs associated with any type of downtime. In fact, many organizations today have established a DR strategy or requirement, but have not actually implemented a solution due to budgetary or other restrictions.
Fortunately, a new generation of affordable data mirroring solutions has emerged that brings sophisticated DR capabilities to virtually any size organization. Some of the key features include:
* Compatibility with a wide range of existing storage devicesAbility to mirror data between different devices from different vendors
* Using snapshot-enhanced mirroring to ensure data integrity and rapid recovery after a disaster or other disruption
Synchronous vs. Asynchronous Mirroring
In a synchronous mirroring environment, each time an application attempts to write data to disk, the transaction is sent to both the local and remote storage devices in parallel. It is not until both devices have committed the write to disk that the system acknowledges that the transaction is complete. The application that initiated the write must wait until it receives the acknowledgement before it can continue on to the next task.
In an asynchronous environment, each write transaction is acknowledged as soon as the local storage device completes the request, even if the remote system has not yet received and/or processed the request.
Performance Issues
From a performance standpoint, a synchronous approach will always incur some level of performance degradation--even when the two storage devices are nearby--simply because both systems must complete each transaction before the application can continue. On the other hand, since an asynchronous approach acknowledges the write request without waiting for confirmation from the remote storage device, the performance of the system is virtually identical to that of a non-mirrored system.
Cost Issues
From a cost standpoint, a synchronous approach usually requires higher bandwidth and more equipment in order to maintain acceptable performance for several reasons:
Bi-directional traffic: Since each write transaction must be transmitted to the remote system and an acknowledgement received back, the transmission infrastructure must have sufficient bandwidth and performance to avoid becoming a bottleneck in this process.
Latency during peak periods: A worst-case scenario should be factored into the design of the transmission network, since spikes in data activity could degrade overall performance, or cause application time-outs due to extended latencies.
Scalability: SANs are designed to support multiple host severs, but as the number of hosts in a SAN increases, the synchronous mirroring infrastructure may not easily or economically scale to accommodate the increased data traffic.
As a result, a synchronous solution usually requires some level of over-provisioning of both the bandwidth and the available switch ports, in order to ensure sufficient performance during peak periods.
On the other hand, an asynchronous solution usually requires minimal bandwidth, as bi-directional traffic is significantly lower and communication latencies do not affect application performance. In addition, asynchronous solutions are designed to flexibly adapt to spikes in activity by buffering transactions in a queue until sufficient bandwidth becomes available to complete each transaction.
The optimal approach is to offer both synchronous and asynchronous mirroring solutions. In doing so, it is possible to impartially analyze each user's requirements before recommending an appropriate solution.
Data Integrity During Mirroring
One of the most critical factors in selecting a mirroring solution is the ability to ensure the integrity of the data being replicated between sites. Obviously, it makes little sense to mirror data unless you are confident that the data will be usable when needed. Mirroring must address two issues when it comes to data integrity:
1. The vast majority of disasters are not a single, instantaneous event. Instead, disasters usually unfold over a period of minutes or even hours (intermittent power outages, communication link disruptions, disk-drive failures, etc). And intermittent failures are the most difficult to handle, since they can corrupt the integrity of data not just once but several times during the course of an unfolding disaster.
No comments:
Post a Comment