While Oracle tech folks do their best to explain the meaning of not so many DNFS configuration file (oranfstab) parameters, I still find the official description a bit confusing. Therefore, I decided to share my understanding of the DNFS configuration parameters in hope that it will help someone or that if my understanding is wrong, someone corrects me :) So, if I am wrong please, please, please feel free to comment below.
Reasonably good description from Oracle folks
REF: Oracle® Grid Infrastructure Installation Guide 11g Release 2 (11.2) for Linux Part Number E22489-08
The parameters Enabling Direct NFS Client Oracle Disk Manager Control of NFS
Yury’s explanation
- Server – Any name you want. This item has no technical impact whatsoever. This is kind of a configuration set’s alias used by instances to report the DNFS channels’ status or channel- related problems.
- “Local:” & “Path:” – Both parameters are IPs of a network card through which you want the DNFS traffic to be sent. “Local” is an IP on your database server. “Path” is an IP of a network card on the NFS server. You can configure up to 4 IPs for each parameter (assuming you have 4 different network cards).
- “Export:” & “Mount:” – This pair of parameters identifies a configuration set in an oranfstab file. You can have as many configuration sets as you want in a single configuration file. Each configuration set is relative to at least one or several pairs of mount points specified by an “Export”/”Mount” pair. “Export” parameter identifies a mount name on the NFS server, while “Mount” identifies the name of a mount point on a database server.
- Mnt_timeout: If an Oracle session doesn’t receive any response from a DNFS channel for the number of seconds specified by that parameter (default 10 mins), it drops the connection and marks the channel as unavailable. Comment: It sounds a bit too high for me.
- Dontroute: If specified, no OS TCP/IP routing process is used. The packages got sent to the network interfaces specified by “Local” parameter directly. It sounds logical to me.
oranfstab file example
cat $ORACLE_HOME/dbs/oranfstab
server: nfs_data_cfg_set1 # Remember you can anything here. It doesn't have any tech meaning local: locIP1 # e.g. local:168.192.1.32 path: nfsIPa # this IP could be different from the one specified in a /etc/mtab local: locIP2 path: nfsIPb local: locIP3 path: nfsIPc local: locIP4 path: nfsIPd dontroute # Optional Mnt_timeout: 30 # Oprional export: /vol/orad1 mount: /ora_nfs_a export: /vol/orad2 mount: /ora_nfs_b export: /vol/orad3 mount: /ora_nfs_c # Note that this is where nfs_data_cfg_set1 section ends server: nfs_fra_cfg_set2 local: locIP5 path: nfsIPf local: locIP6 path: nfsIPg local: locIP3 path: nfsIPc local: locIP4 path: nfsIPd Mnt_timeout: 120 export: /u01 mount: /fra_nfs_a # this is where nfs_fra_cfg_set2 ends server: nfs_dpump_cfg_set2 .... export: /vol/interfaces mount: /d_pump_a # this is where nfs_dpump_cfg_set2 ends
Let me know if this post helped you or you found a mistake.
Yury
4 Comments. Leave new
I have not used DNFS a lot yet. This post does clarify my big misunderstanding. I thought “server” parameter needs to refer to DNS/hostname of the NFS server. Thanks so much!
I am glad to see that it helped you Justiono ;) Thanks for the feedback. The feedback alike lets me understand that I my work helps Oracle Community :)
Hi,
What does “Oracle drops the connection and marks the channel as unavailable.” mean in the header mnt_timeout? Does it mean it does not round-robin to that channel anymore? and when the problem is fixed how is it re-enabled?
So in your example,
server: nfs_data_cfg_set1
local: locIP1 # e.g. local:168.192.1.32
path: nfsIPa
local: locIP2
path: nfsIPb
local: locIP3
path: nfsIPc
local: locIP4
path: nfsIPd
dontroute # Optional
Mnt_timeout: 30 # Optional
export: /vol/orad1 mount: /ora_nfs_a
export: /vol/orad2 mount: /ora_nfs_b
export: /vol/orad3 mount: /ora_nfs_c
—
server: is just a tag for the group of parms down to EOF or another “server:” parm. T/F?
—
local: is my DB server
path: is my NFS server
–> this confused me, sorry. you have three sets of these parms but this file (oranfstab) exists on a single server. So how would the other servers (locIP2, 3 & 4) know about or benefit from this?
—
export:
/vol/orad1 = the existing mount on the NFS server?
/ora_nfs_a = the new local mount created by dFNS?
–> How are these entries resolved with respect to the local/path pairs above?
Thank you so much for your answer!