25. Configuring the MultiNet NFS 3 Client & Server

Introduction

MultiNet supports version 3 of the NFS server and client protocols.  NFSv3 provides:

·         support for 64-bit file sizes and offsets, to handle files larger than 2 gigabytes

·         support for asynchronous writes on the server, to improve write performance

·         additional file attributes in many replies, to avoid the need to re-fetch them, thus reducing network traffic

·         a READDIRPLUS operation, to get file handles and attributes along with file names when scanning a directory

·         assorted other improvements

 

Server Security & Initial Configuration

Just like the older NFS v2 Server, the NFS v3 server provides several features that maintain the integrity of the OpenVMS filesystem.

First, the server requires that the local system must register any user trying to access OpenVMS files. You do this through the PROXY database when you configure the Server and through later modifications as needed.

Second, you must export an OpenVMS directory for an NFS user to access it. The server does this through the EXPORT database when you configure the Server and through later modifications as needed.

The initial offering of the NFS v3 Server utilizes a compiled binary format for its PROXY and EXPORT databases.  Initially, these databases will use the existing proxy and export information found in the MultiNet NFS.CONFIGURATION file.  To get the data into the proper format for the NFS v3 server, the CONVERT_NFS tool must be invoked.  The CONVERT_NFS tool will read the NFS.CONFIGURATION file and set up the v3 only NFS_EXPORT.DAT and NFS_PROXY.DAT files.  The CONVERT_NFS tool is invoked from the command line:

$ RUN CONVERT_NFS

There is minimal output, and two files are created - NFS_EXPORT.DAT and NFS_PROXY.DAT.  At this time, any changes made via MULTINET CONFIGURE /NFS will not be picked up by the NFS v3 server until CONVERT_NFS is invoked.  Future versions of MultiNet will streamline this process.

Refer to the MultiNet NFS V2 server documentation in the previous chapter for further details on configuring proxies, exports, and the supporting protocols (i.e., portmapper, etc.)  The NFS v3 server utilizes the same supporting RPC protocols as the NFS v2 server.

NOTE!  The initial implementation of the NFS v3 service (NFSV3_SERVER) will run in conjunction with the legacy NFS service (NFS_SERVER) or by itself.  The only dependency is the RPCPORTMAP service.  A future version of MultiNet will incorporate an NFS server that supports both NFS v2 and NFS v3 from the same process.

 

Client

Either the legacy NFSv2 client or the NFSv3 client can be used, but both cannot be used at the same time. The NFSv3 client supports the mounting of NFSv2 exported directories as well as NFSv3 directories through different ACP images. NFSv3 needs to be specified as part of MultiNet configuration so that the proper driver is loaded.

$ MULTINET CONFIGURE/NETWORK

NET-CONFIG> SET NFS3 TRUE

NET-CONFIG> EXIT

The existing MultiNet NFSMOUNT command will detect if the NFSv3 driver is being used and convert the mount command to use the NFSv3 mount program.  Use the information at the end of the chapter to use the NFS3 mount program directly.

 

Mounting Client Directories

NFS v3 clients access OpenVMS files on the NFS server by mounting directories. The MOUNT v3 protocol services the mount requests from clients attempting to mount an NFS v3 export.

Mounting procedures vary by client and may require superuser privileges, or in the case of PC clients, a username and password. Some clients mount a remote directory automatically when they reboot the system (as in the case of fstab). Others mount a remote directory dynamically when they reference the remote file (as with an automount).

Mount procedures require the following information:

·         The pathname of the exported directory that matches the pathname in the EXPORT database

·         The name of the host running the server that contains the files you want mounted

·         A pathname on the client designated as the mount point

Below is a mount command provided by a Solaris 9 Client to the NFSV3_SERVER running on host IRIS, using the defined export of NFS0:[USER.MNT] .  The export is mounted onto the local /mnt partition.

# mount IRIS:DKA0:\[USERS.MNT\] /mnt

In the example, IRIS is the name of the MultiNet host. DKA0:[USERS.MNT] is the exported directory. /mnt is the mount point on the Solaris client host.

Check your NFS client documentation before mounting directories.

 

File Formats

The NFS protocol does not define standard file and record formats or a way of representing different types, such as text or data files. Each operating system can have a unique file structure and record format.

The Server provides access to all OpenVMS files. However, even though an NFS client can access a file, the client may not be able to correctly interpret the contents of a file because of the differences in record formats.

The UNIX operating system stores a file as a stream of bytes and uses a line feed (LF) character to mark the end of a text file line. PC systems also store a file as a stream of bytes, but use a carriage-return/line-feed (CRLF) character sequence to mark the end of a text file line. PC systems sometimes also use a Ctrl/Z character to mark the end of a file.

The OpenVMS operating system, with its Record Management Services (RMS), provides many file organizations and record formats. RMS supports sequential, relative, and indexed file organizations. It also supports FIXED, STREAM, STREAM_CR, STREAM_LF, UNDEFINED, VARIABLE, and variable with fixed size control area (VFC) files.

NFS clients most commonly need to share text files. STREAM is the RMS record format that most closely matches PC text files. STREAM_LF is the RMS record format that most closely matches UNIX text files.

In OpenVMS, you can store standard text files in VARIABLE, STREAM_LF, or VFC record format. Most OpenVMS utilities can process these text files regardless of the record format because the utilities access them through RMS.

The intent of the Server is to provide convenient access to the majority of OpenVMS files. Because many OpenVMS text files are VARIABLE or VFC format, the Server converts these files to STREAM or STREAM_LF format as it reads them.

 

Reading Files

The Server reads all files (except VARIABLE and VFC) block by block without interpreting or converting them. It reads VARIABLE and VFC files by converting them to STREAM or STREAM_LF, based on a selected option. The file on the NFS server remains unchanged.

The Server's automatic file conversion process can cause a slow reading of VARIABLE and VFC files. For example, in returning the file size, it reads the entire file. Full directory listings can also be slow if the directory contains a number of VARIABLE or VFC record format files. If you need frequent access to these files, consider converting them using the OpenVMS CONVERT utilities.

 

Writing Files

By default, the Server creates STREAM_LF files, but can also create STREAM files on demand. It writes all files except VARIABLE and VFC block by block without interpreting or converting them. If an NFS client tries to write to or change the size of an existing file not having STREAM, STREAM_LF, STREAM_CR, FIXED, or UNDEFINED format, the Server returns an EINVAL error.

 

Implementation

This section describes the Server restrictions and implementation of the Network File System (NFS) protocol. The material presented here requires a thorough understanding of the protocols. It does not explain or describe the protocols.

 

Restrictions

The Server has the following OpenVMS-related restrictions:

·         The Server supports Files-11 ODS-2 structure level disks, ODS-5 formatted disks, and any CD-ROM format.

·         The Server does not implement volume protection. All exported devices should be public devices.

·         The Server does not generate security or audit alarms. However, the Server writes access violations to log file MULTINET:NFSV3_SERVER.LOG.

·         When creating files and directories, the Server sets the owner UIC of the file or directory to the UIC derived from the UID/GID in the create request authentication information or to the UID/GID in the set attributes information (if available).

 

NFS Protocol Procedures

The Server implements the following NFS protocol (version 3) procedures (while continuing to support version 2):

Procedures

Description

ACCESS (v3 only)

 

(access)

The server determines the access rights that a user, as identified by the credentials in the request, has with respect to a file system object.

COMMIT CACHED WRITE DATA

 (v3 only)

 

(commit)

The server forces data to stable storage that was previously written with an asynchronous write call.

CREATE FILE  

 

(create)

The server creates files using the record format specified in the EXPORT database entry. The client may specify one of 3 methods to create the file:

 

UNCHECKED: File is created without checking for the existence of a duplicate file.

GUARDED: Checks for the presence of a duplicate and fails the request if a duplicate exists.

EXCLUSIVE: Follows exclusive creation semantics, using a verifier to ensure exclusive creation of the target.

GET ATTRIBUTES 

 

(getattr)

Gets a file's attributes. The Server handles certain file attributes in ways that are compatible with the OpenVMS system. These attributes are:

 

