Frequently, when one tries to determine a disaster recovery transfer methodology, one gets stuck on the different methods available as they each have their strengths and weaknesses. I’ll ignore backups for the time being – backup images can be tapes shipped by truck from primary site to recovery site, or backups replicated by backup appliances. The focus will be on replication of “immediately” usable data sent over the network from primary site to recovery site.
Types of replication:
- Application Replication – Using an application to move data. This could be Active Directory, Microsoft SQL Server, Oracle DataGuard, or other application specific methods
- OS Replication – This typically uses some application within the Operating system and used to ship files … this could be something as simple as rsync
- Hypervisor Replication – For those that run virtualized environments, replication occurs at the hypervisor layer. This could be VMware vSphere Replication
- Storage Replication – This is when an array replicates the data.
With Application Replication – one can be confident that the application is replicated in a usable form. Without quiescing the applications, applications may not be entirely recoverable. (quiescing is the process of placing the application in a state that is usable – usually, this consists of flushing all data in RAM to disk). However, the question that inevitably comes up is: “What about all the other systems I will need at the recovery site?”
With OS Replication – the application that moves the data, tends to be fairly simple to understand: copy this directory structure (or folder) to the receiving system and place in such and such folder. However, with this methodology, the question that arises is: “What about the registry and open files?” If the process just sweeps the filesystem for changes, what happens to files that are open by some other application (i.e. not quiesced — could be a problem with database servers)?
With Hypervisor Replication (for virtualized environments) – The hypervisor sits underneath the guest operating system(s). This has the advantage of catching the writes from the guest. To write to disk, the guest has to write to the hypervisor and then the hypervisor writes to disk. The data can then be duplicated at this level. For this method, the inevitable question is: “What about by physical machines that haven’t been virtualized?” One can still have issues with non-quiesced apps.
With Storage Array Replication – The array sends to its peer at the remote site. The advantage of this method is that it can handle virtual or physical environments. The disadvantage is that an array on the remote side must match the protected site. This can be problematic, as frequently, sophisticated arrays with this technology tend to be costly.
Regardless of the methodology, there has to be coordination between the two sides. The coordination tends to be handled by having whichever facility at each end provided by the same vendor: e.g. SQL server to SQL server, VMware vSphere Replication appliances to vSphere Replication appliances, Storage vendor like NetApp to NetApp. [I’m ignoring Storage Hypervisors and just bundling those into the Storage Array layer.]
Every method has its own set of rules. Imagine I had a document where I wanted a copy across town. I could:
- walk it over myself – but I would have to follow the rules of the road and not cross against red lights
- e-mail it – but I would need to know the e-mail address and the recipient would need to have e-mail to receive it.
- fax it – but I would need a fax machine and the recipient would need a fax machine and I would need to dial the number of the recipient’s fax machine.
- send it with US postal – but I would need to fill out the envelope appropriately, with name, address, city, state.
- call the recipient and dictate it – but I would need the phone number and the recipient needs a phone. I would also need to speak the same language as the person on the other end of the phone.
These simplistic examples that we use every day, are used here to illustrate that there are certain norms that we are so familiar with that we ignore that they are norms. But, without these norms, the communication could not be done. Likewise, users should not be surprised that each data replication method has its own requirements and that the vendors are picky as they wish to define the method of communication.
Rev 1.0 06/25/13