Storage is the foundation of every IT infrastructure, it keeps the data and your software. If you don't devote enough attention to this element it could become a single point of failure or a bottleneck.
Providing the required performance and availability of accessing the data becomes the key point in every project that entered the mature stage.
At some point questions are asked about risk of storage failure, data loss, how long it would take to restore the service, or recover from the backup. It often happens after we heard about such failure in another company or we were in a similar situation.
We may hit a bottleneck at the storage level during expansion of the IT infrastructure because it's difficult to scale in contrast to other elements. It's often difficult to even diagnose performance problems with storage.
An example configuration of storage servers we are using:
- Synchronous replication to the backup server. Continuous access to up-to-date data in case of failure of one of the servers without the need of restoring from the backup.
- Practically invisible switch to the backup server using a virtual IP address that is moved between the servers.
- Access using NFS or iSCSI suitable for web server farm or virtual machines.
- Consistent backup without performance issues performed on the backup server.