Re: IO question regarding Netapp NFS mounted filesystems on Linux & Solaris

From: Rajesh Aialavajjala <r.aialavajjala_at_gmail.com>
Date: Tue, 5 Nov 2013 14:30:02 -0500
Message-ID: <CAGvtKv4JCFu-vjv9PJqn+6kmzmzXLbGfxivKHGZJSzYaYV2d0w_at_mail.gmail.com>



Chris,
 Per my understanding - Oracle states that "setall" - Enables both ASYNC and DIRECT IO. The 'setall' option chooses async or direct I/O based on the platform and file system used.

In discussing the use of DNFS - oracle seems to opine that "since we can always fall back to the OS NFS client in case of mis-configuration - as a precaution - set filesystemio_options to 'directio' or 'setall' if the OS supports it."

A sentiment echoed by Redhat - For Linux - If you also wish to enable Direct I/O Support, set filesystemio_options to "setall". *For Red Hat Enterprise Linux 5, it is strongly recommended to use “setall” for ext2, ext3, GFS, NFS and OCFS2 file systems*

 The following MOS documents contain information as relates to what this parameter should get set to -- you are absolutely right in stating "it depends" - basing on your specific configuration...

Asynchronous I/O Support on OCFS/OCFS2 and Related Settings: filesystemio_options, disk_asynch_io (Doc ID 432854.1) Initialization Parameter 'filesystemio_options' Setting With Direct NFS (dNFS) (Doc ID 1479539.1)
Mount Options for Oracle files when used with NFS on NAS devices (Doc ID 359515.1)
Oracle Linux, Filesystem & I/O Type Supportability (Doc ID 279069.1) db file async I/O submit' when FILESYSTEMIO_OPTIONS=NONE (Doc ID 1274737.1)

For Solaris - DirectIO can be enabled through two different mechanisms on Solaris. The first is a mount option (forcedirectio) passed to the UNIX mount command. The mount option applies to all files accessed via the mount point. Alternatively, applications can choose to disable file system caching by using the appropriate API, indicating that DirectIO semantics are requested on the file. Typically the database application will be responsible for enabling DirectIO

Further reading - the 1st article is great...

http://kevinclosson.wordpress.com/2007/07/17/manly-men-only-deploy-oracle-with-fibre-channel-part-viii-after-all-oracle-doesnt-support-async-io-on-nfs/
http://indico.cern.ch/getFile.py/access?contribId=19&sessionId=10&resId=3&materialId=paper&confId=27391
http://nyoug.org/Presentations/2011/June/2011_06_Hailey_NFS_Tuning.pdf
http://www.netapp.com/us/media/tr-3322.pdf
http://www.redhat.com/f/pdf/rhel/Oracle-10-g-recommendations-v1_2.pdf

And some history from oracle-l...

http://www.freelists.org/post/oracle-l/NFS-and-direct-IO

Forgive me if this is a rehashing of something you've already read and comprehended...if it isn't - hope it helps...

Thanks,

--Rajesh Aialavajjala

On Tue, Nov 5, 2013 at 1:07 PM, Chris Taylor < christopherdtaylor1994_at_gmail.com> wrote:

> For Oracle versions 10.2 and 11.2+,what is the typical recommendation for
> "filesystemio_options" when using NFS filesystem to a NetApp device? (I
> know there are a lot of "it depends" to this question but what I'm looking
> for is a starting point).
>
> From reading it seems that the starting point should be SETALL. This
> environment that I'm working in has settings across the board - some places
> its NONE, some places its ASYNC, some places its SETALL.
>
> It's my understanding that SETALL will fall back to whatever is supported
> by the OS - is that true? (So if async is not available but directio is,
> then Oracle will be enabled to use DirectIO - or am I mistaken)
>
> Regards,
> Chris
>
>

--
http://www.freelists.org/webpage/oracle-l
Received on Tue Nov 05 2013 - 20:30:02 CET

Original text of this message