File protection—The server maps the OpenVMS file protection mask to the UNIX file protection mask.

Number of links—Although OpenVMS supports hard links, it does not maintain a reference count. Therefore, the server sets this value to 1 for regular files and 2 for directory files.

UID/GID—The server maps a file owner's UIC to a UID/GID pair through the PROXY database.

Device number—The server returns the device number as -1.

Bytes used—The total number of bytes used by the file.

Filesystem id—The server returns the filesystem ID as 0.

Access, modify, status change times—The OpenVMS system does not maintain the same file times as NFS requires. The server returns the OpenVMS revision (modify) time for all three NFS times.

 

For directory files, the Server returns the access, status change, and modify times as a reasonably recent time, based on the time of the last Server-initiated directory change, and the NFS_DIRTIME_TIMER parameter. This is a benefit to clients that cache directory entries based on the directory times.

OpenVMS bases its time on local time, while UNIX bases its time on Universal time (or Greenwich mean time), and these times may not agree. The offset from Universal time specified when configuring MultiNet resolves the difference between local and Universal time.

GET DYNAMIC FILESYSTEM INFO (v3 only)

 

(fsstat)

The server provides volatile information about a filesystem, including:

·         total size and free space (in bytes)

·         total number of files and free slots

·         estimate of time between file system modifications

GET FILESYSTEM STATISTICS (v2 only)

 

(statfs)

 

Returns filesystem statistics. The server handles certain file attributes in ways that are compatible with the OpenVMS system. These attributes are:

 

Block size—The block size is 1024.

Total number of blocks—The total number of blocks is the SYS$GETDVI MAXBLOCK parameter divided by 2.

Blocks free—The number of blocks free is the SYS$GETDVI FREEBLOCK parameter divided by 2.

Blocks available—The number of blocks available to unprivileged users is the same as the number of blocks free.

GET STATIC FILESYSTEM INFO (v3 only)

(fsinfo)

The server provides nonvolatile information about a filesystem, including:

·         preferred and maximum read transfer sizes

·         preferred and maximum write transfer sizes

·         flags for support of hard links and symbolic links

·         preferred transfer size of readdir replies

·         server time granularity

·         whether or not times can be set in a setattr request

LINK

 

(link)

Creates a hard link to a file. The Server stores the link count in an application access control entry (ACE) on the file.

LOOKUP FILE

 

(lookup)

Looks up a file name. If the file name does not have a file extension, the server first searches for a directory with the specified name. If the server fails to locate a directory, it searches for the file name without an extension.

MAKE DIRECTORY

 

(mkdir)

Creates a directory. The OpenVMS system does not allow the remote host to create more than eight directory levels from the root of the OpenVMS filesystem. The server ignores access and modifies times in the request.

READ DIRECTORY

 

(readdir)

Reads a directory. The Server returns file names using the filename mapping scheme as specified in the EXPORT database entry. The Server also drops the VMS version number from the file name for the highest version of the file.

READ DIRECTORY PLUS ATTRIBUTES (v3 only)

 

(readdirplus)

In addition to file names, the server returns file handles and attributes in an extended directory list.

READ FROM FILE (read)

Reads from a file. The Server converts VARIABLE and VFC files to STREAM or STREAM_LF format (depending on the option set) as it reads them. The server returns EOF when detected.

REMOVE DIRECTORY

 

(rmdir)

Deletes a directory.

REMOVE FILE

 

(remove)

Deletes a file.

RENAME FILE

 

(rename)

Renames a file. If the destination filename is the same as an existing filename and the destination filename does not have a zero or negative version number, the Server overwrites the existing file.

READ LINK

 

(readlink)

Reads the contents of a symbolic link.

SET ATTRIBUTES

 

(setattr)

Sets file attributes. The Server handles certain file attributes in ways that are compatible with the OpenVMS system. These attributes are:

 

File protection—The Server maps the UNIX file protection mask to the OpenVMS file protection mask, as shown earlier in this chapter.

UID/GID—The client changes the file owner's UIC. The PROXY database maps the new UID/GID to an OpenVMS UIC. If the Server cannot locate the new UID/GID in the database, it returns an error and does not change the owner UIC.

Size—If the file size is larger than the allocated size, the Server extends the file. If the size is 0, the Server truncates the file and sets the record attributes to sequential STREAM_LF. You cannot change the size of variable length or VFC files (except to zero).

Access time—Changing the access time has no effect on the OpenVMS system.

Modify time—The modify time updates the OpenVMS revision time.

SYMBOLIC LINK

 

(symlink)

Creates a symbolic link. The server creates the file with an undefined record structure and uses an application ACE on the file to mask it as a symbolic link.

WRITE TO FILE (write)

Writes to a file. The Server does not allow a remote host to write to a directory file, or to VARIABLE and VFC files.

 

If the server allowed a remote host to write to an existing OpenVMS file that was not a STREAM_LF or fixed-length record format file, the file could become corrupted. The server does not allow a remote host to explicitly change the record format of an OpenVMS file.

 

The server can return the non-standard NFS error ETXTBSY (26) and EINVAL (22). The Server returns ETXTBSY when an OpenVMS user has a file open for exclusive access and an NFS user tries to use the file in a way that is inconsistent with the way the OpenVMS user opened the file. The server returns EINVAL if an NFS user tries to write to or change the size of a VARIABLE or VFC record format file.

 

With Version 3, the server supports asynchronous writes (see commit).

 

Troubleshooting

If you are experiencing network communication-related problems on the NFS v3 server, please check the following items:

1. Make sure MultiNet is running on the OpenVMS system.

2. Confirm the RPC service is running with the following command at the DCL prompt:

     $ MULTINET SHOW /RPC

3. Make sure the server is running. If not, start it by entering the following command at the DCL prompt:

 $ MULTINET NETCONTROL NFSV3 RESTART

4. To verify general connectivity between the two systems, try using FTP or TELNET. For example, try to open a TELNET connection with the remote host in question. If another product is not available on your system, try using the PING utility.

5. Verify the internet addresses the local host and the remote hosts are using. If your local network includes a gateway, also verify the gateway address.

6. If you are experiencing problems performing NFS operations from a NFS client, check the Server's NFSV3_SERVER.LOG file. It may contain messages that can help isolate the problem.

 

Managing an existing NFSv3 configuration

MultiNet includes MANAGE_NFS3 to manage NFSv3 client and server configurations.

$ run multinet:manage_nfs3

Changes made to the configuration with this program are NOT made to the NFSv2 database. The CONVERT_NFS3 program will overwrite the NFS3 databases. The MANAGE_NFS3 program has the following commands to manage the configuration:


 

ADD EXPORT

NFS Server only.

Adds an entry to the EXPORT database that lets the NFS server export the server filesystems to a remote NFS client. Users at the NFS-Client can then mount the server filesystems. Requires write access to the MULTINET:NFS_EXPORT.DAT file. The EXPORT database is dynamic. Entries you add to the database become valid immediately. You do not need to restart the server.

If you are adding entries to the EXPORT database for the first time, read the EXPORT Database section in Chapter 24 of the MultiNet Installation and Administration Guide.

 

Format

ADD EXPORT “nfs-path” vms-directory

 

Parameters

nfs-path

NFS-style pathname used to reference the exported directory. Typically expressed as a UNIX-style pathname. Enclose in quotation marks (" ").

Although nfs-path can be arbitrary, it usually reflects the actual OpenVMS directory path. The NFS client user must refer to the same nfs-path in naming the mount point.

vms-directory

Directory on the local OpenVMS server that you want to export. The directory must include the device specification, as in the following example:

$DISK1:[SALES.RECORDS]

When you export a directory, the NFS client user can potentially have access to all files and directories below the export point. The device you export should be a "public" device. The server does not implement volume protection. Also, the server supports Files-11 ODS-2 and ODS-5 structure level disks.

 

Qualifiers

Note! Many of the following qualifiers are specific to applications running on certain hosts. In these cases, it is critical to use the /HOST qualifier in combination with these qualifiers.

/HOST=(host[,host...])

Only specified host(s) can have access to the exported OpenVMS directory. MANAGE_NFS3 allows either host names or internet addresses. Use the parentheses only if you specify a list of hosts (separated by commas). If you omit /HOST, any host can mount the exported directory.

/CONVERT={STREAM_LF (default) | STREAM_CRLF}

/NOCONVERT (for use with MultiNet’s NFS Client)

/CONVERT converts files on reads to either STREAM_LF (the default) for UNIX systems or STREAM_CRLF for PC systems.
/NOCONVERT disables this conversion and must be specified when using the server together with MultiNet’s NFS-OpenVMS Client.

/EXPLICIT_MOUNT
/NOEXPLICIT_MOUNT
 (default)

/EXPLICIT_MOUNT prevents users from subsequently mounting subdirectories of the mount point.
/NOEXPLICIT_MOUNT allows subdirectory mounts.

/FILENAME={ SRI | ODS5 | PATHWORKS | PATHWORKS_CASE }

Uses the SRI International, ODS5, or PATHWORKS filename mapping schemes.
SRI is the default scheme between UNIX and OpenVMS systems.
ODS5 uses minimal mapping to get around ODS-5 file naming restrictions. If the disk or system doesn’t support ODS-5, it falls through to SRI.
PATHWORKS specifies non-case-sensitive filename mapping.
PATHWORKS_CASE specifies case-sensitive filename mapping.

/HIGHEST_VERSION
/NOHIGHEST_VERSION
 (default)

/HIGHEST_VERSION returns only the highest version of files in directory requests. /NOHIGHEST_VERSION does not. All file versions still exist in either case.

/PRIVILEGED_PORT
/NOPRIVILEGED_PORT
 (default)

/PRIVILEGED_PORT requests that incoming requests originate from privileged ports only. /NOPRIVILEGED_PORT does not.

 

/PROXY_CHECK
/NOPROXY_CHECK
 (default)

/PROXY_CHECK specifies that mount requests only originate from users having mappings in the PROXY database. /NOPROXY_CHECK does not.

/RFM=option

Record format (RFM) of newly created files. The options are STREAMLF, STREAMCR, STREAM, FIXED, and UNDEFINED.

/SERVER_ACCESS
/NOSERVER_ACCESS
 (default)

/SERVER_ACCESS requests the server to do access checking. /NOSERVER_ACCESS requests that both the server and client do the checking.

/SUPERUSER_MOUNT

/NOSUPERUSER_MOUNT (default)

/SUPERUSER_MOUNT requests that only the superuser can mount a file system. /NOSUPERUSER_MOUNT does not.

/VERSION={ DOT | SEMICOLON (default) | ALL | HIGHEST }

DOT changes the file version display for exported filesystems to file.ext.version (a dot) for UNIX compatibility instead of the usual file.extension;version (a semicolon).
SEMICOLON (default) uses the regular semicolon.
ALL exports files with version numbers intact rather than the default of leaving the highest numbered version unnumbered.
HIGHEST is a synonym for /HIGHEST_VERSION. Do not use DOT with SEMICOLON.

/WRITE (default)
/NOWRITE

/WRITE requests that the client have read-write access to the filesystem. /NOWRITE requests that the client have read access only.

 

Example

Exports the directory SALES.RECORDS on device $DISK1: as path /vax/records to hosts ORCHID and ROSE. Any subdirectories below SALES.RECORDS are also accessible. However, hosts ORCHID and ROSE cannot have access to or mount directories above SALES.RECORDS or other SALES subdirectories.

$ ADD EXPORT “/vax/records” $DISK1:[SALES.RECORDS] /HOST=(ORCHID,ROSE)


 

ADD GROUP

NFS Client only.

Adds an entry to the GROUP database that associates an OpenVMS user with an NFS group or list of groups. Requires SYSPRV privilege and write access to the MULTINET:GROUP.DAT file.

If the GROUP database does not exist, use the CREATE GROUP command first to create an empty one. Use the REMOVE GROUP command to remove a group from the database.

Note! The GROUP database is static. Use the RELOAD command when you modify it.

 

Format

ADD GROUP nfs-group vms-identifier

 

Parameters

nfs-group

NFS group number found in the /etc/group file on the server. For example, if the users group appears in the /etc/group file as:

users:x:15:

Use 15 as the nfs-group.

vms-identifier

Associates either an OpenVMS rights identifier or UIC (or wildcarded UIC) with the NFS group. Only associate one vms-identifier per NFS group. Use either of the following formats to enter the value:

Format

Description

Name

OpenVMS rights identifier or username

Value

UIC value in [group,member] or %Xnnnnnnnn format; you can use wildcard entries such as [200,*].

 

"Name" and "value" correspond to the columns associated with entries in the OpenVMS rights database. To have access to this database, use the commands:

SET DEFAULT SYS$SYSTEM
RUN AUTHORIZE
UAF>SHOW/IDENTIFIER *

For example, the following line may appear in the rights database:

Name         Value                 Attributes
-----        -----                 ----------
USER         [000200,000200]

 

Qualifier

/HOST=(host[,host...])

Server host(s) on which the group identification is valid. If omitted, any remote host is valid for the group. /HOST accepts either host names or internet addresses. Use the parentheses with multiple host entries.

 

Examples

1. Associates NFS group number 15 on server host IRIS with the "value" [200,*], meaning "any user in group 200."

$ ADD GROUP /HOST=IRIS
_Group: 15
_Identifier: [200,*]

The nfs-group number derives from the entry in the /etc/group file on the server for the users group:

>cat /etc/group
staff:*:10:
users:*:15:

2. Associates NFS group number 15 with the OpenVMS rights identifier, USERS. As in Example 1, the nfs-group number derives from the entry in the /etc/group file on the server. Assuming that the USERS rights identifier exists in the rights database, any user granted this identifier would be in the group corresponding to GID 15 in NFS.

$ ADD GROUP 15 USERS

The resulting ADD GROUP entry would appear in the GROUP database as follows:

NFS GROUP Database
Group  Name     Value        Host(s)
-----  ----     -----        ------
15     USERS    %X8001000C

 


 

ADD PROXY

NFS Client and NFS Server.

Registers an NFS or remote user as an OpenVMS username in the PROXY database. Requires SYSPRV privilege and write access to the MULTINET:NFS_PROXY.DAT file.

Note! If you omit the /CLIENT or /SERVER qualifier, or do not define the MULTINET_NFS_DYNAMIC_PROXY logical accordingly, you must use the RELOAD PROXY command to reload the database. (For details, see the RELOAD in this chapter.)

 

Format

ADD PROXY vms-username

 

Parameter

vms-username (required)

OpenVMS username to which you want to map an NFS user ID. The username must appear as in the OpenVMS User Access File (SYSUAF.DAT).

 

Qualifiers

The /HOST, /UID, /GID, or /NFS qualifiers make the PROXY entry more restrictive. When you omit a qualifier, NFS-OpenVMS interprets it as a wildcard. For example, the command ADD PROXY SMITH/UID=210 creates an entry that lets a user with UID=210, but with any GID and from any host, use OpenVMS username SMITH.

/HOST=(host[,host...])

Host(s) from which the UID/GID identification is valid. Specify at least one host name. If omitted, MANAGE_NFS3 allows any remote host with the matching identification.

/HOST accepts either host names or internet addresses. Use parentheses for multiple hosts.

/UID=uid

User’s ID (UID). If omitted, MANAGE_NFS3 accepts any UID for the vms-username.

/GID=gid

User’s group ID (GID). If omitted, MANAGE_NFS3 accepts any GID for the vms-username.

/CLIENT
/NOCLIENT (default)

/CLIENT notifies the Client to immediately update its loaded PROXY database with an entry for vms username. /NOCLIENT does not notify the client. This overrides any default action specified using the MULTINET_NFS_DYNAMIC_PROXY logical.

/SERVER

/NOSERVER (default)

/SERVER notifies the server to immediately update its loaded PROXY database with an entry for vms-username. /NOSERVER does not notify the Server. This overrides any default action specified using the MULTINET_NFS_DYNAMIC_PROXY logical.

 

Examples

The following examples range from most restrictive to least restrictive:

