Most file systems are mounted automatically by an SMF service at the system boot time. All file systems except for ZFS are mounted according to the /etc/vfstab file. The list of ZFS file systems to mount is taken from ZFS cache.
To add an entry for mounting a legacy or remote file system, the information you need to specify are as follows:
The device or the server 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
Any mount options
The following vfstab example is from a system that has a ZFS root file system. In addition, this system is mounting a remote file system, /users/data, from the NFS server, neo.
# 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 - neo:/users/data - /data nfs - yes -
You can mount ZFS file systems from the vfstab file by using the legacy mount feature.
An entry in the /etc/vfstab file has seven fields, which are described in the following list.
This field identifies one of the following resources:
Block device name for a local legacy UFS file system. For example, /dev/dsk/c8t1d0s7.
Resource name for a remote file system. For example, myserver:/export/home.
After you add an entry for a remote system resource, ensure that the following service is enabled.
# svcs -a | grep nfs/client disabled May_14 svc:/network/nfs/client:default # svcadm enable svc:/network/nfs/client:default
Swap volume. For example, /dev/zvol/dsk/rpool/swap.
Directory for a virtual file system.
Determines the raw interface that is used by the fsck command. Use a dash (-) when there is no applicable device, such as for a read-only file system or a remote file system. The raw device name that corresponds to the legacy UFS file system identified by the device to mount field.
Identifies where to mount the legacy or remote file system.
Identifies the type of file system.
The pass number indicates whether to check a legacy UFS file system. When the field contains a dash (-), the file system is not checked.
When this field is zero, legacy UFS file systems are not checked. When the field value is greater than zero, the UFS file system is checked. All legacy UFS file systems with a value of 1 in this field are checked one at a time in the order they appear in the vfstab file. When the fsck command is run on multiple UFS file systems that have fsck pass values greater than 1, using the preen option, the fsck command automatically checks the file systems on different disks in parallel to maximize efficiency. Otherwise, the value of the pass number does not have any effect.
Specifies whether the file system must be automatically mounted by mountall command when the system is booted. The option can be yes or no. This field has nothing to do with autofs. This field should always be set to no for virtual file systems such as /proc and /dev/fd.
A list of comma separated options (with no spaces) that are used for mounting the file system. Use a dash (-) to indicate no options. For more information, see the vfstab(4) man page.
For more information about NFS, see Managing Network File Systems in Oracle Solaris 11.3.
You can display the list of mounted file systems. There are several tools to display various information about all the mounted file systems. For example, the df command displays the capacity and free space on each file system.
For more information about the mounted file system, you can either check the output of the mount command or check the content of the /etc/mnttab file.
When you mount or unmount a file system, the /etc/mnttab file is updated with the list of currently mounted file systems. This file cannot be edited by any user including the administrator. The following example shows the /etc/mnttab file.
$ more /etc/mnttab rpool/ROOT/zfsBE / zfs dev=3390002 0 /devices /devices devfs dev=8580000 1337114941 /dev /dev dev dev=85c0000 1337114941 ctfs /system/contract ctfs dev=8680001 1337114941 proc /proc proc dev=8600000 1337114941 mnttab /etc/mnttab mntfs dev=86c0001 1337114941 swap /system/volatile tmpfs xattr,dev=8700001 1337114941 objfs /system/object objfs dev=8740001 1337114941 sharefs /etc/dfs/sharetab sharefs dev=8780001 1337114941 /usr/lib/libc/libc_hwcap2.so.1 /lib/libc.so.1 lofs dev=3390002 13371149 fd /dev/fd fd rw,dev=8880001 1337114969 rpool/ROOT/zfsBE/var /var zfs rw,devices,setuid,nonbmand,exec,rstchown,xattr,atime,dev=3390003 1337114969 swap /tmp tmpfs xattr,dev=8700002 1337114969 rpool/VARSHARE /var/share zfs rw,devices,setuid,nonbmand,exec,rstchown,xattr,atime,dev=3390004 133711496
In addition to mounting file systems, the mount command displays the list of all the mounted file systems when resource and mount point are not specified. This list can be altered by using the –p option to obtain a format more suitable for processing by other programs or scripts.
The following example shows the list of mounted file systems using the mount command without any arguments.
# mount / on rpool/ROOT/zfsBE read/write/setuid/devices/rstchown/dev=45d0002 on Thu Jan 1 01:00:00 1970 /devices on /devices read/write/setuid/devices/rstchown/dev=8b00000 on Mon Jun 20 14:46:48 2016 /dev on /dev read/write/setuid/devices/rstchown/dev=8b40000 on Mon Jun 20 14:46:48 2016 /system/contract on ctfs read/write/setuid/devices/rstchown/dev=8c40001 on Mon Jun 20 14:46:48 2016 /proc on proc read/write/setuid/devices/rstchown/dev=8b80000 on Mon Jun 20 14:46:48 2016 /etc/mnttab on mnttab read/write/setuid/devices/rstchown/dev=8c80001 on Mon Jun 20 14:46:48 2016 /system/volatile on swap read/write/setuid/devices/rstchown/xattr/dev=8cc0001 on Mon Jun 20 14:46:48 2016 /system/object on objfs read/write/setuid/devices/rstchown/dev=8d00001 on Mon Jun 20 14:46:48 2016 /etc/dfs/sharetab on sharefs read/write/setuid/devices/rstchown/dev=8d40001 on Mon Jun 20 14:46:48 2016 /lib/libc.so.1 on /usr/lib/libc/libc_hwcap2.so.1 read/write/setuid/devices/rstchown/dev=45d0002 on Mon Jun 20 14:47:03 2016 /dev/fd on fd read/write/setuid/devices/rstchown/dev=8e00001 on Mon Jun 20 14:47:04 2016 /var on rpool/ROOT/s12_101/var read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=45d0004 on Mon Jun 20 14:47:36 2016 /tmp on swap read/write/setuid/devices/rstchown/xattr/dev=8cc0002 on Mon Jun 20 14:47:36 2016 /var/share on rpool/VARSHARE read/write/nosetuid/devices/rstchown/nonbmand/noexec/noxattr/atime/dev=45d0005 on Mon Jun 20 14:47:37 2016 /export on rpool/export read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=45d0006 on Mon Jun 20 14:47:53 2016 /export/home on rpool/export/home read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=45d0007 on Mon Jun 20 14:47:54 2016 /export/home/jack on rpool/export/home/jack read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=45d0008 on Mon Jun 20 14:47:56 2016 /rpool on rpool read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=45d0009 on Mon Jun 20 14:47:56 2016 /mnt on /dev/dsk/c2t1d0s0 read/write/setuid/devices/rstchown/intr/largefiles/logging/xattr/onerror=panic/dev=3400080 on Tue Jun 21 13:39:25 2016
The following example shows the output suitable for automated parsing. The format is the same as the /etc/vfstab file.
# mount -p rpool/ROOT/zfsBE - / zfs - no /devices - /devices devfs - no /dev - /dev dev - no ctfs - /system/contract ctfs - no proc - /proc proc - no mnttab - /etc/mnttab mntfs - no swap - /system/volatile tmpfs - no xattr objfs - /system/object objfs - no sharefs - /etc/dfs/sharetab sharefs - no /usr/lib/libc/libc_hwcap2.so.1 - /lib/libc.so.1 lofs - no fd - /dev/fd fd - no rw rpool/ROOT/zfsBE/var - /var zfs - no rw,devices,setuid,nonbmand,exec,rstchown,xattr,atime swap - /tmp tmpfs - no xattr rpool/VARSHARE - /var/share zfs - no rw,devices,nosetuid,nonbmand,noexec,rstchown,noxattr,atime rpool/export - /export zfs - no rw,devices,setuid,nonbmand,exec,rstchown,xattr,atime rpool/export/home - /export/home zfs - no rw,devices,setuid,nonbmand,exec,rstchown,xattr,atime rpool/export/home/jack - /export/home/jack zfs - no rw,devices,setuid,nonbmand,exec,rstchown,xattr,atime rpool - /rpool zfs - no rw,devices,setuid,nonbmand,exec,rstchown,xattr,atime /dev/dsk/c2t1d0s0 - /mnt ufs - no rw,intr,largefiles,logging,xattr,onerror=panic