9 Configuring NFS Version 4 (NFSv4) on Exalogic

This chapter describes how to set up and configure Network File System (NFS) Version 4 (NFSv4) on Oracle Exalogic.

It contains the following topics:

9.1 Overview

Oracle Exalogic is a multihomed system where multiple IP addresses are configured on the InfiniBand network interface. NFSv4 addresses file locking problems on multihomed systems, such as Exalogic. The file locking problem occurs when NFSv3 is used.

NFSv3

NFSv3 is a stateless protocol. NFS clients do not maintain the state between requests; the clients rely on the Network Lock Manager (NLM) protocol to support file locking. There are known limitations on the NLM based locking, and NFSv3 it can cause lock ownership issues under certain multihomed system configurations, where the source IP addresses are not deterministic between lock and unlock requests.

NFSv4

Unlike NFSv3, NFSv4 is a stateful protocol. An NFS client obtains a client ID assigned during the initial negotiation phase and uses it for all subsequent requests. With the use of Client ID, the client IP address is not used in the file locking process. Therefore, the file locking problem on Exalogic does not occur when NFSv4 is used. In addition, with locking built into the protocol, NFSv4 provides better lock performance than NFSv3.

Naming Service

NFSv4 requires a naming service, such as Network Information Service (NIS) or LDAP, for ID mapping. You can continue to use the naming service on your existing network. The naming service is not related to the file locking problem.

Note:

It is assumed that you have a working NIS or LDAP service on your network. This chapter does not describe how to set up the NIS or LDAP service.

9.2 Verifying NIS Setting on Exalogic

To verify the NIS setting in your storage appliance, complete the following steps:

  1. Log in to the Browser User Interface (BUI) of the storage appliance in your Exalogic machine.

  2. Click Configuration > SERVICES > NIS. NIS Server configuration information is displayed, as shown in Figure 9-1.

  3. Note down the domain name and the server IP address listed on the page. You require this information when setting up NIS clients on Exalogic compute nodes. If you do not see configuration information on this page, it means that you should install an NIS Server. Figure 9-1 uses an example NIS domain nisdomain.example.com.

9.3 Configuring the Storage Appliance

You must configure two services in the storage appliance for using NFSv4 on Exalogic:

9.3.1 NFS Service

Log in to the browser user interface (BUI) of the storage appliance, and configure the NFS service as follows:

  1. Click Configuration on the home page.

  2. Expand Services on the left navigation menu.

  3. Click NFS. The NFS service configuration page is displayed, as shown in Figure 9-2.

Enter information in the fields as follows:

  • Minimum supported version: NFSv3

  • Maximum supported version: NFSv4

  • Use DNS domain as NFSv4 identity domain: Ensure that the option is not selected.

  • Use custom NFSv4 identity domain: Enter the domain name of the NIS service you are using.

  • Enable NFSv4 delegation: Select this option.

  • Click APPLY.

9.3.2 NIS Service

Log in to the browser user interface (BUI) of the storage appliance, and configure the NIS service. For example, in Figure 9-3 the domain nisdomain.example.com is entered.

The NIS service must be up and running. For Server, select the Use listed servers option, and enter the host name or IP address of the NIS server.

9.4 Configuring an Exalogic Linux Compute Node to Use NFSv4

Configure an Exalogic Linux compute node as follows:

  1. Log in to the compute node as root.

  2. Edit the /etc/idmapd.conf configuration file:

    vi /etc/idmapd.conf

    Set the domain value, as in the following example:

    Domain = us.myexample.com

  3. Restart the rpcidmapd service:

    service rpcidmapd restart

  4. Update the /etc/yp.conf configuration file, and set the correct domain value, as in the following example:

    vi /etc/yp.conf

    Add the following line:

    domain us.myexample.com server <NIS_Server_hostname_or_IP>

    Where us.myexample.com is the example domain and <NIS_Server_hostname_or_IP> is the host name or IP address of the NIS server. You must replace these sample values with values appropriate for your environment.

  5. Set NIS domain name on the command line:

    # domainname <NIS_DOMAIN_NAME>

    For example:

    # domainname nisdomain.example.com

  6. Edit the /etc/nsswitch.conf configuration file:

    vi /etc/nsswitch.conf

    Change the following entries:

    #passwd:     files
     passwd:     files nis
    #shadow:     files
     shadow:     files nis
    #group:      files
     group:      files nis
     automount:  files nis nisplus
     aliases:    files nis nisplus
    
  7. Restart the rpcidmapd service:

    # service rpcidmapd restart

  8. Restart the ypbind service by running the following command:

    # service ypbind restart

  9. Check the yp service by running this command:

    # ypwhich

  10. Verify if you can access Oracle user accounts:

    # ypcat passwd

  11. Add ypbind to your boot sequence, so that it starts automatically after rebooting.

    # chkconfig ypbind on

9.5 Creating NFSv4 Mount Points on Oracle Linux

Create NFSv4 mount points on Oracle Linux as follows:

  1. Create a new share on the storage appliance. In this example, it is assumed that the new share is accessible as el01sn01:/export/common/patches. This mount point is mounted on the compute node as /u01/common/patches.

  2. On the compute node, create a new directory as follows:

    # mkdir -p /u01/common/patches

  3. Edit the /etc/fstab configuration file:

    vi /etc/fstab

    Add the following line, and enter the correct values for nfs4 and proto=tcp

    el01sn01:/export/common/patches /u01/common/patches nfs4 rw,bg,hard,nointr,rsize=131072,wsize=131072,proto=tcp

  4. Mount all shared volumes by running the following command:

    # mount -a