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

  • From: Rajesh Aialavajjala <r.aialavajjala@xxxxxxxxx>
  • To: christopherdtaylor1994@xxxxxxxxx
  • Date: Tue, 5 Nov 2013 14:30:02 -0500

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...

//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@xxxxxxxxx> 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
>
>

Other related posts: