Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
NFS Services Administrator's Guide: HP-UX 11i version 3 > Chapter 1 Introduction

New Features in NFS

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Index

This section discusses the new features that NFS supports on systems running HP-UX 11i v3.

NOTE: All versions of the NFS protocols are supported on HP-UX 11i v3. NFSv4 is not the default protocol. However, it can be enabled. For information on how to enable NFSv4, see “Configuring the NFSv4 Server Protocol Version ”.

NFS Version 4 Protocol (NFSv4)

NFSv4 is an IETF standard protocol that provides the following features:

  • Single Protocol

    In NFSv4, MOUNT, Network Lock Manager, and the ACL protocols are merged into the NFS protocol. Merging all these protocols into a single protocol enables you to configure firewalls easily. All NFSv4 requests are now sent to one port.

    In earlier versions of NFS, separate protocols were required to mount a filesystem, monitor a remote client or a server, lock or unlock a file, and unmount a filesystem. Configuring a firewall to permit access to specific ports that the protocols listened on was difficult (or impossible) if the client or the server was part of a firewalled network.

  • COMPOUND Procedure

    The COMPOUND procedure decreases transport and security overhead, because of fewer over-the-wire trips between the client and the server. This feature is transparent to the user.

    NFSv4 uses the COMPOUND RPC procedure to build sequence of requests into a single RPC. All RPC requests are classified as either NULL or COMPOUND. All requests that are part of the COMPOUND procedure are known as operations. An operation is a filesystem action that forms part of a COMPOUND procedure. NFSv4 currently defines 38 operations.

    The server evaluates and processes operations sequentially. If an error is encountered, it is returned by the server for the entire procedure up to the first operation that causes the error.

    The NFSv4 protocol design enables NFS developers to add new operations that are based on IETF specifications.

  • Delegation

    In NFSv4, the server can delegate certain responsibilities to the client. Delegation enables a client to locally service operations, such as OPEN, CLOSE, LOCK, LOCKU, READ, and WRITE, without immediate interactions with the server.

    The server grants either a READ or a WRITE delegation to a client at OPEN. After the delegation is granted, the client can perform all operations locally.

    Delegations can be revoked by the server. If another client requests incompatible access to the file, the server revokes the delegation. Once the delegation is returned, the other client can access the file.

    WARNING! Delegations are disabled, by default. If delegations are enabled, delegations are only supported by applications that access the delegated files remotely. Local access is not protected until a future release of HP-UX. Allowing local access and enabling delegation on a file can corrupt it.
  • Built-In Security

    In NFSv4, the built-in security feature enables the RPC layer to use different security mechanisms. You can specify a different security policy for each filesystem. The server and the clients can negotiate supported security flavors on a per filesystem basis.

    NFSv4 uses the RPCSEC_GSS framework for authentication, integrity, and privacy. This framework enables the RPC protocols to access the Generic Security Services Application Programming Interface (GSS-API).

    The RPCSEC_GSS/GSS-API security framework is extensible. However, the new security flavors, whenever added, must conform to the GSS-API model.

    For information on how to secure your systems, see “Secure Sharing of Directories ”.

  • ACLs

    An Access Control List (ACL) provides stronger file security, by enabling the owner of a file to define file permissions for the file owner, the group, and other specific users and groups. ACL support is built into the protocol. ACLs can be managed from an NFS client using either the setacl or the getacl command.

    For more information on ACLs, see acl(1M), getacl(1M), and
    setacl(1M).

    NOTE: In NFSv2 and NFSv3, ACLs are manipulated using NFSACL protocol. If systems in your environment do not support the NFSACL protocol, then ACLs cannot be manipulated using this feature.
  • File Handle Types

    File handles are created on the server and contain information that uniquely identify files and directories. Following are the different file handle types:

    • ROOT

      The ROOT file handle represents the conceptual root of the file system namespace on an NFS server. The NFS client starts with the ROOT file handle by using the PUTROOTFH operation. This operation instructs the server to set the current file handle to the root of the server file tree. If you use the PUTROOTFH operation, the client can traverse the entire file tree using the LOOKUP operation.

    • Persistent

      The persistent file handle is an assigned fixed value for the lifetime of the filesystem object that it refers to. When the server creates the file handle for a filesystem object, the server must accept the same file handle for the lifetime of the object. The persistent file handle persists across server reboots and filesystem migrations.

    • Volatile

      Volatile file handles can be set to expire at a certain time. For example, they can be set to expire during the filesystem migration. This file handle type is useful for servers that cannot implement persistent file handles. However, the volatile file handles do not share the same longevity characteristics of a persistent file handle, because these file handles can become invalid or expire.

      NOTE: HP-UX supports only persistent file handles. The client must know how to handle persistent and volatile file handles. However, the server is not required to support both types.
  • Namespace Changes

    The namespace describes the set of available files that are arranged in a hierarchy. When a server shares files, it typically shares only a portion of its namespace. In NFSv4, the shared namespace of the server forms a single hierarchy.

    When a server shares separate filesystems as a disconnected portion of its namespace, the server creates a pseudo filesystem to bridge the unshared portions of the namespace. This enables a client, which has been enabled to traverse remote filesystems without having to mount them, to access the shared points from a single common root.

    The NFSv4 specification does not require a client to traverse the NFS server’s namespace. HP-UX does not support this feature for this release.

    For example, a server shares /opt/dce, /opt/hpsmh, and /doc/archives directories. In this list, the shared list hierarchy is not connected. The /doc/archives directory is neither a parent nor a child directory of /opt.

    Figure 1-1 “Server View of the Shared Directories” shows the server view of the shared directories.

    Figure 1-1 Server View of the Shared Directories

    Server View of the Shared Directories

    If the administrator shares /, and /opt/dce, then the NFS client using NFSv2 and NFSv3 can mount / and /opt/dce. Attempts to mount /opt will fail.

    In NFSv4, the client can mount /, /opt and /opt/dce. If the client mounts /opt and lists the contents of the directory, only the directory dce is seen. If you change directory (cd) to dce, the contents of dce is not visible. The client must specifically mount /opt/dce to see the contents of dce. Future versions of HP-UX will allow the client to cross this filesystem boundary on the server.

  • String Identifiers

    NFSv4 represents users and groups in the following manner:

    users@domain

    Or

    group@domain

    Where:

    users

    specifies the string representation of the user

    group

    specifies the string representation of the group

    domain

    specifies a registered DNS domain or a sub-domain of a registered domain

    However, UNIX systems use integers to represent users and groups in the underlying filesystems stored on the disk. As a result, using string identifiers requires mapping of string names to integers and back.

    The nfsmapid daemon is used to map the owner and owner_group identification attributes with the local user identification (UID) and group identification (GID) numbers, which are used by both the NFSv4 server and the NFSv4 client.

    On the NFS client, the nfsmapid daemon maps a numeric UID or a numeric GID to a string representation. On the NFS server, it maps a string representation to a numeric UID or a numeric GID.

    For example, user casey with UID 121212 on an NFSv4 client whose fully qualified name is system.anydomain.com is mapped to casey@anydomain.com. The NFS client sends the string representation, casey@anydomain.com, to the NFS server. The NFS server maps the string representation, casey@anydomain.com, to the unique ID 121212.

    The nfsmapid daemon uses the user and group entries in the /etc/nsswitch.conf file, to determine which name service to use while converting strings and numerical values and back.

    For information on how to configure the nfsmapid daemon, see nfsmapid(1M).

  • File Locking

    File locking support is integrated with the NFSv4 protocol. NFSv4 introduces leases for lock management.

    When a server grants a lock to control the access of a file for a specific period of time, it is called a lease. During the lease period, the server cannot grant conflicting access to another client.

    The lock lease interval can accept values higher than the cache consistency leases. As a result, the client requires only a smaller number of refreshes. The lease ensures that the client does not lose the locking state.

    If a client refreshes a lock, all locks held by the client with that server are validated. This reduces the number of lease refreshes by the client from one per lock to one per client for a specific lease.

For information on configuring NFSv4 for the server, see “Configuring the NFSv4 Server Protocol Version ”. For information on configuring NFSv4 for the client, see “Configuring the NFSv4 Client Protocol Version”.

Sharing and Unsharing Directories

In HP-UX 11i v3, NFS replaces the exportfs command with the share command. The share command is used on the server to share directories and files with clients. You can use the unshare command to disable the sharing of directories with other systems.

In earlier versions of HP-UX, the exportfs command was used to export directories and files to other systems over a network. Users and programs accessed the exported files on remote systems as if they were part of the local filesystem. NFS disabled the system from exporting directories by using the -u option of the exportfs command.

For information on how to share directories with the NFS clients, see “Sharing Directories with NFS Clients”. For information on how to unshare directories, see “Unsharing (Removing) a Shared Directory”.

Following are the new share features that NFS supports:

Mounting and Unmounting Directories

NFS clients can mount any filesystem or a part of a filesystem that is shared by the NFS server. Filesystems can be mounted automatically when the system boots, from the command line, or through the automounter. The different ways to mount a filesystem are as follows:

For information on how to disable mount access for a single client, see “Unmounting (Removing) a Mounted Directory”.

Starting with HP-UX 11i v3, the mount command is enhanced to provide benefits such as performance improvement of large sequential data transfers and local locking for faster access. The umount command allows forcible unmounting of filesystems. These features can be accessed using specific options of the mount command. For more information on these options, see mount_nfs (1M), and umount(1M).

NFS clients can also unmount the directories using the umount command. For information on unmounting a shared directory, see “Unsharing (Removing) a Shared Directory”.

Support for WebNFS

NFS is designed as a file access protocol for LANs. WebNFS is an extension of NFS. It enables you to access files across the Internet easily. WebNFS is designed to handle unique problems associated with accessing files across the Internet.

WebNFS enables filesystems at other locations on the Internet to appear to a user as a local filesystem. WebNFS works through firewalls and implements features such as read-ahead and write-behind, to improve throughput and performance over the Internet.

WebNFS is supported on NFS version 2 and 3 only.

For more information on WebNFS, see “Sharing directories across a firewall using the WebNFS Feature”.

Secure Sharing of Directories

In earlier versions of HP-UX, NFS used the AUTH_SYS authentication, which uses UNIX style authentication, (uid/gid), to allow access to the shared files. It is fairly simple to develop an application or server that can masquerade as a user because the gid/uid ownership of a file can be viewed.

The AUTH_DH authenticating method was introduced to address the vulnerabilities of the AUTH_SYS authentication method. The AUTH_DH security model is stronger, because it authenticates the user by using the user’s private key.

Kerberos is an authentication system that provides secure transactions over networks. It offers strong user authentication, integrity and privacy. Kerberos support has been added to provide authentication and encryption capabilities. For information on how to share directories in a secure manner, see “Secure Sharing of Directories ”.

Client Failover

By using client-side failover, an NFS client can specify redundant servers that are making the same data available and switch to an alternate server when the current server becomes unavailable. The filesystems on the current server can become unavailable for the following reasons:

  • If the filesystem is connected to a server that crashes

  • If the server is overloaded

  • If a network fault occurs

A failover occurs when the filesystem is unavailable. The failover is transparent to the user. The failover can occur at any time without disrupting processes that are running on the client.

Consider the following points before enabling client-side failover:

  • The filesystem must be mounted with read-only permissions.

  • The filesystems must be identical on all the redundant servers for the failover to occur successfully. For information on identical filesystems, see “Replicated Filesystems”.

  • A static filesystem or one that is not modified often is used for failover.

  • File systems that are mounted using CacheFS are not supported for use with failover.

  • If client-side failover is enabled using the command-line option, the listed servers must support the same version of the NFS protocol. For example, onc21 and onc23 must support the same version of NFS protocol, either NFSv2, NFSv3, or NFSv4.

For information on how to enable client-side failover, see “Enabling Client-Side Failover”.

Replicated Filesystems

A replicated filesystem contains the corresponding directory structures and identical files. A replica (identical copy) of a filesystem consists of files of the same size and same file type as the original filesystem.

HP recommends that you create these replicated filesystems using the rdist utility.

The rdist utility enables you to maintain identical copies of files on multiple hosts. It preserves the owner, group, mode, modification time of files, and updates programs that are running.

Enhanced NFS Logging

The NFS server logging enables an NFS server to provide a record of file operations that are performed on its filesystems. The record includes information about the file accessed, time of access, and the users who accessed the files. You can also specify the location of the logs that contain this information. This feature is useful for sites that make anonymous FTP archives available to NFS and WebNFS clients.

IPv6 Support

NFS supports filesystem mounting over an IPv4 or an IPv6 address where square brackets enclose the IPv6 address.

The nsquery feature supports ipnodes lookup request and provides support to lookup IPv6 data in the backend libraries.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 2007 Hewlett-Packard Development Company, L.P.