|
| PDF 文書ファイルをダウンロードする (1889 KB)
Chapter 17 Mounting and Unmounting File Systems (Tasks)This chapter describes how to mount and unmount file systems. This is a list of the step-by-step instructions in this chapter.
Overview of Mounting File SystemsAfter you create a file system, you need to make it available to the system so you can use it. You make a file system available by mounting it, which attaches the file system to the system directory tree at the specified mount point. The root (/) file system is always mounted. The following table provides guidelines on mounting file systems based on how you use them.
You can mount media that contains a file system by inserting the media into the drive and running the volcheck command if necessary. For more information on mounting removable media, see Chapter 1, Managing Removable Media (Overview). Commands for Mounting and Unmounting File SystemsThe following table lists the commands in the /usr/sbin directory that you use to mount and unmount file systems. Table 17–1 Commands for Mounting and Unmounting File Systems
The mount and mountall commands will not mount a read/write file system that has known inconsistencies. If you receive an error message from the mount or mountall command, you might need to check the file system. See Chapter 20, Checking UFS File System Consistency (Tasks) for information on how to check the file system. The umount and umountall commands will not unmount a file system that is busy. A file system is considered busy if one of the following is true:
Commonly Used Mount OptionsThe following table describes the commonly used options that you can specify with the mount -o option. If you specify multiple options, separate them with commas (no spaces). For example, -o ro,nosuid. For a complete list of mount options for each file system type, refer to the specific mount man pages (for example, mount_ufs(1M)). Table 17–2 Commonly Used -o Mount Options
Field Descriptions for the /etc/vfstab FileAn entry in the /etc/vfstab file has seven fields, which are described in the following table. Table 17–3 Field Descriptions for the /etc/vfstab File
Note – You must have an entry in each field in the /etc/vfstab file. If there is no value for the field, be sure to enter a dash (-). Otherwise, the system might not boot successfully. Similarly, white space should not be used in a field value. Mounting File SystemsThe following sections describe how to mount a file system by adding an entry in the /etc/vfstab file or by using the mount command from the command line. How to Determine Which File Systems Are MountedYou can determine which file systems are already mounted by using the mount command.
Example 17–1 Determining Which File Systems Are MountedThis example shows how to use the mount command to display information about the file systems that are currently mounted.
|
# mkdir /mount-point |
There must be a mount point on the local system to mount a file system. A mount point is a directory to which the mounted file system is attached.
Edit the /etc/vfstab file and add an entry. Make sure that you do the following:
Separate each field with white space (a space or a tab).
Enter a dash (-) if a field has no contents.
Save the changes.
For detailed information about the /etc/vfstab field entries, see Table 17–3.
Since the root (/) file system is mounted read-only by the kernel during the boot process, only the remount option (and options that can be used in conjunction with remount) affect the root (/) entry in the /etc/vfstab file.
The following example shows how to mount the disk slice /dev/dsk/c0t3d0s7 as a UFS file system to the mount point directory /files1. The raw character device /dev/rdsk/c0t3d0s7 is specified as the device to fsck. The fsck pass value of 2 means that the file system will be checked, but not sequentially.
#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/dsk/c0t3d0s7 /dev/rdsk/c0t3d0s7 /files1 ufs 2 yes - |
The following example shows how to mount the /export/man directory from the system pluto as an NFS file system on mount point /usr/man. A device to fsck nor a fsck pass is specified because it's an NFS file system. In this example, mount options are ro (read-only) and soft.
#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options pluto:/export/man - /usr/man nfs - yes ro,soft |
The following example shows how to mount the root (/) file system on a loopback mount point, /tmp/newroot. LOFS file systems must always be mounted after the file systems that are in the LOFS file system.
#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # / - /tmp/newroot lofs - yes - |
Become superuser or assume an equivalent role.
Mount a file system listed in the /etc/vfstab file.
# mount /mount-point |
/mount-point specifies an entry in the mount point or device to mount field in the /etc/vfstab file. It is usually easier to specify the mount point.
The following example shows how to mount the /usr/dist file system that is listed in the /etc/vfstab file.
# mount /usr/dist |
The following example shows the messages that are displayed if file systems are already mounted when you use the mountall command.
# mountall
/dev/rdsk/c0t0d0s7 already mounted
mount: /tmp already mounted
mount: /dev/dsk/c0t0d0s7 is already mounted, /export/home is busy,
or the allowable number of mount points has been exceeded
|
All the file systems with a device to fsck entry are checked and fixed, if necessary, before they are mounted.
The following example shows how to mount all the local systems that are listed in the /etc/vfstab file.
# mountall -l # mount / on /dev/dsk/c0t0d0s0 read/write/setuid/intr/largefiles/xattr/onerror=... /devices on /devices read/write/setuid/dev=46c0000 on Thu Jan 8 ... /usr on /dev/dsk/c0t0d0s6 read/write/setuid/intr/largefiles/xattr/... /proc on /proc read/write/setuid/dev=4700000 on Thu Jan 8 ... /etc/mnttab on mnttab read/write/setuid/dev=47c0000 on Thu Jan 8 ... /dev/fd on fd read/write/setuid/dev=4800000 on Thu Jan 8 09:38:30 2004 /var/run on swap read/write/setuid/xattr/dev=1 on Thu Jan 8 ... /tmp on swap read/write/setuid/xattr/dev=2 on Thu Jan 8 09:38:30 2004 /stuff on /dev/dsk/c0t0d0s5 read/write/setuid/intr/largefiles/xattr... /export/home on /dev/dsk/c0t0d0s7 read/write/setuid/intr/largefiles/... |
The following example shows how to mount all of the remote file systems that are listed in the /etc/vfstab file.
# mountall -r # mount / on /dev/dsk/c0t0d0s0 read/write/setuid/intr/largefiles/xattr/onerror=... /devices on /devices read/write/setuid/dev=46c0000 on Thu Jan 8 ... /usr on /dev/dsk/c0t0d0s6 read/write/setuid/intr/largefiles/xattr/... /proc on /proc read/write/setuid/dev=4700000 on Thu Jan 8 ... /etc/mnttab on mnttab read/write/setuid/dev=47c0000 on Thu Jan 8 ... /dev/fd on fd read/write/setuid/dev=4800000 on Thu Jan 8 ... /var/run on swap read/write/setuid/xattr/dev=1 on Thu Jan 8 ... /tmp on swap read/write/setuid/xattr/dev=2 on Thu Jan 8 09:38:30 2004 /stuff on /dev/dsk/c0t0d0s5 read/write/setuid/intr/largefiles/xattr... /export/home on /dev/dsk/c0t0d0s7 read/write/setuid/intr/largefiles/... /home/rimmer on pluto:/export/home/rimmer remote/read/write/setuid/xattr/... |
Become superuser or assume an equivalent role.
Create a mount point for the file system to be mounted, if necessary.
# mkdir /mount-point |
There must be a mount point on the local system to mount a file system. A mount point is a directory to which the mounted file system is attached.
Mount the UFS file system.
# mount [-o mount-options] /dev/dsk/device-name /mount-point |
Specifies mount options that you can use to mount a UFS file system. For a list of options, see Table 17–2 or mount_ufs(1M).
Specifies the disk device name for the slice that contains the file system (for example, /dev/dsk/c0t3d0s7). To get slice information for a disk, see How to Display Disk Slice Information.
Specifies the directory on which to mount the file system.
The following example shows how to mount /dev/dsk/c0t3d0s7 on the /files1 directory.
# mount /dev/dsk/c0t3d0s7 /files1 |
When you mount a file system, the largefiles option is selected by default, which enables you to create files larger than 2 Gbytes. Once a file system contains large files, you cannot remount the file system with the nolargefiles option or mount it on a system that is running Solaris 2.6 or compatible versions, until you remove any large files and run the fsck command to reset the state to nolargefiles.
This procedure assumes that the file system is in the /etc/vfstab file.
Create a mount point for the file system to be mounted, if necessary.
# mkdir /mount-point |
There must be a mount point on the local system to mount a file system. A mount point is a directory to which the mounted file system is attached.
Make sure there are no large files in the file system.
# cd /mount-point
# find . -xdev -size +20000000 -exec ls -l {} \;
|
/mount-point identifies the mount point of the file system you want to check for large files.
Remove or move any large files in this file system to another file system, if necessary.
Unmount the file system.
# umount /mount-point |
Reset the file system state.
# fsck /mount-point |
Remount the file system with the nolargefiles option.
# mount -o nolargefiles /mount-point |
The following example shows how to check the /datab file system and remount it with the nolargefiles option.
# cd /datab
# find . -xdev -size +20000000 -exec ls -l {} \;
# umount /datab
# fsck /datab
# mount -o nolargefiles /datab
|
Become superuser or assume an equivalent role.
Create a mount point for the file system to be mounted, if necessary.
# mkdir /mount-point |
There must be a mount point on the local system to mount a file system. A mount point is a directory to which the mounted file system is attached.
Make sure the resource (file or directory) is available from a server.
To mount an NFS file system, the resource must be made available on the server by using the share command. For information on how to share resources, see About the NFS Service in System Administration Guide: Resource Management and Network Services.
Mount the NFS file system.
# mount -F nfs [-o mount-options] server:/directory /mount-point |
Specifies mount options that you can use to mount an NFS file system. See Table 17–2 for the list of commonly used mount options or mount_nfs(1M) for a complete list of options.
Specifies the server's host name that contains the shared resource, and the path to the file or directory to mount.
Specifies the directory on which to mount the file system.
The following example shows how to mount the /export/packages directory on /mnt from the server pluto.
# mount -F nfs pluto:/export/packages /mnt |
Use the following procedure to mount a PCFS (DOS) file system from a hard disk.
Become superuser or assume an equivalent role.
Create a mount point for the file system to be mounted, if necessary.
# mkdir /mount-point |
There must be a mount point on the local system to mount a file system. A mount point is a directory to which the mounted file system is attached.
Mount the PCFS file system.
# mount -F pcfs [-o rw | ro] /dev/dsk/device-name:logical-drive /mount-point |
Specifies that you can mount a PCFS file system read/write (rw) or read-only (ro). If you do not specify this option, the default is rw.
Specifies the device name of the whole disk (for example, /dev/dsk/c0t0d0p0).
Specifies either the DOS logical drive letter (c through z) or a drive number (1 through 24). Drive c is equivalent to drive 1 and represents the Primary DOS slice on the drive. All other letters or numbers represent DOS logical drives within the Extended DOS slice.
Specifies the directory on which to mount the file system.
Note that the device-name and logical-drive must be separated by a colon.
The following example shows how to mount the logical drive in the primary DOS slice on the /pcfs/c directory.
# mount -F pcfs /dev/dsk/c0t0d0p0:c /pcfs/c |
The following example shows how to mount the first logical drive in the extended DOS slice read-only on /mnt.
# mount -F pcfs -o ro /dev/dsk/c0t0d0p0:2 /mnt |
The unmounting of a file system removes it from the file system mount point, and deletes the entry from the /etc/mnttab file. Some file system administration tasks cannot be performed on mounted file systems. You should unmount a file system when the following occurs:
The file system is no longer needed or has been replaced by a file system that contains more current software.
You need to check and repair the file system by using the fsck command. For more information about the fsck command, see Chapter 20, Checking UFS File System Consistency (Tasks).
It is a good idea to unmount a file system before doing a complete backup. For more information about doing backups, see Chapter 23, Backing Up Files and File Systems (Tasks).
File systems are automatically unmounted as part of the system shutdown procedure.
You can use the umount -f option to forcibly unmount a file system that is busy in an emergency situation. This practice is not recommended under normal circumstances because the unmounting of a file system with open files could cause a loss of data. This option is only available for UFS and NFS file systems.
The prerequisites for unmounting file systems include the following:
You must be superuser or assume an equivalent role.
A file system must be available for unmounting. You cannot unmount a file system that is busy. A file system is considered busy if a user is accessing a directory in the file system, if a program has a file open in that file system, or if it is being shared. You can make a file system available for unmounting by doing the following:
Changing to a directory in a different file system.
Logging out of the system.
Using the fuser command to list all processes that are accessing the file system and to stop them if necessary. For more details, see How to Stop All Processes Accessing a File System.
Notify users if you need to unmount a file system that they are using.
Unsharing the file system. For information about unsharing a file system, see unshare(1M).
To verify that you unmounted a file system or a number of file systems, examine the output from the mount command.
$ mount | grep unmounted-file-system $ |
List all the processes that are accessing the file system so that you know which processes you are going to stop.
# fuser -c [ -u ] /mount-point |
Reports on files that are mount points for file systems and any files within those mounted file systems.
Displays the user login name for each process ID.
Specifies the name of the file system for which you want to stop processes.
Stop all processes that are accessing the file system.
# fuser -c -k /mount-point |
A SIGKILL is sent to each process that is using the file system.
You should not stop a user's processes without first warning the user.
Verify that there are no processes that are accessing the file system.
# fuser -c /mount-point |
The following example shows how to stop process 4006c that is using the /export/home file system.
# fuser -c /export/home /export/home: 4006c # fuser -c -k /export/home /export/home: 4006c # fuser -c /export/home /export/home: |
Use the following procedure to unmount a file system, except for the root (/), /usr, or /var file systems.
The root (/), /usr, and /var file systems can be unmounted only during a shutdown, since the system needs these file systems to function.
Make sure that you have met the prerequisites listed in Prerequisites for Unmounting File Systems.
Unmount the file system.
# umount /mount-point |
/mount-point is the name of the file system that you want to unmount. This can be one of the following:
The directory name where the file system is mounted
The device name path of the file system
The resource for an NFS file system
The loopback directory for a LOFS file system
The following example shows how to unmount a local home file system.
# umount /export/home |
The following example shows how to unmount the file system on slice 7.
# umount /dev/dsk/c0t0d0s7 |
The following example shows how to forcibly unmount the /export file system.
# umount -f /export # |
The following example shows how to unmount all file systems in the /etc/vfstab file, except for the root (/), /proc, /var, and /usr file systems.
# umountall |
All file systems are unmounted, except for those file systems that are busy.