1. Registers a user with UID=210 and GID=5 at host ROSE to OpenVMS username SMITH for the NFS server only.

$ ADD PROXY SMITH /UID=210 /GID=5 /HOST=ROSE /SERVER

2. Registers a user with UID=210 and GID=5 to OpenVMS username SMITH and dynamically reloads the PROXY database on both the client and server.

$ ADD PROXY SMITH /UID=210 /GID=5 /CLIENT /SERVER

3. Registers any user with GID=5, any UID, and at any host to OpenVMS username JONES.

$ ADD PROXY JONES /GID=5

4. Registers any user from host ORCHID to OpenVMS username JONES.

$ ADD PROXY JONES /HOST=ORCHID

 


 

CREATE EXPORT

NFS server only.

Creates an empty EXPORT database. Requires write access to the MULTINET:NFS_EXPORT.DAT file.

Note! NFS server installations create an empty EXPORT database. Use this command to supersede an existing EXPORT database only.

 

Format

CREATE EXPORT

 

Example

Shows the current EXPORT database, overwrites it, and shows that the database is now empty.

SHOW EXPORT
NFS EXPORT Database

Path   Directory                Host(s)
----   ---------                -------
/usr   $DISK1:[SALES.RECORDS]   SIGMA

CREATE EXPORT
SHOW EXPORT
no EXPORT entries found


 

CREATE GROUP

NFS client only.

Creates an empty GROUP database. Requires write access to the MULTINET:NFS_GROUP.DAT file.

Note! Client installation creates an empty GROUP database. Only use this command to supersede an existing GROUP database.

 

Format

CREATE GROUP

 

Example

Shows the current GROUP database, overwrites it, and shows that the database is now empty.

SHOW GROUP
NFS GROUP Database

Group    Name      Value        Host(s)
-----    ----      -----        -------
15       GROUP     %X8001000B
15       GROUP_16  %X8001000E

CREATE GROUP
SHOW GROUP

   No entries in GROUP database

 


 

CREATE PROXY

NFS client and server.

Creates an empty PROXY database. Requires write access to the MULTINET:NFS_PROXY.DAT file.

Note! Client and server installation creates an empty PROXY database. Only use this command to supersede an existing PROXY database.

 

Format

CREATE PROXY

 

Example

Shows the current PROXY database, overwrites it, and shows that the database is now empty.

SHOW PROXY
NFS PROXY Database

Username    UID     GID   Host(s)
--------    ---     ---   -------
BART        1116    15 
MARGE       1115    15
LISA        1117    16
HOMER       -2      -2

CREATE PROXY
SHOW PROXY
no PROXY entries found

 


 

FIND PROXY

NFS client and server.

Locates and displays a single entry in the PROXY database. Requires read access to the MULTINET:NFS_PROXY.DAT file.

On the client, use this command to find the UIC assigned a specific user.

On the server, use this command to determine which OpenVMS username the server uses when it receives a request from the specified UID, GID, and host name.

 

Format

FIND PROXY

 

Qualifiers

Note! You must specify all three of the following qualifiers.

/HOST=host-name

Host on which the user is valid. This qualifier is required.

/UID=uid

User’s ID (UID). This qualifier is required.

/GID=gid

User’s group ID (GID). This qualifier is required.

 

Example

Locates an OpenVMS username for an NFS user with UID=210, GID=5, at host ROSE.

FIND PROXY /UID=210 /GID=5 /HOST=ROSE
NFS PROXY Database

Username    UID    GID    Host(s)
--------    ---    ---    -------
SMITH       210    15     ROSE

 


 

RELOAD GROUP

NFS client only.

Implements changes made to the GROUP database without having to restart the client system. Requires SYSLCK privilege.

Note! The GROUP database is normally static. The RELOAD command puts the changes into effect. Use this command sparingly. The client can take a significant amount of time to reload the database. The reloading process blocks NFS activity.

 

Format

RELOAD GROUP

 


 

RELOAD PROXY

NFS client and server.

Implements changes made to the PROXY database without having to restart the client or server. Not necessary if the MULTINET_NFS_DYNAMIC_PROXY logical was defined as CLIENT or SERVER or the combination of the two. Requires SYSLCK privilege. When both CLIENT and SERVER are specified the logical should be defined as if it is a search list, not a single value.

Note! The PROXY database is normally static. The RELOAD PROXY command puts the changes into effect. Use this command sparingly. The client can take a significant amount of time to reload the database. The reloading process blocks NFS activity.

 

Format

