You can implement shared storage in different ways:
• Rsync file synchronization
• The Distributed Replicated Block Device (DRBD)
The simplest way to make sure that files are the same on all nodes in the cluster is by using file-level synchronization with rsync. This software solution is configured to monitor some specific files in the clustered environment and synchronize any changes occurring to these files. Rsync is a usable solution to synchronize some individual files; however, if lots of data is involved, it is not the best solution that is available. The most important disadvantage of using rsync is that there is always some delay while synchronizing the files.
In a two-node cluster, you can use DRBD to provide a shared storage solution. Using DRBD, an entire partition is synchronized over the network. This way, DRBD implements a RAID 1 solution across the network. Such a solution guarantees that data blocks are synchronized across the network whenever a change occurs, thus ensuring that there is always a complete up-to-date backup on one other node. The drawback of this solution is that it is usable in a two-node cluster only. In a two-node cluster, however, it is by far the easiest solution that can be implemented; therefore, in the next section, you will read how to configure this environment.
The third common solution for shared storage is iSCSI. In iSCSI, a local disk on a server that is configured as an iSCSI target is made accessible to other servers in the network. Note that the iSCSI target ordinarily is not part of the cluster itself. On the servers that want to access the storage that is made available by the iSCSI target, you must use iSCSI initiator software. The nodes in this environment use the SCSI protocol packages sent across the network encapsulated in IP packages.
On the storage device on the server that is configured as an iSCSI target, partitions, complete disks, or volumes are created that can be shared across the network. In such a configuration, it is common to provide one shared storage device for each service that is configured in the cluster. If a service goes down on one server, the service itself and the associated shared storage device will fail over to another server—as long as the server that is used as the iSCSI target remains available. iSCSI is a good solution to give access to data in a clustered environment.
Finally, you can use SAN for shared storage. This is the most robust solution, but it is also a solution that has a disadvantage: cost. Of course, if a SAN has already been deployed for other purposes, by all means consider using it for these purposes. Otherwise, you might consider some of the aforementioned solutions. If you want the best, most reliable, and most flexible solution for centralized storage in your network, however, use a SAN.
Was this article helpful?