Before you can access the files on a file system, you need to mount the file system. When you mount a file system, you attach that file system to a directory (mount point) and make it available to the system. The root (/) file system is always mounted. Any other file system can be connected or disconnected from the root (/) file system.
When you mount a file system, any files or directories in the underlying mount point directory are unavailable as long as the file system is mounted. These files are not permanently affected by the mounting process. They become available again when the file system is unmounted. However, mount directories are typically empty because you usually do not want to obscure existing files.
For example, the following figure shows a local file system, starting with a root (/) file system and the sbin, etc, and opt subdirectories.
To access a local file system from the /opt file system that contains a set of unbundled products, you must do the following:
First, you must create a directory to use as a mount point for the file system you want to mount, for example, /opt/unbundled.
Once the mount point is created, you can mount the file system by using the mount command. This command makes all of the files and directories in /opt/unbundled available, as shown in the following figure.
For step-by-step instructions on how to mount file systems, see Chapter 18, Mounting and Unmounting File Systems (Tasks).
Whenever you mount or unmount a file system, the /etc/mnttab (mount table) file is modified with the list of currently mounted file systems. You can display the contents of this file by using the cat or more commands. However, you cannot edit this file. Here is an example of an /etc/mnttab file:
$ more /etc/mnttab rpool/ROOT/zfs509BE / zfs dev=4010002 0 /devices /devices devfs dev=5000000 1235087509 ctfs /system/contract ctfs dev=5040001 1235087509 proc /proc proc dev=5080000 1235087509 mnttab /etc/mnttab mntfs dev=50c0001 1235087509 swap /etc/svc/volatile tmpfs xattr,dev=5100001 1235087510 objfs /system/object objfs dev=5140001 1235087510 sharefs /etc/dfs/sharetab sharefs dev=5180001 1235087510 fd /dev/fd fd rw,dev=52c0001 1235087527 swap /tmp tmpfs xattr,dev=5100002 1235087543 swap /var/run tmpfs xattr,dev=5100003 1235087543 rpool/export /export zfs rw,devices,setuid,nonbmand,exec,xattr,... rpool/export/home /export/home zfs rw,devices,setuid,nonbmand,exec,... rpool /rpool zfs rw,devices,setuid,nonbmand,exec,xattr,atime,dev=4010005 1235087656
Manually mounting file systems every time you wanted to access them would be a very time-consuming and error-prone. To avoid these problems, the virtual file system table (the /etc/vfstab file) provides a list of file systems and information on how to mount them.
The /etc/vfstab file provides two important features:
You can specify file systems to automatically mount when the system boots. ZFS file systems are automatically mounted at boot time by an SMF service without entries in the vfstab file.
You can mount file systems by using only the mount point name. The /etc/vfstab file contains the mapping between the mount point and the actual device slice name.
A default /etc/vfstab file is created when you install a system, depending on the selections during installation. However, you can edit the /etc/vfstab file on a system whenever you want. To add an entry, the information you need to specify is as follows:
The device where the file system resides
The file system mount point
File system type
Whether you want the file system to mount automatically when the system boots (by using the mountall command)
Any mount options
The following is an example of an /etc/vfstab file for a system that runs a UFS root file system. Comment lines begin with #. This example shows an /etc/vfstab file for a system with two disks (c0t0d0 and c0t3d0).
$ more /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # fd - /dev/fd fd - no - /proc - /proc proc - no - /dev/dsk/c0t0d0s1 - - swap - no - /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no - /dev/dsk/c0t0d0s6 /dev/rdsk/c0t0d0s6 /usr ufs 1 no - /dev/dsk/c0t0d0s7 /dev/rdsk/c0t0d0s7 /export/home ufs 2 yes - /dev/dsk/c0t0d0s5 /dev/rdsk/c0t0d0s5 /opt ufs 2 yes - /devices - /devices devfs - no - sharefs - /etc/dfs/sharetabsharefs - no - ctfs - /system/contract ctfs - no - objfs - /system/object objfs - no - swap - /tmp tmpfs - yes -
In this example, root (/) and /usr, the mount at boot field value is specified as no. These file systems are mounted by the kernel as part of the boot sequence before the mountall command is run.
The following vfstab example if from a system that runs a ZFS root file system.
# cat /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # fd - /dev/fd fd - no - /proc - /proc proc - no - /dev/zvol/dsk/rpool/swap - - swap - no - /devices - /devices devfs - no - sharefs - /etc/dfs/sharetabsharefs - no - ctfs - /system/contract ctfs - no - objfs - /system/object objfs - no - swap - /tmp tmpfs - yes -
ZFS file systems are mounted automatically by the SMF service at boot time. You can mount ZFS file systems from the vfstab by using the legacy mount feature. For more information, see Oracle Solaris ZFS Administration Guide.
For descriptions of each /etc/vfstab field and information on how to edit and use the file, see Chapter 18, Mounting and Unmounting File Systems (Tasks).
NFS is a distributed file system service that can be used to share resources (files or directories) from one system, typically a server, with other systems on the network. For example, you might want to share third-party applications or source files with users on other systems.
NFS makes the actual physical location of the resource irrelevant to the user. Instead of placing copies of commonly used files on every system, NFS allows you to place one copy on one system's disk and let all other systems access it from the network. Under NFS, remote files are virtually indistinguishable from local files.
For more information, see Chapter 4, Managing Network File Systems (Overview), in System Administration Guide: Network Services.
When you share a resource, you make it available for mounting by remote systems.
You can share a resource in these ways:
By adding an entry to the /etc/dfs/dfstab (distributed file system table) file and rebooting the system
For information on how to share resources, see Chapter 18, Mounting and Unmounting File Systems (Tasks). For a complete description of NFS, see Chapter 4, Managing Network File Systems (Overview), in System Administration Guide: Network Services.
Sun's implementation of the NFS version 4 distributed file access protocol is included in the Solaris release.
NFS version 4 integrates file access, file locking, and mount protocols into a single, unified protocol to ease traversal through a firewall and improve security. The Solaris implementation of NFS version 4 is fully integrated with Kerberos V5, also known as SEAM, thus providing authentication, integrity, and privacy. NFS version 4 also enables the negotiation of security flavors to be used between the client and the server. With NFS version 4, a server can offer different security flavors for different file systems.
For more information about NFS Version 4 features, see What’s New With the NFS Service in System Administration Guide: Network Services.
You can mount NFS file system resources by using a client-side service called automounting (or autofs). The autofs service enables a system to automatically mount and unmount NFS resources whenever you access them. The resource remains mounted as long as you remain in the directory and are using a file within that directory. If the resource is not accessed for a certain period of time, it is automatically unmounted.
The autofs service provides the following features:
NFS resources don't need to be mounted when the system boots, which saves booting time.
Users don't need to know the root password to mount and unmount NFS resources.
Network traffic might be reduced because NFS resources are mounted only when they are in use.
The autofs service is initialized by the automount utility, which runs automatically when a system is booted. The automountd daemon runs continuously and is responsible for the mounting and unmounting of NFS file systems on an as-needed basis. By default, the /home file system is mounted by the automount daemon.
With autofs, you can specify multiple servers to provide the same file system. This way, if one of these servers is down, autofs can try to mount the file system from another machine.
For complete information on how to set up and administer autofs, see System Administration Guide: IP Services.