JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 管理:设备和文件系统     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

关于本书

1.  管理可移除介质(概述)

2.  管理可移除介质(任务)

3.  访问可移除介质(任务)

4.  写入 CD 和 DVD(任务)

5.  管理设备(概述/任务)

6.  动态配置设备(任务)

7.  使用 USB 设备(概述)

8.  使用 USB 设备(任务)

9.  使用 InfiniBand 设备(概述/任务)

10.  管理磁盘(概述)

11.  管理磁盘(任务)

12.  SPARC:设置磁盘(任务)

13.  x86:设置磁盘(任务)

14.  使用 COMSTAR 配置存储设备

15.  配置和管理 Oracle Solaris Internet 存储名称服务 (Internet Storage Name Service, iSNS)

16.  format 实用程序(参考)

17.  管理文件系统(概述)

18.  创建和挂载文件系统(任务)

创建 Oracle Solaris 文件系统

创建 ZFS 文件系统

创建临时文件系统

创建 LOFS 文件系统

挂载和取消挂载 Oracle Solaris 文件系统

/etc/vfstab 文件的字段说明

取消挂载 Oracle Solaris 文件系统的先决条件

创建和挂载 Oracle Solaris 文件系统

如何创建 ZFS 文件系统

如何创建和挂载传统 UFS 文件系统

如何创建和挂载 TMPFS 文件系统

如何创建和挂载 LOFS 文件系统

如何向 /etc/vfstab 文件添加项

如何挂载文件系统(/etc/vfstab 文件)

如何挂载 NFS 文件系统(mount 命令)

x86: 如何从硬盘挂载 PCFS (DOS) 文件系统(mount 命令)

如何停止所有进程访问文件系统

如何取消挂载文件系统

19.  配置附加交换空间(任务)

20.  复制文件和文件系统(任务)

21.  管理磁带机(任务)

索引

创建和挂载 Oracle Solaris 文件系统

本节提供有关创建和挂载 Oracle Solaris 文件系统的示例。

如何创建 ZFS 文件系统

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 创建 ZFS 存储池。

    以下示例说明如何在一个命令中创建名为 tank 的简单镜像存储池和名为 tank 的 ZFS 文件系统。假定磁盘 /dev/dsk/c1t0d0/dev/dsk/c2t0d0 全部都可使用。

    # zpool create tank mirror c1t0d0 c2t0d0
  3. 创建 ZFS 文件系统。
    # zfs create tank/fs

    新 ZFS 文件系统 tank/fs 可根据需要尽可能使用磁盘空间,并在 /tank/fs 处自动挂载。

  4. 确认是否创建文件系统。
    # zfs list -r tank
    NAME      USED  AVAIL  REFER  MOUNTPOINT
    tank      117K   268G    21K  /tank
    tank/fs    21K   268G    21K  /tank/fs

如何创建和挂载传统 UFS 文件系统

开始之前

请确保已满足以下先决条件:

有关查找磁盘和磁盘分片编号的信息,请参见第 11 章

有关格式化磁盘和将磁盘分片的信息,请参见第 10 章

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 创建传统 UFS 文件系统。
    # newfs [-N] [-b size] [-i bytes] /dev/rdsk/device-name

    系统会要求确认。


    注意

    注意 - 执行此步骤之前,请确保为分片指定了正确的设备名称。如果指定错误的分片,则在创建新文件系统时将删除其内容。此错误可能会导致系统出现紧急情况。


  3. 要验证是否已创建传统 UFS 文件系统,请检查新文件系统。
    # fsck /dev/rdsk/device-name

    其中 device-name 参数指定包含新文件系统的磁盘设备的名称。

    fsck 命令检查新文件系统的一致性、报告所有问题并在修复问题之前进行提示。有关 fsck 命令的更多信息,请参见 fsck(1M)

  4. 挂载传统 UFS 文件系统。
    # 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 文件系统后……

要在引导时自动挂载传统 UFS 文件系统,请转到如何向 /etc/vfstab 文件添加项

如何创建和挂载 TMPFS 文件系统

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 如有必要,请创建要作为 TMPFS 文件系统挂载的目录。
    # mkdir /mount-point

    其中 mount-point 是 TMPFS 文件系统的挂载目录。

  3. 挂载 TMPFS 文件系统。
    # mount -F tmpfs [-o size=number]  swap mount-point
    -o size=number

    指定 TMPFS 文件系统的大小限制(以 MB 为单位)。

    mount-point

    指定 TMPFS 文件系统的挂载目录。

    要将系统设置为在引导时自动挂载 TMPFS 文件系统,请参见示例 18-4

  4. 验证是否已创建 TMPFS 文件系统。
    # 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  -

如何创建和挂载 LOFS 文件系统

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 如有必要,请创建要作为 LOFS 文件系统挂载的目录。
    # mkdir loopback-directory
  3. 授予新创建的目录适当的权限和所有权。
  4. 如有必要,请创建要在其中挂载 LOFS 文件系统的挂载点。
    # mkdir /mount-point
  5. 挂载 LOFS 文件系统。
    # mount -F lofs loopback-directory /mount-point
    loopback-directory

    指定要在回送挂载点上挂载的文件系统。

    /mount-point

    指定 LOFS 文件系统的挂载目录。

  6. 验证是否已挂载 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 项先于其中要包括的文件系统,则无法挂载回送文件系统。

