In a previous post I discussed the importance both of IOPS in scaling a system that supports a high volume online transaction processing (OLTP) workload; and that accurately monitoring storage arrays in real-time is key to maintaining OLTP performance.


This post strictly focuses on the Network File System (NFS) as an especially efficient way to increase the IOPS in the work done between your database and storage array. Though I implicitly may seem to promote Network-attached storage (NAS) over storage area networks (SAN), I don’t pretend to address all the factors that you would need to consider in deciding which is best for your system.


All enterprise databases support server clustering. IT professionals debate the relative benefits of a file-based and block-based approach to coordinating server access to disk arrays. Yet, despite challenges in properly setting up NFS on storage arrays, few would disagree that this file system is highly reliable. Being file-based, NFS is fundamentally less complex than blocked-based systems, all of which require a layer cake of software to coordinate writing from the server cluster to disks in the storage array.


Red Hat Enterprise Linux may be the best clustering platform in that its kernel can open files in Direct I/O mode. This direct access to disk blocks from within the logic of NFS gives the database software simpler and so more efficient means to coordinate operations among the servers in the cluster as they all simultaneously attempt to write data resulting from application transactions.


Monitoring NFS and Other Storage Setups


SolarWinds STM, storage performance monitoring software, runs on Red Hat Enterprise Linux and can monitor storage arrays setup with NFS. In this particular case, assuming you choose an NFS-configured array, and your system is delivering the IOPS you need, take a look at STM, storage monitoring tool as a solution to maintain the internal service level agreement (SLA) upon which your system has been architected.


However, depending on the purposes and size of your system, you may have different storage strategies for different parts. Keep in mind that SolarWinds STM, storage monitoring tool is very versatile, supporting different array setups for many different vendors, rolling up monitoring data for all arrays into a single web console view.