Oracle 11g has introduced a new
method for directly accessing NFS V3 servers by using an
internal Direct NFS Client as part of the Oracle Database
kernel. This improves performance and manageability by
allowing Oracle-specific optimizations to be utilized.
Additionally, it removes the need to manually configure and
tune most of the NFS client parameters.
The use of network attached storage
(NAS) systems has become increasingly common in enterprise
database environments. This is due to the growing need
to consolidate data to a single point of access. NAS
technology offers an ideal solution to this need by allowing
access to network drives as if they were directly attached
to the client. This allows the users, applications, or
the database itself to access files stored on the network as
if they were stored on local drives.
Files used by the database can be stored
on the NFS drive, including data files. However, due
to the performance limitations of NFS storage prior to
Oracle 11g, many production databases opted to use network
storage for files and processes. With these, the performance
limitation was acceptable. Using NFS drives allows for
scalability of disk space without requiring an upgrade of
the existing architecture. Now the system
administrator can attach a network drive and access the
drive as if it was attached locally. Once the network
drive is available, data files can be moved or created in
the newly available drives.
NFS drives provide a common access point
between multiple systems that are unable to directly connect
to each other but can independently connect to the network
file system. This is a common situation that can arise
from a multitude of reasons. For example, security
protocol on a server that supports an ERP database generally
restricts other systems from direct access. However,
the ERP database might have several dependencies on external
systems, such as systems that support electronic data
interchange (EDI). By utilizing a network drive, the
data transmission can flow from the external systems into
the ERP system without the two systems ever being directly
connected. There are many other uses for NFS storage
and as enterprise systems grow in size, the importance of
this technology in a system's architecture will become
increasingly important.
Prior to the 11g release of Oracle, the benefits of NFS
and the database have been subject to certain drawbacks such
as performance degradation and complex configuration
requirements of the NFS client. These drawbacks have been
minimized in Oracle 11g by the integration of a direct NFS
client in the Oracle kernel. This client allows Oracle
to optimize the I/O path between Oracle and the NFS server
directly. Utilizing Oracle's direct NFS client is also
automated and simplified in configuration to achieve optimal
performance.
Benefits of Direct NFS
The direct NFS client has two
fundamental optimizations that increase performance.
First, the direct NFS client is capable of performing
concurrent direct I/O. This removes the need to utilize the
operating system's cache and bypassing limitations which are
imposed by the operating system configuration. Using
the operating system to configure the NFS client, and data
written from the database to the NFS, requires that the data
be read from Oracle's memory to the operating system cache.
This is done before it is copied from the system cache to
the NFS. By using the direct NFS client, the Oracle data no
longer needs to be cached in the operating system. The
process reduces the overall memory consumption and kernel
CPU when writing to the network drive.
In addition to eliminating the
dependency on the operating system cache, the second
fundamental optimization is that the direct NFS client now
supports asynchronous I/O on NFS file systems.
Asynchronous I/O (AIO), also known as non-blocking I/O,
allows I/O processing to continue independently from other
I/O that has not yet completed. This setting makes a
tremendous difference for read/write performance, whether
using an NFS or a local drive. Many DBAs have
experience enabling AIO on their local file systems and
recall the performance improvement when switching from
synchronous I/O to asynchronous I/O. As of Oracle
11.1, the direct NFS client supports up to four parallel
network paths. The direct NFS client automatically
performs load balancing across all specified paths.
Another advantage of the direct NFS
client is that Oracle manages the configuration across
different platforms. This greatly simplifies the task
of administering NFS storage by allowing Oracle to
internally manage the NFS configurations for all platforms.
This eliminates the need to manage different configurations
on each platform, or use storage-specific drivers.
This feature also uses simple Ethernet for storage
connectivity, eliminating the need for additional
architecture components such as redundant host bus adaptors,
Fiber channel switches, or bonded network interfaces.
The direct NFS client supports both
single instance databases as well as real application
cluster (RAC) environments. The client recognizes when
an instance is part of a RAC environment and automatically
optimizes the NFS configuration accordingly.