如何向 /etc/vfstab 文件添加项

除非某些 ZFS 文件系统需要先前挂载的行为,否则请使用此过程以在引导时挂载非 ZFS 文件系统。有关挂载 ZFS 文件系统的更多信息,请参见《Oracle Solaris 管理:ZFS 文件系统》

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 如有必要,请为要挂载的文件系统创建挂载点。
    # mkdir /mount-point

    本地系统上必须存在用于挂载文件系统的挂载点。挂载点是指附加已挂载文件系统的目录。

  3. 编辑 /etc/vfstab 文件并添加项。请确保执行以下操作:
    1. 使用空白空间(空格或制表符)分隔各个字段。
    2. 如果字段没有内容,请指定破折号 (-)。
    3. 保存更改。

    注 - 由于在引导过程中内核会将根目录 (/) 文件系统挂载为只读,因此只有 remount 选项(以及可以与 remount 一起使用的选项)会影响 /etc/vfstab 文件中的根目录 (/) 项。


示例 18-7 向 /etc/vfstab 文件添加项

以下示例说明如何将磁盘分片 /dev/dsk/c0t3d0s7 作为传统 UFS 文件系统挂载到挂载点 /files1。将原始字符设备 /dev/rdsk/c0t3d0s7 指定为 device to fsckfsck 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 optionsro(只读)和 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

如何挂载文件系统(/etc/vfstab 文件)

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 挂载 /etc/vfstab 文件中列出的文件系统。
    # mount /mount-point

    其中 /mount-point 指定了 /etc/vfstab 文件的 mount pointdevice 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

如何挂载 NFS 文件系统(mount 命令)

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 如有必要,请为要挂载的文件系统创建挂载点。
    # mkdir /mount-point

    本地系统上必须存在用于挂载文件系统的挂载点。挂载点是指附加已挂载文件系统的目录。

  3. 请确保服务器中的资源(文件或目录)是可用的。

    要挂载 NFS 文件系统,必须使用 share 命令使服务器上的资源可用。有关如何共享资源的信息,请参见《Oracle Solaris 管理:网络服务》中的"关于 NFS 服务"

  4. 挂载 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

x86: 如何从硬盘挂载 PCFS (DOS) 文件系统(mount 命令)

使用以下过程从硬盘挂载 PCFS (DOS) 文件系统。

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 如有必要,请为要挂载的文件系统创建挂载点。
    # mkdir /mount-point

    本地系统上必须存在用于挂载文件系统的挂载点。挂载点是指附加已挂载文件系统的目录。

  3. 挂载 PCFS 文件系统。
    # mount -F pcfs [-o rw | ro] /dev/dsk/device-name:logical-drive /mount-point
    -o rw | ro

    指定可以将 PCFS 文件系统挂载为读取/写入 (rw) 或只读 (ro)。如果不指定此选项,则缺省情况下挂载为 rw

    /dev/dsk/device-name

    指定整个磁盘的设备名称(例如 /dev/dsk/c0t0d0p0)。

    logical-drive

    指定 DOS 逻辑驱动器盘符(c 到 z)或驱动器编号(1 到 24)。驱动器 c 相当于驱动器 1,表示驱动器上的主 DOS 分片。所有其他字母或数字均表示扩展的 DOS 分片内的 DOS 逻辑驱动器。

    /mount-point

    指定文件系统的挂载目录。

    请注意,必须使用冒号分隔 device-namelogical-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

如何停止所有进程访问文件系统

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 列出正在访问文件系统的所有进程,以便确定要停止的进程。
    # fuser -c [ -u ] /mount-point
    -c

    报告是文件系统挂载点的文件以及已挂载文件系统内的所有文件。

    -u

    显示每个进程 ID 的用户登录名称。

    /mount-point

    指定要停止进程的文件系统的名称。

  3. 停止正在访问文件系统的所有进程。
    # fuser -c -k /mount-point

    SIGKILL 会被发送到正在使用文件系统的每个进程。


    注 - 不得在未事先警告用户的情况下停止用户进程。


  4. 验证是否所有进程都未在访问文件系统。
    # 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: 

如何取消挂载文件系统

使用以下过程取消挂载文件系统。

  1. 请确保已满足取消挂载 Oracle Solaris 文件系统的先决条件中列出的先决条件。
  2. 取消挂载文件系统。
    # umount /mount-point

    其中 /mount-point 是指要取消挂载的文件系统的名称。该名称可以是以下各项之一:

    • 文件系统的挂载目录名称

    • 文件系统的设备名称路径

    • NFS 文件系统的资源

    • LOFS 文件系统的回送目录

示例 18-13 取消挂载文件系统

以下示例说明如何取消挂载传统 UFS 文件系统。

# umount /legacy

以下示例说明如何强制取消挂载 UFS /legacy 文件系统。

# umount -f /legacy
# 

以下示例说明如何取消挂载所有 ZFS 文件系统。

# zfs umount -a

除正忙的文件系统以外,其他所有文件系统都被取消挂载。