挂载和取消挂载 Oracle Solaris 文件系统
ZFS 文件系统可自动进行挂载和取消挂载。通过挂载传统 UFS 文件系统可使该文件系统可用,这会将文件系统附加到指定挂载点的系统目录树。始终会挂载根目录 (/) 文件系统。
下表提供了有关根据您对文件系统的使用方法挂载文件系统的指南。
所需挂载类型
建议挂载方法
无需频繁挂载的本地或远程文件系统。
从命令行手动键入的 mount 命令。
需要频繁挂载的本地传统 UFS 文件系统。本地 ZFS 文件系统通过 SMF 服务自动挂载。
/etc/vfstab 文件,在多用户状态下引导系统时自动挂载文件系统。
需要频繁挂载的远程传统 UFS 文件系统,如起始目录。
/etc/vfstab 文件,在多用户状态下引导系统时自动挂载文件系统。
autofs,当您访问文件系统时自动挂载文件系统,或当您更改到另一目录时取消挂载文件系统。
有关挂载可移除介质的更多信息,请参见第 1 章。
可以使用 mount 命令来确定哪些是已经挂载的文件系统。$ mount [ -v ]
-v 以详细模式显示已挂载文件系统的列表。
示例 18-1 确定哪些是已挂载文件系统
此示例说明如何使用 mount 命令显示有关当前已挂载文件系统的信息。$ mount
/ on rpool/ROOT/zfsBE read/write/setuid/devices/rstchown/dev=40d0002 on Wed ...
/devices on /devices read/write/setuid/devices/rstchown/dev=9500000 on Wed ...
/dev on /dev read/write/setuid/devices/rstchown/dev=9580000 on Wed Jun ...
/system/contract on ctfs read/write/setuid/devices/rstchown/dev=95c0001 ...
/proc on proc read/write/setuid/devices/rstchown/dev=9540000 on Wed Jun ...
/etc/mnttab on mnttab read/write/setuid/devices/rstchown/dev=9600001 on Wed ...
/system/volatile on swap read/write/setuid/devices/rstchown/xattr/dev=9640001 ...
/system/object on objfs read/write/setuid/devices/rstchown/dev=9680001 on Wed ...
/etc/dfs/sharetab on sharefs read/write/setuid/devices/rstchown/dev=96c0001 on ...
/dev/fd on fd read/write/setuid/devices/rstchown/dev=97c0001 on Wed Jun 8 ...
/tmp on swap read/write/setuid/devices/rstchown/xattr/dev=9640002 on Wed Jun ...
/export on rpool/export read/write/setuid/devices/rstchown/nonbmand/exec/xattr/
/export/home on rpool/export/home read/write/setuid/devices/rstchown
/rpool on rpool read/write/setuid/devices/rstchown/nonbmand/exec/
/home/rimmer on pluto:/export/home/rimmer remote/read/write/setuid/xattr/...
此示例说明如何使用 zfs mount 命令显示有关当前已挂载的 ZFS 文件系统的信息。$ zfs mount
rpool/ROOT/solaris /
rpool/ROOT/solaris/var /var
rpool /rpool
rpool/export /rpool/export
rpool/export/home /rpool/export/home
rpool/export/home/admin /rpool/export/home/admin
/etc/vfstab 文件的字段说明
/etc/vfstab 文件中的项包含七个字段,下表为这些字段的说明。
表 18-1 /etc/vfstab 文件的字段说明
字段名称
说明
device to mount
此字段确定了以下内容之一:
本地传统 UFS 文件系统的块设备名称(例如 /dev/dsk/c8t1d0s7)。
远程文件系统的资源名称(例如 myserver:/export/home)。有关 NFS 的更多信息,请参见《Oracle Solaris 管理:IP 服务》。
其上要进行交换的分片的块设备名称(例如 /dev/dsk/c0t3d0s1)。
虚拟文件系统的目录。
device to fsck
与 device to mount 字段所确定的传统 UFS 文件系统对应的原始(字符)设备名称(例如 /dev/rdsk/c8t1d0s7)。此字段确定了 fsck 命令使用的原始接口。若诸如只读文件系统或远程文件系统之类的文件系统没有适用的设备,请使用破折号 (-)。
mount point
确定文件系统的挂载位置(例如 /usr)。
FS type
确定文件系统的类型。
fsck pass
fsck 命令用于确定是否检查传统 UFS 文件系统的传送号。如果此字段包含破折号 (-),则不会检查文件系统。目前,在引导过程中,/etc/vfstab 文件中的 fsck pass 值会被忽略。
如果此字段包含零,则不会检查传统 UFS
文件系统。如果此字段包含大于零的值,则始终会检查 UFS 文件系统。
对于此字段中值为 1 的所有传统 UFS 文件系统,将按它们在 vfstab 文件中出现的顺序进行检查(每次检查一个)。如果在 fsck pass 值大于
1 的多个 UFS 文件系统上运行 fsck 命令并且使用了整理选项 (-o p),则 fsck 命令自动并行检查不同磁盘上的文件系统,以最大程度地提高效率。否则,传送号的值不起任何作用。
mount at boot
设置为 yes 或
no,以指示在引导系统时 mountall 命令是否应该自动挂载文件系统。请注意,此字段与 autofs 无关。根目录 (/)、/usr 和 /var 文件系统最初不是从 vfstab 文件挂载的。对于这些文件系统和诸如 /proc
和 /dev/fd 之类的虚拟文件系统,应始终将此字段设置为 no。
mount options
用于挂载文件系统的一系列以逗号分隔的选项(中间无空格)。使用破折号 (-) 表示没有选项。有关更多信息,请参见 vfstab(4)。
注 -您必须在 /etc/vfstab 文件的每个字段中都输入一个值。如果某个字段没有值,请务必指定一个破折号 (-)。否则,系统可能无法成功引导。同样,字段值也不能为空白空间。
取消挂载 Oracle Solaris 文件系统的先决条件
取消挂载文件系统的先决条件包括:
您必须是管理员或担任同等角色。
您不能取消挂载正忙的文件系统。如果出现以下任一情况,则认为文件系统正忙:用户正在访问文件系统中的目录;程序打开了文件系统中的文件;正在共享文件系统。通过执行以下操作,可以使文件系统处于可取消挂载状态:
更改到另一不同文件系统的目录。
注销该系统。
使用 fuser 命令列出正在访问该文件系统的所有进程,然后停止这些进程(如有必要)。有关更多详细信息,请参见如何停止所有进程访问文件系统。
如果您需要取消挂载用户正在使用的文件系统,请通知他们。
取消共享该文件系统。有关取消共享文件系统的信息,请参见 unshare(1M)。
要验证是否已取消挂载一个或多个文件系统,请检查 mount 命令的输出。$ mount | grep unmounted-file-system