跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 管理:设备和文件系统 Oracle Solaris 11 Information Library (简体中文) |
15. 配置和管理 Oracle Solaris Internet 存储名称服务 (Internet Storage Name Service, iSNS)
本节提供有关创建和挂载 Oracle Solaris 文件系统的示例。
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
以下示例说明如何在一个命令中创建名为 tank 的简单镜像存储池和名为 tank 的 ZFS 文件系统。假定磁盘 /dev/dsk/c1t0d0 和 /dev/dsk/c2t0d0 全部都可使用。
# zpool create tank mirror c1t0d0 c2t0d0
# zfs create tank/fs
新 ZFS 文件系统 tank/fs 可根据需要尽可能使用磁盘空间,并在 /tank/fs 处自动挂载。
# zfs list -r tank NAME USED AVAIL REFER MOUNTPOINT tank 117K 268G 21K /tank tank/fs 21K 268G 21K /tank/fs
开始之前
请确保已满足以下先决条件:
磁盘必须已格式化并分片。
如果要重建现有的传统 UFS 文件系统,请取消挂载该文件系统。
需要知道将包含文件系统的分片的设备名称。
有关查找磁盘和磁盘分片编号的信息,请参见第 11 章。
有关格式化磁盘和将磁盘分片的信息,请参见第 10 章。
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
# newfs [-N] [-b size] [-i bytes] /dev/rdsk/device-name
系统会要求确认。
注意 - 执行此步骤之前,请确保为分片指定了正确的设备名称。如果指定错误的分片,则在创建新文件系统时将删除其内容。此错误可能会导致系统出现紧急情况。 |
# fsck /dev/rdsk/device-name
其中 device-name 参数指定包含新文件系统的磁盘设备的名称。
fsck 命令检查新文件系统的一致性、报告所有问题并在修复问题之前进行提示。有关 fsck 命令的更多信息,请参见 fsck(1M)。
# mkdir /directory-name # mount /dev/dsk/device-name /directory-name
示例 18-2 创建和挂载传统 UFS 文件系统
以下示例说明如何在 /legacy 上创建和挂载 UFS 文件系统 /dev/rdsk/c0t1d0s0。
# newfs /dev/rdsk/c0t1d0s0 newfs: construct a new file system /dev/rdsk/c0t1d0s0: (y/n)? y /dev/rdsk/c0t1d0s0: 286722656 sectors in 46668 cylinders of 48 tracks, 128 sectors 140001.3MB in 2917 cyl groups (16 c/g, 48.00MB/g, 5824 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 98464, 196896, 295328, 393760, 492192, 590624, 689056, 787488, 885920, Initializing cylinder groups: .......................................................... super-block backups for last 10 cylinder groups at: 285773216, 285871648, 285970080, 286068512, 286166944, 286265376, 286363808, 286462240, 286560672, 286659104 # fsck /dev/rdsk/c0t1d0s0 # mkdir /legacy # mount /dev/dsk/c0t1d0s0 /legacy
要在引导时自动挂载传统 UFS 文件系统,请转到如何向 /etc/vfstab 文件添加项。
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
# mkdir /mount-point
其中 mount-point 是 TMPFS 文件系统的挂载目录。
# mount -F tmpfs [-o size=number] swap mount-point
指定 TMPFS 文件系统的大小限制(以 MB 为单位)。
指定 TMPFS 文件系统的挂载目录。
要将系统设置为在引导时自动挂载 TMPFS 文件系统,请参见示例 18-4。
# mount -v
示例 18-3 创建和挂载 TMPFS 文件系统
以下示例说明如何创建、挂载 TMPFS 文件系统 /export/reports 并将其大小限制为 50 MB。
# mkdir /export/reports # chmod 777 /export/reports # mount -F tmpfs -o size=50m swap /export/reports # mount -v
示例 18-4 在引导时挂载 TMPFS 文件系统
通过添加 /etc/vfstab 项,可以将系统设置为在引导时自动挂载 TMPFS 文件系统。以下示例说明了 /etc/vfstab 文件中的某一项,该项在引导时将 /export/test 作为 TMPFS 文件系统进行挂载。由于未指定 size=number 选项,因此 /export/test 上的 TMPFS 文件系统的大小仅受可用系统资源的限制。
swap - /export/test tmpfs - yes -
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
# mkdir loopback-directory
# mkdir /mount-point
# mount -F lofs loopback-directory /mount-point
指定要在回送挂载点上挂载的文件系统。
指定 LOFS 文件系统的挂载目录。
# mount -v
示例 18-5 创建和挂载 LOFS 文件系统
以下示例说明如何创建、挂载并作为回送文件系统测试 /new/dist 目录中的新软件,而无需实际安装该软件。
# mkdir /tmp/newroot # mount -F lofs /new/dist /tmp/newroot # chroot /tmp/newroot newcommand
示例 18-6 在引导时挂载 LOFS 文件系统
通过向 /etc/vfstab 文件的结尾添加一项,可以将系统设置为在引导时自动挂载 LOFS 文件系统。以下示例说明了 /etc/vfstab 文件中的某一项,该项为根目录 (/) 文件系统在 /tmp/newroot 上挂载 LOFS 文件系统。
/ - /tmp/newroot lofs - yes -
请确保回送项是 /etc/vfstab 文件中的最后几项。否则,如果回送文件系统的 /etc/vfstab 项先于其中要包括的文件系统,则无法挂载回送文件系统。
除非某些 ZFS 文件系统需要先前挂载的行为,否则请使用此过程以在引导时挂载非 ZFS 文件系统。有关挂载 ZFS 文件系统的更多信息,请参见《Oracle Solaris 管理:ZFS 文件系统》。
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
# mkdir /mount-point
注 - 由于在引导过程中内核会将根目录 (/) 文件系统挂载为只读,因此只有 remount 选项(以及可以与 remount 一起使用的选项)会影响 /etc/vfstab 文件中的根目录 (/) 项。
示例 18-7 向 /etc/vfstab 文件添加项
以下示例说明如何将磁盘分片 /dev/dsk/c0t3d0s7 作为传统 UFS 文件系统挂载到挂载点 /files1。将原始字符设备 /dev/rdsk/c0t3d0s7 指定为 device to fsck。fsck pass 值为 2 表明将检查文件系统,但不是按顺序检查。
#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 -
以下示例说明如何将 /export/man 目录作为 NFS 文件系统从系统 pluto 挂载到挂载点 /usr/man 上。由于该目录是 NFS 文件系统,因此既不会指定 device to fsck,也不会指定 fsck pass。在本示例中,mount options 为 ro(只读)和 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
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
# mount /mount-point
其中 /mount-point 指定了 /etc/vfstab 文件的 mount point 或 device to mount 字段中的项。通常,指定挂载点较为容易。
示例 18-8 挂载文件系统(/etc/vfstab 文件)
以下示例说明如何挂载 /etc/vfstab 文件中列出的 /legacy 文件系统。
# mount /legacy
示例 18-9 挂载所有文件系统(/etc/vfstab 文件)
以下示例说明在已挂载文件系统的情况下使用 mountall 命令时显示的消息。
# mountall mount: /tmp is already mounted or swap is busy
以下示例说明如何挂载 /etc/vfstab 文件中列出的所有本地系统。
# mountall -l
以下示例说明如何挂载所有可用的 ZFS 文件系统。
# zfs mount -a
以下示例说明如何挂载 /etc/vfstab 文件中列出的所有远程文件系统。
# mountall -r
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
# mkdir /mount-point
本地系统上必须存在用于挂载文件系统的挂载点。挂载点是指附加已挂载文件系统的目录。
要挂载 NFS 文件系统,必须使用 share 命令使服务器上的资源可用。有关如何共享资源的信息,请参见《Oracle Solaris 管理:网络服务》中的"关于 NFS 服务"。
# mount -F nfs [-o mount-options] server:/directory /mount-point
示例 18-10 挂载 NFS 文件系统(mount 命令)
以下示例说明如何将 /export/packages 目录从服务器 pluto 挂载到 /mnt 上。
# mount -F nfs pluto:/export/packages /mnt
使用以下过程从硬盘挂载 PCFS (DOS) 文件系统。
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
# mkdir /mount-point
本地系统上必须存在用于挂载文件系统的挂载点。挂载点是指附加已挂载文件系统的目录。
# mount -F pcfs [-o rw | ro] /dev/dsk/device-name:logical-drive /mount-point
指定可以将 PCFS 文件系统挂载为读取/写入 (rw) 或只读 (ro)。如果不指定此选项,则缺省情况下挂载为 rw。
指定整个磁盘的设备名称(例如 /dev/dsk/c0t0d0p0)。
指定 DOS 逻辑驱动器盘符(c 到 z)或驱动器编号(1 到 24)。驱动器 c 相当于驱动器 1,表示驱动器上的主 DOS 分片。所有其他字母或数字均表示扩展的 DOS 分片内的 DOS 逻辑驱动器。
指定文件系统的挂载目录。
请注意,必须使用冒号分隔 device-name 和 logical-drive。
示例 18-11 x86: 从硬盘挂载 PCFS (DOS) 文件系统(mount 命令)
以下示例说明如何将主 DOS 分片中的逻辑驱动器挂载到 /pcfs/c 目录上。
# mount -F pcfs /dev/dsk/c0t0d0p0:c /pcfs/c
以下示例说明如何将扩展的 DOS 分片中的第一个逻辑驱动器在 /mnt 目录上挂载为只读。
# mount -F pcfs -o ro /dev/dsk/c0t0d0p0:2 /mnt
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
# fuser -c [ -u ] /mount-point
报告是文件系统挂载点的文件以及已挂载文件系统内的所有文件。
显示每个进程 ID 的用户登录名称。
指定要停止进程的文件系统的名称。
# fuser -c -k /mount-point
SIGKILL 会被发送到正在使用文件系统的每个进程。
注 - 不得在未事先警告用户的情况下停止用户进程。
# fuser -c /mount-point
示例 18-12 停止所有进程访问文件系统
以下示例说明如何停止正在使用 /export/home 文件系统的进程 4006c。
# fuser -c /export/home /export/home: 4006c # fuser -c -k /export/home /export/home: 4006c # fuser -c /export/home /export/home:
使用以下过程取消挂载文件系统。
# umount /mount-point
其中 /mount-point 是指要取消挂载的文件系统的名称。该名称可以是以下各项之一:
文件系统的挂载目录名称
文件系统的设备名称路径
NFS 文件系统的资源
LOFS 文件系统的回送目录
示例 18-13 取消挂载文件系统
以下示例说明如何取消挂载传统 UFS 文件系统。
# umount /legacy
以下示例说明如何强制取消挂载 UFS /legacy 文件系统。
# umount -f /legacy #
以下示例说明如何取消挂载所有 ZFS 文件系统。
# zfs umount -a
除正忙的文件系统以外,其他所有文件系统都被取消挂载。