RELOAD PROXY [vms-username[, vms-username, ...]

 

Parameter

vms-username

Reloads only the PROXY database entries for the specified username (or list of usernames separated by commas). This is useful for notifying the client or server of changes to the OpenVMS SYSUAF.DAT file, such as changes to the rights list or user privileges.

 

Qualifiers

Note! If you omit both qualifiers, the PROXY database reloads on both the client and server.

/CLIENT
/NOCLIENT

/CLIENT reloads the PROXY database on the client only. /NOCLIENT does not reload the database on the client.

/SERVER
/NOSERVER

/SERVER reloads the PROXY database on the server only. /NOSERVER does not reload the database on the server.


 

REMOVE EXPORT

NFS server only.

Removes an entry from the EXPORT database so that you can remove access to an exported directory for a single host or a list of hosts. Requires write access to the MULTINET:NFS_EXPORT.DAT file.

Note! The EXPORT database is dynamic. Any path that you remove from the database becomes invalid immediately. You do not need to restart the server.

 

Format

REMOVE EXPORT "nfs-path"

 

Parameter

"nfs-path"

NFS-style pathname used to reference the exported directory. Typically expressed as a UNIX-style pathname. You must enclose the nfs-path in quotation marks (" ").

 

Qualifier

/HOST=(host[,host...])

Removes access to an nfs-path for a single host or a list of hosts. If omitted, MANAGE_NFS3 removes nfs-path for all hosts.

 

Example

Removes a record from the EXPORT database so that NFS host ORCHID can no longer mount an OpenVMS directory on the /vax/records pathname.

REMOVE EXPORT “/vax/records” /HOST=ORCHID


 

REMOVE GROUP

NFS client only.

Removes a group mapping from the GROUP database. Requires write access to the MULTINET:NFS_GROUP.DAT file.

Note! The GROUP database is static. The RELOAD command puts changes into effect.

 

Format

REMOVE GROUP nfs-group [vms-identifier,...]

 

Parameters

nfs-group

NFS group number. If you specify nfs-group alone, MANAGE_NFS3 removes the entire group from the database.

vms-identifier

OpenVMS rights identifier(s) or UIC(s) associated with the NFS group. If you specify one, MANAGE_NFS3 removes only that identifier from the database; MANAGE_NFS3 does not change the remaining entries for that group. See the ADD command for the valid format of vms-identifier entries.

 

Qualifier

/HOST=(server[,server...])

Server host(s) on which the group number is valid. Either host names or internet addresses are valid. This qualifier removes the GROUP entry for the specified host(s) only. Use the parentheses with multiple server specifications.

 

Example

Removes a record from the GROUP database so that you can no longer associate group number 15 with a group account on the client.

REMOVE GROUP 15


 

REMOVE PROXY

NFS client and server.

Removes an entry from the PROXY database. Requires SYSPRV privilege and write access to the MULTINET:NFS_PROXY.DAT file.

Note! If you omit the /CLIENT or /SERVER qualifier, or do not define the MULTINET_NFS_DYNAMIC_PROXY logical accordingly, you must use the RELOAD PROXY command to reload the database. (For details, see the RELOAD command in this chapter.)

 

Format

REMOVE PROXY vms-username

 

Parameter

vms-username

OpenVMS account you want to remove from the PROXY database. You can use the wildcard * in place of vms-username as long as you use one of the qualifiers below to be more selective about the update.

 

Qualifiers

If you omit a /HOST, /GID, or /UID qualifier, the command removes all entries containing the vms-username account from the database.

/HOST=(server[,server...])

Server host(s) on which the user is valid. MANAGE_NFS3 removes the PROXY entry for the specified host(s) only. Use the parentheses with multiple server specifications.

/GID=gid

User’s group ID (GID). MANAGE_NFS3 removes the PROXY entry for the specified GID only.

/UID=uid

User’s ID (UID). MANAGE_NFS3 removes the PROXY entry for the specified UID only.

/CLIENT
/NOCLIENT
 (default)

/CLIENT notifies the client to immediately update its loaded PROXY database with an entry for vms-username. /NOCLIENT does not notify the client. This overrides any default action specified using the MULTINET_NFS_DYNAMIC_PROXY logical.

/SERVER
/NOSERVER
 (default)

/SERVER notifies the server to immediately update its loaded PROXY database with an entry for vms-username. /NOSERVER does not notify the server. This overrides any default action specified using the MULTINET_NFS_DYNAMIC_PROXY logical.

 

Examples

1. Removes authorization for an NFS user at host MARIGOLD with UID=210 and GID=5 to use the OpenVMS username SMITH.

REMOVE PROXY SMITH /UID=210 /GID=5 /HOST=MARIGOLD

2. Removes authorization for all users at host CROCUS to use OpenVMS username JONES.

REMOVE PROXY JONES /HOST=CROCUS

3. Removes authorization for any user at host MARIGOLD to use any OpenVMS username.

REMOVE PROXY * /HOST=MARIGOLD

4. Removes all entries containing the OpenVMS username SMITH.

REMOVE PROXY SMITH

5. Removes authorization for a user with UID=210 and GID=5 to use the OpenVMS username SMITH and dynamically reloads the PROXY database on both the client and server.

REMOVE PROXY SMITH /UID=210 /GID=5 /CLIENT /SERVER


 

SHOW GROUP

NFS client only.

Displays entries in the client's GROUP database. Requires read access to the MULTINET:NFS_GROUP.DAT file.

 

Format

SHOW GROUP [nfs-group]

 

Parameter

nfs-group

NFS group number for which to show database entries. If omitted, MANAGE_NFS3 displays entries for all groups on the local client.

 

Qualifiers

/HOST=(server[,server...])

Server host(s) on which the group number is valid. MANAGE_NFS3 accepts either host names or internet addresses. Use the parentheses with multiple server specifications.

/OUTPUT=filespec

Uses the specified file instead of the terminal for output.

 

Example

Shows the NFS group number on host IRIS and corresponding OpenVMS group name and value.

SHOW GROUP /HOST=IRIS
NFS GROUP Database

Group    Name     Value      Host(s)
-----    ----     -----      -------
15       USER     [200,*]    IRIS


 

SHOW MOUNT

NFS client and server.

Displays a list of client hosts that mounted a file system served by a specified NFS server. Returns the mounted directories by the pathnames MANAGE_NFS3 uses to export them, not the directory names as the OpenVMS system knows them.

 

Format

SHOW MOUNT [server-host]

 

Parameter

server-host

NFS server host from which to get the list of mounted file systems. If omitted, MANAGE_NFS3 uses the local server.

 

Qualifier

/OUTPUT=filespec

Uses the specified file instead of the terminal for output.

 

Examples

1. Because the user did not specify the server host name, the system displays the full domain name for the local server ZETA. In this example no client hosts have mounted any of the server file system.

SHOW MOUNT
NFS Mount List

Server: ZETA.example.com
Path         Host
----         ----

2. Displays the list of client hosts and directories by pathnames for mounted file systems served by the specified server IRIS.

SHOW MOUNT IRIS
NFS Mount List

Server: IRIS
Path                Host
----                ----
/sales/records      bart.example.com
/exported/spool     bart.example.com


 

SHOW PROXY

NFS client and server.

Displays the contents of the PROXY database. Requires read access to the MULTINET:NFS_PROXY.DAT file.

 

Format

SHOW PROXY [vms-username]

 

Parameter

vms-username

OpenVMS account entries you want to display. If omitted, the system displays the contents of the PROXY database determined by the qualifiers listed below.

 

Qualifiers

/HOST=(server[,server...])

Displays the PROXY entries restricted to the specified server host(s) only, or for which there are no host restrictions given. Specify one or more server hosts (if multiple, separate by a comma and use the parentheses).

/GID=gid

NFS user's group ID (GID). MANAGE_NFS3 displays only entries containing the specified GID.

/UID=uid

NFS user's ID (UID). The system displays only entries containing the specified UID.

/OUTPUT=filespec

Uses the specified file instead of the terminal for output.

 

Example

Displays the PROXY database entries for user SMITH.

SHOW PROXY SMITH
NFS PROXY Database

Username    UID    GID    Host(s)
--------    ---    ---    -------
SMITH       100    101


 

SHOW STATISTICS

NFS server only.

Displays statistics information on the NFS server, useful in troubleshooting if problems occur. The server must be running.

 

Format

SHOW STATISTICS

 

Qualifiers

/RESET

Displays the counter information, then resets the counters. Requires OPER privilege.

/TIMES

Displays the additional average and maximum times (in milliseconds) for certain NFS requests listed.

/OUTPUT=filespec

Uses the specified file instead of the terminal for output.

 

Description

The NFS statistics returned by the command are:

Started

Date and time someone started the server.

Uptime

Total amount of time the server has been running.

Memory in use

Total amount of dynamic memory (in bytes) the NFS server uses. This includes memory allocated for the RPC server routines.

Threads

NFS thread counters give the total threads available, the current number of threads in use, and the maximum number of threads that have been in use at one time.

 

These statistics can give an indication of server load. If the maximum number of threads in use at one time is equal to the total threads available, you may want to increase the number of threads defined by the parameter NFS_THREADS.

Files

File system counters include the number of opens and closes performed by the server, the number of files currently open, and the maximum open files at one time since someone started the server.

 

The number of files currently open and the maximum open files at one time can be an indication of the load on the server.

NFS

NFS counters return the total NFS procedure calls, and the total calls for each NFS procedure since you started the server. These counters can give an indication of the load on the server.

 

total is the total number of calls
bad call is the number of bad calls
fail is the number of failed calls
null is the number of null calls
getattr is the number of get attribute calls
setattr is the number of set attribute calls
read is the number of reads
lookup is the number of lookups
mkdir is the number of make directory calls
write is the number of writes
create is the number of creates
remove is the number of removes
rename is the number of renames
rmdir is the number of directory removes
readdir is the number of address reads
statfs is the number of file system statistics calls
link is the number of create link to file calls
symlink is the number of create symbolic link calls
readlink is the number of read from symbolic link calls
other is the number of other calls

RPC

RPC counters provide information on RPC operations. This includes the total number of receives, transmits, XID hits, and duplicate receives.

 

The XID hits counter gives the number of cached replies the NFS Server retransmitted. The duplicate receives counter gives the number of times the server received a duplicate request for an operation that was in progress at the time of the request. If either of these counters is excessive you may need to increase the timeout time on the NFS-Client host(s).

RPC Errors

RPC counters also returns the following error conditions: receive and transmit errors, authentication errors, decode errors, and RPC program errors.

MOUNT

MOUNT counters return the total MOUNT procedure calls, the calls for each MOUNT procedure since someone started the server, the total number of directory mounts since someone started the server, and the number of directories currently mounted.

 

total is the number of MOUNT calls
bad call is the number of bad MOUNT calls
fail is the number of failed MOUNT calls
mount is the number of successful mounts
unmount is the number of successful dismounts
null is the number of null mounts
dump is the number of dumps from MOUNT calls
mnt export is the number of exported mounts
cur mount is the number of current mounts

 

Example

The command description section describes the output parameters for this example. The /TIME qualifier includes the average and maximum times for the indicated NFS requests.

SHOW STATISTICS /TIME
NFS Server Statistics
Started:  1-FEB-2014 07:24:05 Uptime: 14 07:05:53  Memory in use: 1414850
Threads:       total       40 current     0 max         11
Files:         opens       54 closes     54 cur. open    0  max.open   5
NFS:           total     2519 bad call    0 fail         0
  null       6 getattr    149 setattr     6 read       396  lookup  1381
ave:      0 ms           7 ms         82 ms          78 ms           20ms
max:      0 ms          40 ms        100 ms         180 ms          50 ms
  mkdir      0 write      396 create      6 remove      12  rename    18
ave:      0 ms          38 ms         83 ms          38 ms         117 ms
max:      0 ms         510 ms         90 ms         120 ms         130 ms
  rmdir      0 readdir     51 statfs      1 link         0  symlink    0
ave:      0 ms          32 ms         10 ms           0 ms          0  ms
max:      0 ms         230 ms         10 ms           0 ms          0  ms
  readlink   0 other        0 adfread    97 adfwrite     6
ave:      0 ms           0 ms          7 ms          27 ms
max:      0 ms           0 ms         50 ms          30 ms

RPC:           recv      2520 xmit     2520 xid hits     0  dup recv    0
RPC errors:    recv         0 xmit        0
  authweak   0 authother    0 decode      0 noproc       0  noprog      0
  progvers   2 systemerr    0

MOUNT:         total        1 bad call     0 fail         0
mount        1 unmount      0 null         0 dump         0 mnt export  0
mounts       1 cur. mount   1


 

UNMOUNT ALL

NFS client only.

Removes all the mount list entries for the local client host on the specified NFS server or servers. Useful for notifying the remote server host that the server file systems are no longer mounted on the client in the event that the client system goes down and you need to reboot it.

Note! Unmounting is not the same as dismounting. UNMOUNT ALL does not dismount a mounted file system.

After using UNMOUNT, you can use SHOW MOUNT (in MultiNet) or show mount (on a UNIX system server) to verify that the list entry you requested to be unmounted on the specified server(s) is no longer there. The mount list entries are in the /etc/rmtab file on most UNIX systems.

 

Format

UNMOUNT ALL

 

Qualifier

/HOST=(server,server...)

Server host or hosts. The parentheses are required for multiple servers. If omitted, the client sends a broadcast message to all local network servers to remove the list entry for the local client host.

 

Examples

1. Sends a broadcast message to all local network servers to remove the mount list entry for the local client host.

UNMOUNT ALL

2. Sends a request to hosts TAU and SIGMA to remove the mount list entry for the local client host.

UNMOUNT ALL /HOST=(TAU,SIGMA)

Note! The following message can occur after an UNMOUNT ALL request sent to a UNIX system server:

RPC Client call failed, RPC: Remote system error

Ignore this message. However, confirm through a SHOW MOUNT command that the mount list entry was, in fact, removed.


 

Mounting an NFSv3 file system on MultiNet

The MultiNet NFSMOUNT command will translate the existing mount commands and spawn the appropriate command to use the new mount program. It is possible that the command line may become too long, and there are some options that do not translate between the two mount programs so users may want to convert to the new mount program. Define the following symbol:

$ Cnfsmount :== $multinet:cnfsmount

$ CNFSMOUNT server "nfs-path" [mountpoint [logical]]

 

Parameters

server

Name of the remote server, in domain name or IP address format.

"nfs-path"

Pathname (enclosed in quotation marks) on the remote server. The pathname must match an exported directory, subdirectory, or file of an exported filesystem on the server. (You can use the SHOW EXPORT command in the MANAGE_NFS3 utility to obtain a list of the exported directories.)

mountpoint

NFS device (and, optionally, directory tree) specification for the local mount point. If specified, this parameter must be in the format:

NFSn:[[dir.dir....]][filename]

The value n can range from 1 to 9999, and dir is a directory level (up to eight in addition to the [000000] directory). If you omit the mountpoint specification or specify NFS0:, the client creates an NFSn:[000000] mount point, and increases n by one for each subsequent mount.

logical

Optional logical name associated with the volume. The client defines the logical as follows:

·         If you mount NFSn:[000000]        NFSn:

·         If you mount NFSn:[dir.dir]       NFSn:[dir.dir.]

The extra dot after the last dir in the second definition allows for relative directory specifications. If you perform the following function:

SET DEFAULT logical:[subdir]

the full default definition becomes:

NFSn:[dir.dir.subdir]

The client places the logical name in the SYSTEM logical name table unless you specify the /GROUP or /SHARE qualifier. The client deletes the logical name from the SYSTEM table when you dismount the volume. The process must have SYSNAM privilege to mount a system mount point. Without SYSNAM or GRPNAM privilege, the user must specify /SHARE for a JOB mount.

 

Qualifiers

/ACP_PARAMS=([BUFFER_LIMIT=limit-value]
     [,DUMP]
     [,IO_DIRECT=value]
     [,IO_BUFFERED=value]
     [,MAX_WORKSET=pages]
     [,PAGE_FILE=filespec]
     [,PRIORITY=base-priority]
     [,WORKSET=pages])

Includes SYSGEN ACP and detached process parameters the system manager can set or modify. The SYSGEN parameters that affect ACPs are dynamic. The client applies the ACP parameters only at the initial start of an ACP and ignores them in subsequent mount requests when the client uses the same ACP.

/ADF=option
/NOADF

Controls whether you want to use attributes data files (ADFs). These files appear on a non-VMS server as .$ADF$filename files and the server uses them to store OpenVMS file attributes. You cannot directly view these files on the client system. The possible ADF option values are:

CREATE (the default and forced if  /SERVER_TYPE=VMS_SERVER)

If ADFs exist on the server, the client will use, update, and create them for new files.

UPDATE

If ADFs exist on the server, the client will use and update them, but not create them for new files.

USE

If ADFs exist on the server, the client will use them, but not update them nor create them for new files.

 

Avoid using UPDATE and USE. The client may create ADFs anyway in certain cases, such as when renaming files. Also, changing VMS attributes for a hard-linked file may result in inconsistent VMS attributes between the linked files.

/AUTOMOUNT[=(INACTIVITY=inactive-time)]

Mounts a server filesystem automatically and transparently when you obtain the pathname. INACTIVITY specifies a maximum inactive period for the mount attempt. When the client reaches this period, it unmounts the pathname. Specify the time in delta (see Delta Time Examples). The default is five minutes (:5). Seconds are rounded to the nearest minute.

/BACKGROUND[=(DELAY=delay-time,RETRY=retries)]

Attempts to mount the filesystem at least once in background mode. If the first mount attempt fails, it informs you and keeps retrying after an optionally specified time delay and number of retries. If omitted, the DELAY defaults to 30 seconds (::30 in delta time). The maximum delay period you can specify is approximately 49 days. The default RETRY time value is 10. If you specify RETRY=0, the client uses 1 instead.

/CACHE_TIMEOUT[=([DIRECTORY=t][,ATTRIBUTE=t][,READ_DIRECTORY])]

Caching timeout information for the mount point. The following keywords apply:

The DIRECTORY timer

Specifies the amount of time (t) the client waits between rereading a directory's status or contents. Specify the time in delta format (see Delta Time Examples). The default is 30 seconds (::30 in delta time).

The ATTRIBUTE timer

Specifies the amount of delta time (t) the client waits between rereading a file's attributes from the server. The default is 15 seconds (::15 in delta time)

The READ_DIRECTORY keyword

Forces the client to read the contents of the directory requested when the cache timeout occurs, rather than relying on the directory's modified time. By reading the directory contents, the client can be aware of any changes to the number of files within the directory even if the directory's modify time was not updated.

 

/CONVERT={ STREAM_LF (default) | STREAM_CRLF } 
/NOCONVERT
(forced for MultiNet's NFS Server)

Controls whether the Client should convert sequential, variable-length, carriage return carriage control (VAR-CR) files to STREAM-LF files for UNIX system servers or STREAM_CRLF for PC system servers. Some OpenVMS applications require that certain files remain VAR-CR. The default is /CONVERT=STREAM_LF unless you use /SERVER_TYPE=VMS_SERVER, in which case MultiNet forces a /NOCONVERT.

You can only convert files opened using RMS sequential access to STREAM-LF or STREAM_CRLF format when written by the client.

The NFS Client does not perform conversions when “block mode transfers” are performed. COPY and EDT use block mode transfers when copying or creating files. Instead of COPY, use the CONVERT command. Instead of EDT, use the TPU command. Most applications do RMS sequential access when they create files on the export and these will be converted.

/DATA=[(]read-bytes[,write-bytes][)]

Largest amount of NFS data received (read-bytes) or transmitted (write-bytes) in a single network operation. The default for both is 8192 bytes, the maximum allowable value appropriate for most servers. The minimum is 512. If you specify only one value, that value applies to both read and write. However, you can use different values for each.

You do not normally need to use the /DATA qualifier unless a remote server imposes a restriction on data size. Also, if the NFS server requests a smaller transfer size than the one set with this qualifier, the server's requested value will override the one set by /DATA.

/FILEIDS={UNIQUE | NONUNIQUE}

With UNIQUE (the default), the client uses filenames and 32-bit NFS file IDs when processing the directory information returned by the server, to determine whether cached information is valid.

With NONUNIQUE, the client uses file handles instead of file IDs in retrieving directory information. This can refresh directory entries in the client's cache more quickly, resulting in fewer "no such file" errors. However, this can degrade performance since the client must issue additional RPC requests. /FILEIDS=NONUNIQUE automatically implies a /LOOKUPS, so do not use it together with an explicit /NOLOOKUPS.

/FORCE
/NOFORCE
 (default)

Controls whether or not to force an overmount or a mount that can cause filesystem occlusion. This qualifier requires OPER privilege. Overmounting a /SYSTEM mount requires SYSNAM privilege. Overmounting a /GROUP mount requires GRPNAM privilege.

/GID=gid

Default GID if no GID mapping exists for file access. The default value is -2. Requires OPER privileges.

/GROUP

Places the logical name in the group logical name table. If the mount is the first group or system mount on the volume, /GROUP marks the volume as group-mounted and increments the mount count. Requires GRPNAM privilege. Do not use with /SYSTEM.

/LABEL=volume-label

ODS-2 volume label used for the remote pathname. You can use this qualifier to provide a unique volume label on a system where there is a conflict. The default is the first 12 characters of the combined server:mountpoint parameter. The client accepts only the first 12 characters for all other entries. The client applies the /LABEL qualifier on the first mount of an NFS device only and ignores it with subsequent mounts on that device.

/LOCK 
/NOLOCK
 (default)

Specifies whether the client should use advisory network file locking by way of the Network Lock Manager (NLM) to coordinate access to server files.

/NOLOOKUPS (default) 
/LOOKUPS

With /NOLOOKUPS (the default), the client does not look up file handles when building directory caches. However, when accessing an individual file, it does look up its file handle; and with a directory operation, it still looks up the handle for every file in the directory. Do not use an explicit /NOLOOKUPS together with /FILEIDS=NONUNIQUE.

/NFS={2|3}

Specifies that only a particular version of NFS be used when attempting to mount the unit. If this qualifier is not specified, then NFSv3 is attempted first and then NFSv2 if that fails. The NFSv3 ACP can only be used to service NFSv3 mount points and the NFSv2 ACP can only be used to service NFSv2 mount points, so caution is advised when using the /PROCESSOR qualifier. NFSv3 mount points will be presented as an ODS-5 disk for OpenVMS systems that recognize ODS-5 when the server maintains the case of filenames and maintains the number of hardlinks. When the device is presented as an ODS-5 device there is no mapping of filenames; case sensitivity and parsing rules are controlled by the VMS process parameters.

/NOREADDIRPLUS

For NFSv3 this disables the use of the READDIRPLUS command to read directory and file information. The client will fall back to using READDIR if it detects that the server does not support READDIRPLUS, so this is only necessary if there is a problem when using READDIRPLUS. Note that READDIRPLUS is generally more efficient than READDIR.

/OWNER_UIC=uic

Specifies the UIC assigned ownership of the volume while you mount it, thereby overriding the ownership recorded on the volume. The client applies the /OWNER_UIC qualifier on the first mount of an NFS device only and ignores it with subsequent mounts on that device.

/PROCESSOR={UNIQUE | SAME:nfs-device | FILE:filespec}

Requests that NFSMOUNT associate an Ancillary Control Process (ACP) to process the volume, which overrides the default manner in which the client associates ACPs with NFS devices. The qualifier requires OPER privilege. The possible keyword values are:

UNIQUE

Creates a new ACP (additional address space) for the new NFS device. This is useful for mounting large remote filesystems so that you can accommodate more cached information. (See Cache Space.)

SAME:nfs-device

Uses the same ACP as the specified device. The nfs-device specified cannot be mounted as UNIQUE. Care should be taken when using this as NFSv2 and NFSv3 mount points cannot share an ACP.

FILE:filespec

Creates a new ACP running the image specified by a particular file. You cannot use wildcards, node names, and directory names in the filespec. Requires CMKRNL or OPER privilege.

 

/PROTECTION=protection-code

Protection code assigned the volume, following the standard syntax rules for specifying protection. If you omit a protection category, the client denies that category of user access. The default is (S:RWED,O:RWED,G:RWED,W:RWED).

The client applies the /PROTECTION qualifier on the first mount of an NFS device only and ignores it with subsequent mounts on that device. /PROTECTION requires OPER privilege.

/RETRIES=max-retries

Maximum number of times the client retransmits an RPC request. The default is zero (0), where the client retries the request indefinitely.

/SERVER_TYPE=server-type

Type of server from which the client mounts data. The valid values for server-type are:

·         UNIX

·         VMS_SERVER

·         IBM_VM

The default is either UNIX or VMS_SERVER (if the server runs MultiNet's server).

With /SERVER_TYPE=VMS_SERVER, MultiNet forces /NOCONVERT and /ADF=CREATE regardless of their specified settings.

/SHARE

Places the logical name in the job logical name table and increments the volume mount count regardless of the number of job mounts. When the job logs out, all job mounts are dismounted, causing the volume mount count to be decremented. (See Shared.)

/SUPERUSER=uid
/NOSUPERUSER
 (default)

Controls whether the client maps users with SYSPRV, BYPASS, or READALL privileges to the superuser UID. The server must allow superuser access. The normal superuser UID is 0.

/SYSTEM (default)

Places the logical name in the system logical name table (the default action). If the mount is the first group or system mount on the volume, this marks the volume as system mounted and increments the volume mount count. Requires SYSNAM privilege. Do no use with /GROUP.

/TIMEOUT=timeout-period

Minimum timeout period (in OpenVMS delta time) for initial RPC request retransmissions. The default is ::1 (one second).

The timeout-period value should reflect the estimated typical round trip time for RPC requests. For slower speed links (like NFS traffic over SLIP or WANs), a larger value than the default would be appropriate.

For example, for a maximum read/write size of 8192 (see the /DATA qualifier) over a 19,200-baud SLIP line, the absolute minimum timeout value should be:http://www.process.com/docs/tcpware6_0/html/manage/Chapter%2013_files/image008.gif

The 10240 bytes are 8192 data bytes plus the worst case RPC overhead of 1048 bytes. Since 4.27 seconds is the absolute minimum, a more realistic value for this link would be in the range of 15 to 30 seconds to allow for other traffic.

/TRANSPORT=protocol-type

Network protocol used to transfer the data. The valid values are TCP and UDP (the default).

/UID=uid

Default UID, if no UID mapping exists for file access. The default value is -2. Requires OPER privileges.

/USER=username

Existing OpenVMS account to which the client maps unknown UIDs. The default is the USER account. If the Client does not find the USER account, the DECNET account becomes the default. If the client does not find the DECNET account, [200,200] becomes the default.

/VERSION (default) 
/NOVERSION

Use the /NOVERSION qualifier to enforce a limit of one version on a file. This is a way of imposing an NFS file versioning scheme on OpenVMS files. /VERSION, allowing multiple versions, is the default. This qualifier is disabled if connected to a MultiNet NFSv3 server. (See Limiting File Versions.)

/WRITE (default)
/NOWRITE

Allows that you mount the filesystem either with write access (/WRITE) or read-only (/NOWRITE) on the local machine. If /NOWRITE, file creation, deletion, and other modifications are not allowed.

 

Examples

1. In this example, the client mounts the /usr filesystem from sigma onto the OpenVMS mount point when it references the pathname. The client keeps the path mounted until the client reaches an inactive period of 10 minutes, after which it unmounts the pathname. Subsequent references cause the client to remount the filesystem.

NFSMOUNT SIGMA "/usr" NFS0: /AUTOMOUNT=(INACTIVITY=00:10:00)

2. This example shows an overmount. The second mount specifies a lower level in the server path.

NFSMOUNT SIGMA "/usr" NFS1:[USERS.MNT]

%NFSMOUNT-S-MOUNTED, /usr mounted on _NFS1:[USERS.MNT]

NFSMOUNT SIGMA "/usr/users" NFS1:[USERS.MNT] /FORCE

%NFSMOUNT-S-REMOUNTED, _NFS1:[USERS.MNT] remounted as /usr/users on SIGMA

3. This example shows an occluded mount. The mount point specification is "backed up" one subdirectory on the second mount. Both mounts are visible in an NFSMOUNT/SHOW. However, if you do a directory listing on NFS2:[USERS.SMITH], the [MNT] directory is no longer visible. To make the directory visible again, dismount NFS2:[USERS.SMITH].


NFSMOUNT SIGMA "/usr" NFS2:[USERS.SMITH.MNT]

%NFSMOUNT-S-MOUNTED, /usr mounted on _NFS2:[USERS.SMITH.MNT]

NFSMOUNT SIGMA "/usr" NFS2:[USERS.SMITH] /FORCE

%NFSMOUNT-S-MOUNTED, /usr mounted on _NFS2:[USERS.SMITH]

-MULTINET-I-OCCLUDED, previous contents of _NFS2:[USERS.SMITH] occluded

 


 

NFSMOUNT /CONFIG

Mounts one or more remote NFS directories based on information in a configuration file. In this way, you can maintain a regular list of server filesystems that you can automatically mount using one command.

 

DCL Format

$ CNFSMOUNT /CONFIG=filespec

 

Parameter

filespec

OpenVMS file containing the configuration information. The contents of the file should include line entries in the format prescribed by the NFSMOUNT command:

server "nfs-path" mountpoint [logical] [qualifiers]

The configuration file must have complete information for a mount on each line (continuation lines are not allowed). The client ignores blank or comment lines. Mount requests in the file can have further configuration file references, although there is limited nesting of these requests.

 

Qualifiers

Note! The client uses qualifiers specified with the NFSMOUNT /CONFIG command as defaults for mount requests in the configuration file. However, qualifiers included with mount requests in the file override these defaults.

See the NFSMOUNT command for details on the following qualifiers:

/ACP_PARAMS=([BUFFER_LIMIT=limit-value]

   [,DUMP]
   [,IO_DIRECT=value]
   [,IO_BUFFERED=value]
   [,MAX_WORKSET=pages]
   [,PAGE_FILE=filespec
   [,PRIORITY=base-priority]
   [,WORKSET=pages])

 

/ADF=option 
/NOADF

 

/AUTOMOUNT[=(INACTIVITY=inactive-time)]

 

/BACKGROUND[=(DELAY=delay-time,RETRY=retries)]

 

/CACHE_TIMEOUT[=([DIRECTORY=t][,ATTRIBUTE=t])]

 

/CONVERT={ STREAM_LF | STREAM_CRLF } 
/NOCONVERT

 

/DATA=[(]read-bytes[,write-bytes][)]

 

/FILEIDS={UNIQUE | NONUNIQUE}

 

/FORCE 
/NOFORCE

 

/GID=gid

 

/GROUP

 

/LABEL=volume-label

 

/LOCK 
/NOLOCK

 

/LOOKUPS
/NOLOOKUPS

 

/OWNER_UIC=uic

 

/NFS=version

 

/PROCESSOR=keyword

 

/PROTECTION=protection-code

 

/RETRIES=max-retries

 

/SERVER_TYPE=server-type

 

/SHARE

 

/SUPERUSER=uid 
/NOSUPERUSER

 

/SYSTEM

 

/TIMEOUT=timeout-period

 

/TRANSPORT=protocol-type

 

/UID=uid

 

/USER=username

 

/WRITE
/NOWRITE

 

Examples

1. The following command consults the CONFIG_NFS.TXT file for mounting information.

NFSMOUNT /CONFIG=CONFIG_NFS.TXT

2. The following command also sets data size and username parameters (which can be overridden by qualifiers in the configuration file).

NFSMOUNT /CONFIG=CONFIG_NFS.TXT /DATA=512 /USER=BART


 

CNFSMOUNT /SHOW

Displays the mounted directories at all mount points or at a particular mount point.

 

DCL Format

$ CNFSMOUNT /SHOW [mountpoint | device:]

 

Parameters

mountpoint

Full NFS device name and directory tree for which to show mount information. For example:

NFS1:[USER.NOTES]

Alternately, you can use a logical name for the mount point.

device:

NFS device name part of the mountpoint parameter (such as NFS1:).

Alternately, you can use a logical name for the mount point. With the /ALL qualifier, the client uses only the device portion of the logical name.

 

Qualifiers

/ALL

Shows mount information for all servers, or a specified server or NFS device.

/FULL

Displays the full, current operating parameters related to each mount.

See the NFSMOUNT command for descriptions of the qualifiers that correspond to each of the operating parameters.

/QUOTA

Displays quota information for the current user's mount. The qualifier used by itself shows four columns at the top of the display indicating the block usage, soft limit (quota), hard limit, and grace period.

Use /QUOTA with the /FULL qualifier to show four additional columns indicating any possible file quotas. These show as zeros for an OpenVMS system but as actual values for UNIX systems that support file quotas.

Use /QUOTA with the /USER qualifier to request quotas for other than the default user.

/USER=username

Use with /QUOTA to show quotas for a specific user. This requires the mount to have been performed using the /SUPERVISOR qualifier, which maps users with SYSPRV, BYPASS, or READALL privileges to the superuser UID. /USER requires SYSPRV or GRPPRV privileges.

 

Examples

1. This example provides the default command display.

NFSMOUNT /SHOW
_NFS1:[000000]  automount (inactivity timer  0 00:23:00.00), mounted
SIGMA.EXAMPLE.COM:/usr
_NFS2:[000000]  mounted
IRIS.EXAMPLE.COM:/usr/users

2. This example shows characteristics of all mounts on a specific NFS device.


NFSMOUNT /SHOW NFS0: /ALL
_NFS1:[A.B]  mounted
SIGMA.EXAMPLE.COM:/usr
_NFS2:[A.C]  mounted
SIGMA.EXAMPLE.COM:/work

3. This example shows the full mount display with all operating parameters for a specific NFS device. Note that you can either enable or disable Writing and Write conversion.


NFSMOUNT /SHOW NFS1: /FULL
_NFS1:[000000]  mounted
  MERAK.EXAMPLE.COM:/eng/nfsuser
  Transport                  UDP   Writing              Enabled
  Read/write size      8192/8192   Write conversion    Disabled
  RPC timeout      0 00:00:01.00   ADF usage  USE,UPDATE,CREATE
  RPC retry limit              0   Fileids    Unique, Nolookups
  Attribute time   0 00:00:15.00   Server type   TCPware, NFSv2
  Directory time   0 00:00:30.00   Advisory Locking    Disabled
  Cache Validation   MODIFY TIME   Default user          [USER]
  Superuser                   No   Default UID,GID       100,15

4. This example shows the additional full block and file quotas for the user's mount.


$ NFSMOUNT /SHOW NFS2: /QUOTA /FULL
_NFS2:[000000]  mounted
  viola:/pctest
  Disk Quotas for user [SMITH]: (inactive)
  Blocks   Quota   Limit   Grace   Files   Quota   Limit   Grace
  117355   500000  600000          0       0       0
  Transport                  UDP   Writing               Enabled
  Read/write size      8192/8192   Write conversion     Disabled
  RPC timeout      0 00:00:01.00   ADF usage   USE,UPDATE,CREATE
  RPC retry limit              0   Fileids     Unique, Nolookups
  Attribute time   0 00:00:15.00   Server type    MultiNet, NFSv2
  Directory time   0 00:00:30.00   Advisory Locking     Disabled
  Cache Validation   MODIFY TIME   Default user           [USER]
  Superuser                   No   Default UID,GID        100,15