3 管理 Oracle HSM 文件系统

本章介绍文件系统维护和重新配置任务。第一节“管理 Oracle HSM 文件系统”介绍所有 Oracle HSM 文件系统的维护,包括归档和非归档文件系统、共享和非共享(独立)文件系统。第二节“管理 Oracle HSM 共享文件系统”介绍影响共享文件系统的特殊注意事项。

管理 Oracle HSM 文件系统

本节概述以下任务:

管理文件系统配额

设置文件系统配额以控制给定用户或用户集合在文件系统内可以占用的在线存储空间和总存储空间。可以按用户 ID、组 ID 或管理员定义的根据公共特征(如参与特定的项目)对用户分组的管理集 ID 设置配额。当项目包含来自多个组的用户并跨多个目录和文件时,管理集 ID 尤其有用。

可以通过使用 quota 挂载选项(默认设置)挂载文件系统来启用配额,通过使用 noquota 挂载选项挂载文件系统来禁用配额。通过在文件系统根目录中放置一个或多个配额文件可定义配额:.quota_u.quota_g.quota_a,分别为用户、组和管理集设置配额。每个文件中的第一个记录(即记录 0)设置默认值。后续记录设置特定于特定用户、组或管理集的值。

配额分配可用的文件系统空间,而不仅仅是存储空间。因此,配额同时针对在介质上分配的 512 字节块的数目和在文件系统中分配的 inode 的数目设置上限。块计数本质上度量存储空间。inode 计数度量可用于访问该存储的资源。因此,使用多个存储空间块而只有一个 inode 的单个文件所占用的文件系统空间量可能会与占用多个 inode 但没有块的多个长度为零的空文件所占用的文件系统空间量相同。

每个配额可以包括软限制硬限制。硬限制定义给定所有者的所有文件可以暂时使用的文件系统资源上限。软限制定义所有者的文件可以无限期使用的文件系统资源上限。资源使用量只能在短暂的间隔内增长到软限制与硬限制之间的数量,该间隔由配额中的宽限期定义。

本节介绍以下管理任务:

确定用户、组和组织单元的存储需求的特征

要设置可持续的配额,必须以可管理和可伸缩的方式设置适应用户要求的限制。因此,在设置配额之前,请评估用户的存储需求。要使流程可管理,请首先尽可能宽泛地对用户需求进行分类,以便通过最少的管理工作满足尽可能多的需求。然后,您可以专门评估未包括在较宽泛类别中的少量用户需求。结果将提供关于要设置的配额和限制类型的粗略大纲。

下面概述的方法首先确定访问控制组的文件系统需求,因为大多数组织已定义了这些组。然后,定义需求与这些标准组不一致的特殊用户集。然后,这时才开始解决单个用户的独特需求。执行如下操作:

  1. 由于您的现有访问控制组已经将具有类似资源需求的用户归在一起,因此请首先定义将使用文件系统的任何组的平均存储需求。评估所使用的平均存储空间量(以 512 千字节块为单位)和所存储的平均文件数,这等效于所使用的平均 inode 数。

    由于组成员通常具有类似的组织角色和工作职责,因此他们经常需要访问相同的目录和文件并且通常对存储具有类似的需求。在示例中,确定了将使用文件系统 /hsm/hsmfs1 的三个组:dev(产品开发)、cit(公司信息技术)和 pgmt(程序管理)。随后在一个简单的电子表格中列出这些组、每个组的成员数及其个体和组的平均需求。


    用户 每用户平均块数
    每用户平均文件数
    平均块数/组 平均文件数/组
    dev
    
    30
    
     67108864
    
     500
    
    2013265920
    
    15000
    
    cit
    
    15
    
     10485760
    
      50
    
     157286400
    
      750
    
    pmgt
    
     6
    
     20971520
    
     200
    
     125829120
    
     1200
    
    总块数/ 文件数(平均)          

  2. 接下来,针对任意给定时间的最大存储空间量和组成员将存储的最大文件数执行相同的计算。记录结果。

    在示例中,将结果记录在一个新的电子表格中:


    用户 每用户最大块数
    每用户最大文件数
    最大块数/组 最大文件数/组
    dev
    
    30
    
    100663296
    
    1000
    
    3019898880
    
    30000
    
    cit
    
    15
    
     15728640
    
     100
    
     235929600
    
     1500
    
    pmgt
    
     6
    
     31457280
    
     400
    
     188743680
    
     2400
    
    总块数/ 文件数(最大)          

  3. 现在,确定属于不同的组但具有相同独特存储需求(此需求无法基于组来解决)的用户集。为所确定的每个组织执行与每个访问控制组相同的评估并执行相同的计算。

    在示例中,确定了将需要存储分配的两个公司项目,代码为 portallockbox。工程、市场营销、合规、测试和文档组的成员将一起处理这些项目并使用相同的目录和许多相同的文件。因此,将其添加到需求电子表格中:


    用户 每用户平均块数
    每用户平均文件数
    平均块数/组 平均文件数/组
    dev
    
    30
    
     67108864
    
     500
    
    2013265920
    
    15000
    
    cit
    
    15
    
     10485760
    
      50
    
     157286400
    
      750
    
    pmgt
    
     6
    
     20971520
    
     200
    
     125829120
    
     1200
    
    portal
    
    10
    
     31457280
    
     400
    
     314572800
    
     4000
    
    lockbox
    
    12
    
     31457280
    
     500
    
     377487360
    
     6000
    
    总块数/ 文件数(平均)          


    用户 每用户最大块数
    每用户最大文件数
    最大块数/组 最大文件数/组
    dev
    
    30
    
    100663296
    
    1000
    
    3019898880
    
    30000
    
    cit
    
    15
    
     15728640
    
     100
    
     235929600
    
     1500
    
    pmgt
    
     6
    
     31457280
    
     400
    
     188743680
    
     2400
    
    portal
    
    10
    
     37748736
    
     700
    
     377487360
    
     7000
    
    lockbox
    
    12
    
     45613056
    
     600
    
     547356672
    
     7200
    
    总块数/ 文件数(最大)          

  4. 现在,确定需求尚未解决的单个用户。为每个用户执行与每个访问控制组和非组组织相同的评估并执行相同的计算。

    只要可能,就应将用户需求放在一起解决,以便统一策略并使管理开销降至最低。不过,当个别需求比较独特时,您需要单独解决它们。在示例中,确定了 pgmt 组中的 jr23547 是具有特殊职责的用户,需要特殊的存储分配。因此,将他添加需求电子表格中:


    每个集的用户
    每用户平均块数
    每用户平均文件数
    平均块数
    平均文件数
    dev
    
    30
    
     67108864
    
     500
    
    2013265920
    
    15000
    
    cit
    
    15
    
     10485760
    
      50
    
     157286400
    
      750
    
    pmgt
    
     6
    
     20971520
    
     200
    
     125829120
    
     1200
    
    portal
    
    10
    
     31457280
    
     400
    
     314572800
    
     4000
    
    lockbox
    
    12
    
     31457280
    
     500
    
     377487360
    
     6000
    
    jr23547
    
     1
    
     10485760
    
     600
    
     10485760
    
     600
    
    总块数/ 文件数(平均)          


    用户 每用户最大块数
    每用户最大文件数
    最大块数/组 最大文件数/组
    dev
    
    30
    
    100663296
    
    1000
    
    3019898880
    
    30000
    
    cit
    
    15
    
     15728640
    
     100
    
     235929600
    
     1500
    
    pmgt
    
     6
    
     31457280
    
     400
    
     188743680
    
     2400
    
    portal
    
    10
    
     37748736
    
     700
    
     377487360
    
     7000
    
    lockbox
    
    12
    
     45613056
    
     600
    
     547356672
    
     7200
    
    jr23547
    
     1
    
    100663296
    
    2000
    
     100663296
    
     2000
    
    总块数/ 文件数(最大)          

  5. 最后,计算所有用户需要的平均和最大块数和文件数。


    用户 每用户平均块数
    每用户平均文件数
    平均块数/组 平均文件数/组
    dev
    
    30
    
     67108864
    
     500
    
     2013265920
    
    15000
    
    cit
    
    15
    
     10485760
    
      50
    
      157286400
    
      750
    
    pmgt
    
     6
    
     20971520
    
     200
    
      125829120
    
     1200
    
    portal
    
    10
    
     31457280
    
     400
    
      314572800
    
     4000
    
    lockbox
    
    12
    
     31457280
    
     500
    
      377487360
    
     6000
    
    jr23547
    
     1
    
     10485760
    
     600
    
       10485760
    
      600
    
    总块数/ 文件数(平均)      
     2998927360
    
    27550
    


    用户 每用户最大块数
    每用户最大文件数
    最大块数/组 最大文件数/组
    dev
    
    30
    
    100663296
    
    1000
    
      3019898880
    
    30000
    
    cit
    
    15
    
     15728640
    
     100
    
       235929600
    
     1500
    
    pmgt
    
     6
    
     31457280
    
     400
    
       188743680
    
     2400
    
    portal
    
    10
    
     37748736
    
     700
    
       377487360
    
     7000
    
    lockbox
    
    12
    
     45613056
    
     600
    
       547356672
    
     7200
    
    jr23547
    
     1
    
    100663296
    
    2000
    
       100663296
    
     2000
    
    总块数/ 文件数(平均)      
      4470079488
    
    50100
    

  6. 如果您需要管理基于项目的配额或者其他无法按访问控制组和用户 ID 定义的配额,请为多个组使用的项目和目录创建管理集

  7. 如果您要在空的新创建的文件系统上设置配额,请转至配置新文件系统以使用配额

  8. 如果您要在已包含文件的文件系统上设置配额,请转至配置现有文件系统以使用配额

为由多个组使用的项目和目录创建管理集

管理集是用于配额的一个目录层次结构或单个目录或文件,由管理集 ID 予以标识。以指定管理集 ID 创建的或者存储在具有指定管理集 ID 的目录中的所有文件都具有相同的配额,无论实际拥有这些文件的用户或组 ID 是什么。要定义管理集,请执行如下操作:

  1. root 用户身份登录到文件系统服务器。

    在示例中,服务器名为 server1

    [server1]root@solaris:~# 
    
  2. 如果要使用管理集为新项目或团队配置存储配额,请在文件系统内的某个位置为该项目或团队创建一个新目录。

    在示例中,在 /hsm/hsmfs1 文件系统中创建该目录并将其命名为 portalproject/,与项目同名。

    [server1]root@solaris:~# mkdir /hsm/hsmfs1/portalproject 
    
  3. 为您需要设置配额的目录或文件分配管理集 ID。使用命令 samchaid [-fhR] admin-set-id directory-or-file-name,其中:

    • -f 强制执行分配并且不报告错误。

    • -h 将管理集 ID 分配给符号链接。不使用此选项时,将更改符号链接引用的文件的组。

    • -R 以递归方式将管理集 ID 分配给子目录和文件。

    • admin-set-id 是一个具有唯一性的整数值。

    • directory-or-file-name 是您要向其分配管理集 ID 的目录或文件的名称。

    在示例中,将管理集 ID 1 分配给目录 /hsm/hsmfs1/portalproject/ 及其所有子目录和文件。

    [server1]root@solaris:~# samchaid -R 1 /hsm/hsmfs1/portalproject/
    
  4. 如果需要,您可以检查分配。使用命令 command sls -D directory-path,其中 -D 指定为 directory-path 中的文件和目录显示详细的 Oracle HSM 目录列表:

    [server1]root@solaris:~# sls -D /hsm/hsmfs1/
    /portalproject:
      mode: drwxr-xr-x    links:   2  owner: root        group: root      
      length:      4096  admin id:    1  inode:     1047.1
      project: user.root(1)
      access:      Feb 24 12:49  modification: Feb 24 12:44
      changed:     Feb 24 12:49  attributes:   Feb 24 12:44
      creation:    Feb 24 12:44  residence:    Feb 24 12:44
    
  5. 如果您要在空的新创建的文件系统上设置配额,请转至配置新文件系统以使用配额

  6. 如果您要在已包含文件的文件系统上设置配额,请转至配置现有文件系统以使用配额

配置新文件系统以使用配额

如果您正在创建新文件系统,并且该文件系统中当前没有任何文件,则可以执行此过程。

  1. root 用户身份登录到文件系统服务器。

    在示例中,服务器名为 server2

    [server2]root@solaris:~# 
    
  2. 如果新文件系统当前未挂载,在继续操作前请先挂载它。

  3. 如果必须为组设置配额,请在文件系统根目录中创建一个组配额文件 .quota_g。使用 Solaris 命令 dd if=/dev/zero of=mountpoint/.quota_g bs=4096 count=number-blocks,其中:

    • if=/dev/zero 指定将 UNIX 特殊文件 /dev/zero 中的空字符作为输入。

    • of=mountpoint/.quota_g 指定输出文件,其中 mountpoint 是文件系统的挂载点目录。

    • bs=4096 将用于写入的块大小设置为 4096 字节。

    • count=number-blocks 指定要写入的块数。该值取决于文件将存放的记录数。对于每个指定的配额都有一条 128 字节的记录,因此一个块可以包含 32 条记录。

    在示例中,为挂载在 /newsamfs 的文件系统 newsamfs 创建组配额文件。在需求收集阶段中,确定了文件系统中需要配额的三个组:devcitpgmt。由于不打算添加任何其他组配额,因此设置每个块上的文件大小:

    [server2]root@solaris:~# dd if=/dev/zero of=/newsamfs/.quota_g bs=4096 count=1
    
  4. 如果必须为管理集设置配额,请在文件系统根目录中创建一个管理集配额文件 .quota_a。使用 Solaris 命令 dd if=/dev/zero of=mountpoint/.quota_a bs=4096,其中:

    • mountpoint 是文件系统的挂载点目录。

    • .quota_a 是输出文件的名称。

    • 4096 是用于写入的块大小(以字节为单位)。

    • number-blocks 是要写入的块数。

    在示例中,为挂载在 /newsamfs 的文件系统 newsamfs 创建管理集配额文件。在需求收集阶段中,确定了文件系统中需要配额的两个项目:portal(管理集 ID 1)和 lockbox(管理集 ID 2)。由于不打算添加任何其他管理集配额,因此设置每个块上的文件大小:

    [server2]root@solaris:~# dd if=/dev/zero of=/newsamfs/.quota_a bs=4096 count=1
    
  5. 如果必须为用户设置配额,请在文件系统根目录中创建一个用户配额文件 .quota_u。使用 Solaris 命令 dd if=/dev/zero of=mountpoint/.quota_u bs=4096 count=number-blocks,其中:

    • mountpoint 是文件系统的挂载点目录。

    • .quota_u 是输出文件的名称。

    • 4096 是用于写入的块大小(以字节为单位)。

    • number-blocks 是要写入的块数。

    在示例中,为挂载在 /newsamfs 的文件系统 newsamfs 创建用户配额文件。在需求收集阶段中,确定了文件系统中需要特定配额的一个用户 jr23547。由于不打算添加任何其他单个用户配额,因此设置每个块上的文件大小:

    [server2]root@solaris:~# dd if=/dev/zero of=/newsamfs/.quota_u bs=4096 count=1
    
  6. 卸载文件系统。

    您必须先卸载文件系统,然后重新挂载它才能启用配额文件。

    [server2]root@solaris:~# umount /newsamfs
    
  7. 执行文件系统检查。

    [server2]root@solaris:~# samfsck -F newsamfs
    
  8. 重新挂载文件系统。

    当系统检测到在文件系统的根目录中有一个或多个配额文件时,会启用配额。

    您不需要在 /etc/vfstabsamfs.cmd 文件中包括 quota 挂载选项,因为默认情况下挂载文件系统时会启用配额。

    [server2]root@solaris:~# mount /newsamfs
    
  9. 接下来,根据需要设置或更新配额。请参见为组、项目、目录和用户设置配额

配置现有文件系统以使用配额

如果您要为已包含文件的文件系统创建配额,请使用此过程。

  1. root 用户身份登录到文件系统服务器。

    在示例中,服务器名为 server1

    [server1]root@solaris:~# 
    
  2. 在文本编辑器中打开 /etc/vfstab 文件,并确保设置 noquota 挂载选项。

    在示例中,在 vi 文本编辑器中打开文件。noquota 挂载选项已设置:

    [server1]root@solaris:~# vi /etc/vfstab
    #File
    #Device        Device   Mount             System  fsck  Mount    Mount
    #to Mount      to fsck  Point             Type    Pass  at Boot  Options
    #------------  -------  ---------------   ------  ----  -------  ------------
    /devices       -        /devices          devfs   -     no       -
    /proc          -        /proc             proc    -     no       -
    ...
    hsmfs1        -        /hsm/hsmfs1          samfs   -     no       noquota
    
  3. 如果已在 /etc/vfstab 文件中设置了 noquota 挂载选项,请删除该选项并保存文件。

    [server1]root@solaris:~# vi /etc/vfstab
    #File
    #Device        Device   Mount             System  fsck  Mount    Mount
    #to Mount      to fsck  Point             Type    Pass  at Boot  Options
    #------------  -------  ---------------   ------  ----  -------  ------------
    /devices       -        /devices          devfs   -     no       -
    /proc          -        /proc             proc    -     no       -
    ...
    hsmfs1        -        /hsm/hsmfs1          samfs   -     no       -
    :wq
    [server1]root@solaris:~# 
    
  4. 在文本编辑器中打开 /etc/opt/SUNWsamfs/samfs.cmd 文件,并确保未设置 noquota 挂载选项。

    在示例中,在 vi 文本编辑器中打开文件。noquota 挂载选项未设置:

    [server1]root@solaris:~# vi /etc/opt/SUNWsamfs/samfs.cmd
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character from the beginning of the line)
    # and change the value.
    #
    #inodes = 0
    #fs = hsmfs1
    #  forcedirectio (default no forcedirectio)
    #  high = 80
    #  low = 70
    #  weight_size = 1.
    #  weight_age = 1.
    #  readahead = 128
    ...
    #  dio_wr_ill_min = 0
    #  dio_wr_consec = 3
    #  qwrite        (ma filesystem, default no qwrite)
    #  shared_writer (ma filesystem, default no shared_writer)
    #  shared_reader (ma filesystem, default no shared_reader)
    
  5. 如果已在 /etc/opt/SUNWsamfs/samfs.cmd 文件中设置了 noquota 挂载选项,请删除该选项并保存文件。

  6. 如果您从 /etc/vfstab 文件和/或 /etc/opt/SUNWsamfs/samfs.cmd 文件中删除了 noquota 挂载选项,请卸载文件系统。

    删除 noquota 挂载选项后,必须卸载文件系统,以便您可以在重新挂载后启用配额。

    [server1]root@solaris:~# umount /hsm/hsmfs1
    
  7. 如果文件系统当前未挂载,现在请挂载它。

    必须先挂载文件系统,然后才能启用配额。

    [server1]root@solaris:~# mount /hsm/hsmfs1
    
  8. 转到文件系统的根目录并检查是否存在任何配额文件。使用 Solaris 命令 ls -a 并查找 .quota_g.quota_a 和/或 .quota_u 文件。

    在示例中,当前不存在配额文件。

    [server1]root@solaris:~# cd /hsm/hsmfs1
    [server1]root@solaris:~# ls -a /hsm/hsmfs1
    .              .archive       .fuid          .stage         portalproject
    ..             .domain        .inodes        lost+found
    
  9. 如果存在配额文件,不要修改它们。

  10. 如果必须为组设置配额并且文件系统根目录中尚未存在组配额文件 .quota_g,现在请创建该文件。使用 Solaris 命令 dd if=/dev/zero of=mountpoint/.quota_g bs=4096 count=number-blocks,其中:

    • if=/dev/zero 指定将 UNIX 特殊文件 /dev/zero 中的空字符作为输入。

    • of=mountpoint/.quota_g 指定输出文件,其中 mountpoint 是文件系统的挂载点目录。

    • bs=4096 将用于写入的块大小设置为 4096 字节。

    • count=number-blocks 指定要写入的块数。该值取决于文件将存放的记录数。对于每个指定的配额都有一条 128 字节的记录,因此一个块可以包含 32 条记录。

    在示例中,为在 /hsm/hsmfs1 处挂载的文件系统 /hsm/hsmfs1 创建组配额文件。在需求收集阶段中,确定了文件系统中需要配额的三个组:devcitpgmt。由于不打算添加任何其他组配额,因此设置每个块上的文件大小:

    [server1]root@solaris:~# dd if=/dev/zero of=/hsm/hsmfs1/.quota_g bs=4096 count=1
    
  11. 如果必须为管理集设置配额并且文件系统根目录中尚未存在管理集配额文件 .quota_a,现在请创建该文件。使用 Solaris 命令 dd if=/dev/zero of=mountpoint/.quota_a bs=4096 count=number-blocks,其中:

    • mountpoint 是文件系统的挂载点目录。

    • .quota_a 是输出文件的名称。

    • 4096 是用于写入的块大小(以字节为单位)。

    • number-blocks 是要写入的块数。

    在示例中,为在 /hsm/hsmfs1 处挂载的文件系统 /hsm/hsmfs1 创建管理集配额文件。在需求收集阶段中,确定了文件系统中需要配额的两个项目:portal(管理集 ID 1)和 lockbox(管理集 ID 2)。由于不打算添加任何其他管理集配额,因此设置每个块上的文件大小:

    [server1]root@solaris:~# dd if=/dev/zero of=/hsm/hsmfs1/.quota_a bs=4096 count=1
    
  12. 如果必须为用户设置配额并且文件系统根目录中尚未存在用户配额文件 .quota_u,现在请创建该文件。使用 Solaris 命令 dd if=/dev/zero of=mountpoint/.quota_u bs=4096 count=number-blocks,其中:

    • mountpoint 是文件系统的挂载点目录。

    • .quota_u 是输出文件的名称。

    • 4096 是用于写入的块大小(以字节为单位)。

    • number-blocks 是要写入的块数。

    在示例中,为在 /hsm/hsmfs1 处挂载的文件系统 /hsm/hsmfs1 创建用户配额文件。在需求收集阶段中,确定了文件系统中需要特定配额的一个用户 jr23547。由于不打算添加任何其他单个用户配额,因此设置每个块上的文件大小:

    [server1]root@solaris:~# dd if=/dev/zero of=/hsm/hsmfs1/.quota_u bs=4096 count=1
    
  13. 卸载文件系统。

    您必须先卸载文件系统,然后重新挂载它才能启用配额文件。

    [server1]root@solaris:~# umount /hsm/hsmfs1
    
  14. 执行文件系统检查。

    [server1]root@solaris:~# samfsck -F /hsm/hsmfs1
    
  15. 重新挂载文件系统。

    当系统检测到在文件系统的根目录中有一个或多个配额文件时,会启用配额。

    您不需要在 /etc/vfstabsamfs.cmd 文件中包括 quota 挂载选项,因为默认情况下挂载文件系统时会启用配额。

    [server1]root@solaris:~# mount /hsm/hsmfs1
    
  16. 接着,为组、项目、目录和用户设置配额

为组、项目、目录和用户设置配额

可以使用 samquota 命令设置新配额和调整现有配额。请遵循以下过程:

  1. 在确定存储需求的特征后,为每个组、用户和非组组织确定合适的配额。考虑以下因素并根据需要进行调整:

    • 文件系统大小与所有用户需要的平均和最大块数之比

    • 文件系统中 inode 的数目与所有用户需要的平均和最大 inode 数之比

    • 在任意给定时间可能接近其最大需求的用户的数目和类型。

  2. root 用户身份登录到文件系统服务器。

    在示例中,服务器名为 server1

    [server1]root@solaris:~# 
    
  3. 为需要限制的每个组设置限制。使用命令 samquota -b number-blocks:type[:scope] -f number-files:type[:scope] -t interval[:scope] -G groupID [directory-or-file],其中:

    • -b number-blocks 将可以在文件系统中存储的 512 千字节块的最大数目设置为 number-blocks(一个整数)(有关用来指定大小的其他方法,请参见 samquota 手册页)。值为 0(零)指定块数不受限。

    • : 是字段分隔符。

    • type 指定限制类型,h 表示硬限制,s 表示软限制。

    • scope(可选)标识受限制管制的存储类型。该参数可以为 o(表示仅在线(磁盘高速缓存)存储)或 t(表示总存储,包含磁盘高速缓存和归档存储(默认范围))。

    • -f number-files 将文件系统中可存储的最大文件数设置为 number-files(一个整数)。值为 0(零)指定文件数不受限。

    • -t number-seconds宽限期(可以超出软限制的时间长度)设置为 number-seconds,这是一个表示秒数的整数(有关用来指定时间的其他方法,请参见 samquota 手册页)。

    • -G groupID 指定组名称或组的整数标识符。值为 0(零)将为所有组设置默认限制。

    • directory-or-file(可选)是您需要设置配额的特定文件系统或特定目录或文件的挂载点目录。

    在示例中,使用需求收集阶段的估算结果对组 dev 可以使用的 /hsm/hsmfs1 文件系统中的存储空间量以及可以存储的文件数量设置硬限制和软限制。我们仅针对在线存储将宽限期设置为 43200 秒(十二小时)(请注意,下面的命令是作为单行输入的-使用反斜杠字符对换行符进行转义):

    [server1]root@solaris:~# samquota -b 3019898880:h:t -f 30000:h:t \
    -G dev /hsm/hsmfs1
    [server1]root@solaris:~# samquota -b 2013265920:s:t -f 15000:s:t -t 43200:o \
    -G dev /hsm/hsmfs1
    [server1]root@solaris:~# 
    
  4. 为需要限制的每个管理集设置限制。使用命令 samquota -b number-blocks:type[:scope] -f number-files:type[:scope] -t interval[:scope] -A adminsetID [directory-or-file],其中 -A adminsetID 是唯一标识管理集的整数值。

    adminsetID 设置为 0(零)将为所有管理集设置默认限制。

    在示例中,使用需求收集阶段的评估对 /hsm/hsmfs1 文件系统中 portal 项目(管理集 ID 1)可以使用的存储空间量以及可以存储的文件数量设置硬限制和软限制。我们针对使用的总存储(这是默认范围)将宽限期设置为 43200 秒(十二小时)(请注意,下面的命令是作为单行输入的-使用反斜杠字符对换行符进行转义):

    [server1]root@solaris:~# samquota -b 377487360:h:t -f 7000:h:t -A 1 /hsm/hsmfs1
    [server1]root@solaris:~# samquota -b 314572800:s:t -f 4000:s:t -t 43200 \ 
    -A 1 /hsm/hsmfs1
    [server1]root@solaris:~# 
    
  5. 为需要限制的每个单个用户设置限制。使用命令 samquota -b number-blocks:type[:scope] -f number-files:type[:scope] -t interval[:scope] -U userID [directory-or-file],其中 -U userID 是用户名或用户的整数标识符。

    userID 设置为 0(零)将为所有用户设置默认限制。

    在示例中,使用需求收集阶段的估算结果对用户 jr23547 可以使用的 /hsm/hsmfs1 文件系统中的存储空间量以及 jr23547 可以存储的文件数量设置硬限制和软限制。我们针对使用的总存储(这是默认范围)将宽限期设置为 1209600 秒(两周)(请注意,下面的命令是作为单行输入的-使用反斜杠字符对换行符进行转义):

    [server1]root@solaris:~# samquota -b 100663296:h:t -f 600:h:t \
    -U jr23547 /hsm/hsmfs1
    [server1]root@solaris:~# samquota -b 10485760:s:t -f 2000:s:t -t 1209600 \
    -U jr23547 /hsm/hsmfs1
    [server1]root@solaris:~# 
    
  6. 在此处停止。

修复不一致的配额

当根目录中存在配额文件时,如果使用 noquota 挂载选项挂载 Oracle HSM 文件系统,则当分配或释放了块或文件时,配额记录将变得不一致。在这种情况下,请执行如下操作:

  1. root 用户身份登录到文件系统服务器。

    在示例中,服务器名为 server1

    [server1]root@solaris:~# 
    
  2. 卸载受影响的文件系统。

    在示例中,卸载文件系统 samfs2

    [server1]root@solaris:~# umount samfs2
    [server1]root@solaris:~# 
    
  3. 在文本编辑器中打开 /etc/vfstab 文件,并确保未设置 noquota 挂载选项。

    在示例中,在 vi 文本编辑器中打开文件。noquota 挂载选项已设置:

    [server1]root@solaris:~# vi /etc/vfstab
    #File
    #Device        Device   Mount             System  fsck  Mount    Mount
    #to Mount      to fsck  Point             Type    Pass  at Boot  Options
    #------------  -------  ---------------   ------  ----  -------  ------------
    /devices       -        /devices          devfs   -     no       -
    /proc          -        /proc             proc    -     no       -
    ...
    samfs2         -        /samfs2           samfs   -     no       noquota
    
  4. 如果已在 /etc/vfstab 文件中设置了 noquota 挂载选项,请删除该选项并保存文件。

    [server1]root@solaris:~# vi /etc/vfstab
    #File
    #Device        Device   Mount             System  fsck  Mount    Mount
    #to Mount      to fsck  Point             Type    Pass  at Boot  Options
    #------------  -------  ---------------   ------  ----  -------  ------------
    /devices       -        /devices          devfs   -     no       -
    /proc          -        /proc             proc    -     no       -
    ...
    samfs2         -        /samfs2           samfs   -     no       -
    :wq
    [server1]root@solaris:~# 
    
  5. 在文本编辑器中打开 /etc/opt/SUNWsamfs/samfs.cmd 文件,并确保未设置 noquota 挂载选项。

    在示例中,在 vi 文本编辑器中打开文件。noquota 挂载选项未设置:

    [server1]root@solaris:~# vi /etc/opt/SUNWsamfs/samfs.cmd
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character from the beginning of the line)
    # and change the value.
    #
    #inodes = 0
    #fs = hsmfs1
    #  forcedirectio (default no forcedirectio)
    #  high = 80
    #  low = 70
    #  weight_size = 1.
    #  weight_age = 1.
    #  readahead = 128
    ...
    #  dio_wr_ill_min = 0
    #  dio_wr_consec = 3
    #  qwrite        (ma filesystem, default no qwrite)
    #  shared_writer (ma filesystem, default no shared_writer)
    #  shared_reader (ma filesystem, default no shared_reader)
    
  6. 如果已在 /etc/opt/SUNWsamfs/samfs.cmd 文件中设置了 noquota 挂载选项,请删除该选项并保存文件。

  7. 修复不一致的配额记录。使用命令 samfsck -F family-set-name,其中 family-set-name/etc/opt/SUNWsamfs/mcf 文件中文件系统的系列集名称。

    [server1]root@solaris:~# samfsck -F samfs2
    
  8. 重新挂载文件系统。

    当系统检测到在文件系统的根目录中有一个或多个配额文件时,会启用配额。

    您不需要在 /etc/vfstabsamfs.cmd 文件中包括 quota 挂载选项,因为默认情况下挂载文件系统时会启用配额。

    [server1]root@solaris:~# mount /samfs2
    [server1]root@solaris:~# 
    
  9. 在此处停止。

检查配额

管理员和用户都可以监视配额和资源使用量。root 用户可以使用 samquota 命令生成关于用户、组或管理集的配额报告。文件系统用户可以使用 squota 命令检查自己的配额。

请参见以下过程:

以文件系统管理员身份监视配额
  1. root 用户身份登录到文件系统服务器。

    在示例中,服务器名为 server1

    [server1]root@solaris:~# 
    
  2. 要显示所有组的配额统计信息,请使用命令 samquota -g [directory-or-file],其中可选的 directory-or-file 参数将报告的范围限定于指定目录上挂载的文件系统、指定的目录本身或指定的文件。

    在示例中,我们请求有关 hsmfs1 文件系统的报告,该文件系统挂载在 /hsm/hsmfs1 上:

    [server1]root@solaris:~# samquota -g /hsm/hsmfs1
    
  3. 要显示所有管理集的配额统计信息,请使用命令 samquota -a [directory-or-file],其中可选的 directory-or-file 参数将报告的范围限定于指定目录上挂载的文件系统、指定的目录本身或指定的文件。

    在示例中,我们请求有关 hsmfs1 文件系统的报告,该文件系统挂载在 /hsm/hsmfs1 上:

    [server1]root@solaris:~# samquota -a /hsm/hsmfs1
    
  4. 要显示所有用户的配额统计信息,请使用命令 samquota -u [directory-or-file],其中可选的 directory-or-file 参数将报告的范围限定于指定目录上挂载的文件系统、指定的目录本身或指定的文件。

    在示例中,我们请求有关 hsmfs1 文件系统的报告,该文件系统挂载在 /hsm/hsmfs1 上:

    [server1]root@solaris:~# samquota -u /hsm/hsmfs1
    
  5. 要显示特定组的配额统计信息,请使用命令 samquota -G groupID [directory-or-file],其中 groupID 指定组名称或组的整数标识符,可选的 directory-or-file 参数将报告的范围限定于指定目录上挂载的文件系统、指定的目录本身或指定的文件。

    在示例中,我们请求有关 hsmfs1 文件系统中 dev 组的配额的报告,该文件系统挂载在 /hsm/hsmfs1 上:

    [server1]root@solaris:~# samquota -G dev /hsm/hsmfs1
    
  6. 要显示特定管理集的配额统计信息,请使用命令 samquota -A adminsetID [directory-or-file],其中 adminsetID 指定管理组的整数标识符,可选的 directory-or-file 参数将报告的范围限定于指定目录上挂载的文件系统、指定的目录本身或指定的文件。

    在示例中,我们请求有关 hsmfs1 文件系统中 1 管理集的配额的报告,该文件系统挂载在 /hsm/hsmfs1 上:

    [server1]root@solaris:~# samquota -A 1 /hsm/hsmfs1
    
  7. 要显示特定用户的配额统计信息,请使用命令 samquota -U userID [directory-or-file],其中 userID 指定用户名或用户的整数标识符,可选的 directory-or-file 参数将报告的范围限定于指定目录上挂载的文件系统、指定的目录本身或指定的文件。

    在示例中,我们请求有关 hsmfs1 文件系统中 jr23547 用户的配额的报告,该文件系统挂载在 /hsm/hsmfs1 上:

    [server1]root@solaris:~# samquota -U jr23547 /hsm/hsmfs1
    
  8. 在此处停止。

监视您自己的用户配额
  1. 使用您的用户 ID 登录到文件系统主机。

    在示例中,以 od447 用户身份登录到主机 server1

    [server1]od447@solaris:~# 
    
  2. 要显示所有组的配额统计信息,请使用命令 squota [directory-or-file],其中可选的 directory-or-file 参数将报告的范围限定于指定目录上挂载的文件系统、指定的目录本身或指定的文件。

    在示例中,请求关于所有文件系统的报告:

    [server1]od447@solaris:~# squota
                                             Limits
                 Type    ID    In Use     Soft     Hard
         /hsm/hsmfs1
         Files  group   101         1     1000     1200
         Blocks group   101         8    20000    30000
         Grace period                    25920
         No user quota entry.
    [server1]od447@solaris:~# 
    
  3. 在此处停止。

暂时延长或取消宽限期

当需要暂时延长宽限期或需要缩短宽限期时,可以按以下方式操作:

将宽限期延长指定的时间量

如果组、用户或管理集已超出了其配额的指定软限制,但是超出软限制的时长需要暂时大于当前宽限期所允许的时间,则可以按以下方式延长:

  1. root 用户身份登录到文件系统服务器。

    在示例中,登录到主机 server1

    [server1]root@solaris:~# 
    
  2. 检查需要延长的配额。使用命令 samquota -quota-type ID [directory-or-file],其中:

    • quota-type IDG 加上组名称或 ID 编号,A 加上管理集 ID 编号,或者 U 加上用户名或 ID 编号。

    • directory-or-file(可选)是您需要延长宽限期的特定文件系统的挂载点目录或特定目录或文件。

    在示例中,dev 组明显超出了软限制并且距离其宽限期只剩下几个小时:

    [server1]root@solaris:~# samquota -G dev /hsm/hsmfs1
                                     Online Limits                    Total Limits
            Type   ID    In Use       Soft      Hard       In Use     Soft  Hard
    /hsm/hsmfs1
    Files  group  101       323      15000      30000         323    15000  30000
    Blocks group  101 3109330961 2013265920 3019898880 3109330961 2013265920 3019898880
    Grace period                 4320                             4320
    ---> Warning:  soft limits to be enforced in 2h21m16s
    [server1]root@solaris:~# 
    
  3. 如果有必要,延长宽限期。使用命令 samquota -quota-type ID -x number-seconds [directory-or-file],其中:

    • quota-type IDG 加上组名称或 ID 编号,A 加上管理集 ID 编号,或者 U 加上用户名或 ID 编号。

    • directory-or-file(可选)是您需要延长宽限期的特定文件系统的挂载点目录或特定目录或文件。

    • number-seconds 是一个整数,表示延期的秒数(有关其他指定时间的方法,请参见 samquota 手册页)。

    当提示继续时,输入 y (yes)。

    在示例中,将 dev 组在 hsmfs1 文件系统中的文件宽限期延长到 2678400 秒(31 天):

    [server1]root@solaris:~# samquota -G dev -x 2678400 /hsm/hsmfs1 
    Setting Grace Timer:  continue? y
    

    当重新检查 dev 组配额时,宽限期已延长:

    [server1]root@solaris:~# samquota -G dev /hsm/hsmfs1
                                     Online Limits                    Total Limits
            Type    ID    In Use       Soft      Hard   In Use       Soft   Hard
    /hsm/hsmfs1
    Files  group   101       323      15000      30000     323      15000   30000
    Blocks group   101     43208 2013265920 3019898880   43208 2013265920 3019898880
    Grace period                 2678400                      2678400
    ---> Warning:  soft limits to be enforced in 31d
    [server1]root@solaris:~# 
    
  4. 如果组、管理集或用户经常需要延长,请重新评估存储需求并/或考虑永久增大宽限期。使用为组、项目、目录和用户设置配额 过程。

  5. 在此处停止。

重新启动宽限期

如果组、用户或管理集已超出了其配额的指定软限制,并且无法在当前宽限期到期之前尽快释放空间以降至软限制之下,则可以重新启动宽限期。执行如下操作:

  1. root 用户身份登录到文件系统服务器。

    在示例中,登录到主机 server1

    [server1]root@solaris:~# 
    
  2. 检查需要延长的配额。使用命令 samquota -quota-type ID [directory-or-file],其中:

    • quota-type IDG 加上组名称或 ID 编号,A 加上管理集 ID 编号,或者 U 加上用户名或 ID 编号。

    • directory-or-file(可选)是您需要延长宽限期的特定文件系统的挂载点目录或特定目录或文件。

    在示例中,cit 组超出了 hsmfs1 文件系统的软限制,并且距离其宽限期仅剩一个多小时:

    [server1]root@solaris:~# samquota -G cit /hsm/hsmfs1
                                     Online Limits                    Total Limits
            Type   ID    In Use        Soft       Hard     In Use     Soft  Hard
    /hsm/hsmfs1
    Files  group  119       762         750       1500        762      750  1500
    Blocks group  119 3109330961 2013265920 3019898880  120096782  157286400  235929600
    Grace period                 4320                              4320
    ---> Warning:  soft limits to be enforced in 1h11m23s
    [server1]root@solaris:~# 
    
  3. 要在下次分配文件或块时将宽限期重置为其完整的起始大小,请清除宽限期计时器。使用命令 samquota -quota-type ID -x clear [directory-or-file],其中:

    • quota-type IDG 加上组名称或 ID 编号,A 加上管理集 ID 编号,或者 U 加上用户名或 ID 编号。

    • directory-or-file(可选)是您需要延长宽限期的特定文件系统的挂载点目录或特定目录或文件。

    当提示继续时,输入 y (yes)。

    在示例中,清除了 hsmfs1 文件系统上 cit 组的配额的宽限期计时器。

    [server1]root@solaris:~# samquota -G cit -x clear /hsm/hsmfs1
    Setting Grace Timer:  continue? y
    [server1]root@solaris:~# 
    

    当重新检查 cit 组的配额时,可以发现已经分配了一个文件并且宽限期已重置为 12h,即 12 个小时(4320 秒):

    [server1]root@solaris:~# samquota -G cit /hsm/hsmfs1
                                     Online Limits                    Total Limits
            Type   ID    In Use        Soft       Hard     In Use     Soft  Hard
    /hsm/hsmfs1
    Files  group  119       763         750       1500        763      750  1500
    Blocks group  119 3109330961 2013265920 3019898880  120096782  157286400  235929600
    Grace period                 4320                              4320
    ---> Warning:  soft limits to be enforced in 12h
    [server1]root@solaris:~# 
    
  4. 另外,要立即将宽限期重置为其完整的起始大小,请重置宽限期计时器。使用命令 samquota -quota-type ID -x reset [directory-or-file]

    • quota-type IDG 加上组名称或 ID 编号,A 加上管理集 ID 编号,或者 U 加上用户名或 ID 编号。

    • directory-or-file(可选)是您需要延长宽限期的特定文件系统的挂载点目录或特定目录或文件。

    当提示继续时,输入 y (yes)。

    在示例中,清除了 hsmfs1 文件系统上 cit 组的配额的宽限期计时器。

    [server1]root@solaris:~# samquota -G cit -x reset /hsm/hsmfs1
    Setting Grace Timer:  continue? y
    [server1]root@solaris:~# 
    

    当重新检查 cit 组的配额时,可以发现宽限期已重置为 12h,即 12 个小时(4320 秒):

    [server1]root@solaris:~# samquota -G cit /hsm/hsmfs1
                                     Online Limits                    Total Limits
            Type   ID    In Use        Soft       Hard     In Use     Soft  Hard
    /hsm/hsmfs1
    Files  group  119       762         750       1500        762      750  1500
    Blocks group  119 3109330961 2013265920 3019898880  120096782  157286400  235929600
    Grace period                 4320                              4320
    ---> Warning:  soft limits to be enforced in 12h
    [server1]root@solaris:~# 
    
  5. 在此处停止。

提前结束宽限期
  1. root 用户身份登录到文件系统服务器。

    在示例中,登录到主机 server1

    [server1]root@solaris:~# 
    
  2. 检查您需要缩短的宽限期。使用命令 samquota -quota-type ID [directory-or-file],其中:

    • quota-type IDG 加上组名称或 ID 编号,A 加上管理集 ID 编号,或者 U 加上用户名或 ID 编号。

    • directory-or-file(可选)是您需要延长宽限期的特定文件系统的挂载点目录或特定目录或文件。

    在示例中,cit 组超出了软限制并且距离其宽限期还剩十一个小时,但是需要提前结束宽限期:

    [server1]root@solaris:~# samquota -G cit /hsm/hsmfs1
                                     Online Limits                    Total Limits
            Type   ID    In Use        Soft       Hard     In Use       Soft       Hard
    /hsm/hsmfs1
    Files  group  119       822         750       1500        822        750       1500
    Blocks group  119 3109330961 2013265920 3019898880  120096782  157286400  235929600
    Grace period                 4320                              4320
    ---> Warning:  soft limits to be enforced in 11h
    [server1]root@solaris:~# 
    
  3. 使宽限期到期。使用命令 samquota -quota-type ID -x expire [directory-or-file],其中:

    • quota-type IDG 加上组名称或 ID 编号,A 加上管理集 ID 编号,或者 U 加上用户名或 ID 编号。

    • directory-or-file(可选)是您需要延长宽限期的特定文件系统的挂载点目录或特定目录或文件。

    在示例中,使 cit 组的宽限期到期:

    root@solaris:~# samquota -G cit -x expire /hsm/hsmfs1
    Setting Grace Timer:  continue? y
    

    当重新检查配额时,cit 组的软限制正被强制用作硬限制:

    [server1]root@solaris:~# samquota -G cit /hsm/hsmfs1
                                     Online Limits                    Total Limits
            Type   ID    In Use        Soft       Hard     In Use     Soft  Hard
    /hsm/hsmfs1
    Files  group  119       762         750       1500        762      750  1500
    Blocks group  119 3109330961 2013265920 3019898880  120096782  157286400  235929600
    Grace period                 4320                              4320
    ---> Online soft limits under enforcement (since 6s ago)
    [server1]root@solaris:~# 
    
  4. 在此处停止。

停止新的资源分配

您可以通过创建不一致的配额值限制文件系统资源分配。当文件系统检测到用户、组或管理集的配额值不一致时,会阻止用户、组或管理集使用其他任何系统资源。因此,将配额的硬限制设置为低于对应的软限制将停止进一步的分配。要使用此方法,请执行如下操作:

  1. root 用户身份登录到文件系统服务器。

    在示例中,登录到主机 server1

    [server1]root@solaris:~# 
    
  2. 备份配额以便以后可以恢复。导出当前配置,并将信息重定向到某个文件。使用命令 samquota -quota-type ID [directory-or-file] > file,其中:

    • quota-type IDG 加上组名称或 ID 编号,A 加上管理集 ID 编号,或者 U 加上用户名或 ID 编号。

    • directory-or-file(可选)是您需要延长宽限期的特定文件系统的挂载点目录或特定目录或文件。

    • file 是输出文件的名称。

    在示例中,我们将 cit 组的配额导出到 root 用户起始目录中的文件 restore.hsmfs1.quota_g.cit 中(请注意,下面的命令是作为单行输入的-使用反斜杠字符对换行符进行转义):

    [server1]root@solaris:~# samquota -G cit -e /hsm/hsmfs1 > \
    /root/restore.hsmfs1.quota_g.cit
    [server1]root@solaris:~# 
    
  3. 检查输出。使用 Solaris 命令 more < file,其中 file 是输出文件的文件名。

    [server1]root@solaris:~# more < /root/restore.hsmfs1.quota_g.cit
    # Type  ID
    #                  Online Limits                          Total   Limits
    #              soft            hard                    soft       hard
    # Files
    # Blocks
    # Grace Periods
    samquota -G 119 \
        -f       750:s:o  -f      1500:h:o        -f       750:s:t -f      1500:h:t \
        -b 157286400:s:o  -b 235929600:h:o        -b 157286400:s:t -b 235929600:h:t \
                -t 4320:o                               -t 4320:t 
    [server1]root@solaris:~# 
    
  4. 将配额的硬限制设置为 0(零),将软限制设置为 1(或任何非零值)。使用命令 samquota -quota-type ID -f 1:s -f 0:h -b 1:s -b 0:h [directory-or-file]

    • quota-type IDG 加上组名称或 ID 编号,A 加上管理集 ID 编号,或者 U 加上用户名或 ID 编号。

    • directory-or-file(可选)是您需要延长宽限期的特定文件系统的挂载点目录或特定目录或文件。

    在示例中,使 /hsm/hsmfs1 文件系统中 cit 组的配额不一致,并借此停止新的资源分配。

    [server1]root@solaris:~# samquota -G cit -f 1:s -f 0:h -b 1:s -b 0:h /hsm/hsmfs1
    [server1]root@solaris:~# 
    

    当检查 cit 组的配额时,可以发现生效的是零配额。感叹号字符 (!) 将所有当前使用量显示为超出配额,因此将不会执行进一步的分配:

    [server1]root@solaris:~# samquota -G cit /hsm/hsmfs1
    Online Limits                Total Limits
    Type   ID              In Use    Soft     Hard         In Use     Soft     Hard
    /sam6
    Files  group 119        822!       1        0         822!       1        0
    Blocks group 119 3109330961!       1        0  3109330961!       1        0
    Grace period                      4320                            4320
    ---> Quota values inconsistent; zero quotas in effect.
    [server1]root@solaris:~# 
    
  5. 当做好准备后,通过将修改的配额恢复为其原始状态来继续正常的分配。执行您创建为 shell 脚本的备份文件。使用 Solaris 命令 sh file,其中 file 是备份文件的文件名。

    在示例中,通过执行 /root/restore.hsmfs1.quota_g.cit 文件恢复 cit 组的配额

    [server1]root@solaris:~# sh /root/restore.hsmfs1.quota_g.cit
    Setting Grace Timer:  continue? y
    Setting Grace Timer:  continue? y
    [server1]root@solaris:~# 
    

    当检查配额时,可以发现已恢复了正常限制并且不再阻止分配:

    [server1]root@solaris:~# samquota -G cit /hsm/hsmfs1
                                     Online Limits                    Total Limits
            Type   ID    In Use        Soft       Hard     In Use     Soft  Hard
    /hsm/hsmfs1
    Files  group  119       822         750       1500        822     750   1500
    Blocks group  119 3109330961 2013265920 3019898880  120096782  157286400  235929600
    Grace period                       4320                             4320
    ---> Warning:  soft limits to be enforced in 11h
    [server1]root@solaris:~# 
    
  6. 在此处停止。

删除文件系统的配额

要删除或禁用文件系统的配额,请在挂载过程中禁用配额。

  1. root 用户身份登录到文件系统服务器。

    在示例中,登录到主机 server1

    [server1]root@solaris:~# 
    
  2. 在文本编辑器中打开 /etc/vfstab 文件,向文件系统行的 "Mount Options" 列中添加 noquota 挂载选项,然后保存文件。

    在示例中,在 vi 文本编辑器中打开文件,并为 hsmfs1 文件系统设置 noquota 挂载选项:

    [server1]root@solaris:~# vi /etc/vfstab
    #File
    #Device        Device   Mount             System  fsck  Mount    Mount
    #to Mount      to fsck  Point             Type    Pass  at Boot  Options
    #------------  -------  ---------------   ------  ----  -------  ------------
    /devices       -        /devices          devfs   -     no       -
    /proc          -        /proc             proc    -     no       -
    ...
    hsmfs1        -        /hsm/hsmfs1          samfs   -     no       noquota
    :wq
    [server1]root@solaris:~# 
    
  3. 如果文件系统已挂载,请将其卸载。

    您必须卸载然后重新挂载文件系统,以便使操作系统重新加载 /etc/vfstab 文件并执行指定的更改。在示例中,卸载 hsmfs1 文件系统:

    [server1]root@solaris:~# umount hsmfs1
    [server1]root@solaris:~# 
    
  4. 挂载文件系统。

    在示例中,挂载 hsmfs1 文件系统:

    [server1]root@solaris:~# mount hsmfs1
    [server1]root@solaris:~# 
    
  5. 如果您预计以后要恢复配额,请保留配额文件。

    当准备好恢复配额时,只需要简单地卸载文件系统,在文件系统上运行命令 samfsck -F,删除 noquota 挂载选项,然后重新挂载文件系统。

  6. 如果预计不会恢复配额或者如果需要回收配额文件占用的空间,请使用 Solaris 命令 rm 从文件系统的根目录中删除文件 .quota_g.quota_a 和/或 .quota_u

    在示例中,从 /hsm/hsmfs1 文件系统根目录中删除所有配额文件:

    [server1]root@solaris:~# rm /hsm/hsmfs1/.quota_g
    [server1]root@solaris:~# rm /hsm/hsmfs1/.quota_a
    [server1]root@solaris:~# rm /hsm/hsmfs1/.quota_u
    [server1]root@solaris:~# 
    
  7. 在此处停止。

控制归档和回写操作

通常,管理归档文件系统的方法与非归档文件系统大致相同。不过,在执行大多数文件系统管理任务之前必须停止归档进程。当处于活动状态时,归档进程会对文件系统的主磁盘高速缓存进行更改。因此,在对磁盘高速缓存执行维护工作之前必须停止这些进程。本节介绍以下任务:

使归档和回写进程闲置

  1. root 用户身份登录到文件系统主机。

    在示例中,登录到主机 server1

    [server1]root@solaris:~# 
    
  2. 使所有归档进程闲置。使用命令 samcmd aridle

    此命令将允许当前的归档和回写操作完成,但不会启动任何新作业:

    [server1]root@solaris:~# samcmd aridle
    [server1]root@solaris:~# 
    
  3. 使所有回写进程闲置。使用命令 samcmd stidle

    此命令将允许当前的归档和回写操作完成,但不会启动任何新作业:

    [server1]root@solaris:~# samcmd stidle
    [server1]root@solaris:~# 
    
  4. 等待活动的归档作业完成。使用命令 samcmd a 检查归档进程的状态。

    当归档进程为 Waiting for :arrun 时,归档进程处于空闲状态:

    [server1]root@solaris:~# samcmd a
    Archiver status samcmd     5.4 10:20:34 May 20 2014
    samcmd on samfs-mds
    sam-archiverd:  Waiting for :arrun
    sam-arfind: ...
    Waiting for :arrun
    
  5. 等待活动的回写作业完成。使用命令 samcmd u 检查回写进程的状态。

    当回写进程为 Waiting for :strun 时,回写进程处于空闲状态:

    [server1]root@solaris:~# samcmd u
    Staging queue samcmd      5.4  10:20:34 May 20 2014
    samcmd on solaris.demo.lan
    Staging queue by media type: all
    sam-stagerd:  Waiting for :strun
    root@solaris:~# 
    
  6. 要完全停止系统,还需要停止归档和回写进程

停止归档和回写进程

  1. 如果尚未执行此操作,将归档和回写进程闲置

  2. 如果您尚未以 root 用户身份登录到文件系统主机,请执行此操作。

    在示例中,登录到主机 server1

    [server1]root@solaris:~# 
    
  3. 在继续操作之前,使所有可移除的介质驱动器停工。针对每个驱动器,使用命令 samcmd equipment-number idle,其中 equipment-number 是在 /etc/opt/SUNWsamfs/mcf 文件中分配给驱动器的设备序号。

    此命令将允许当前的归档和回写作业在驱动器关闭之前完成,但不会启动任何新作业。在示例中,使序号分别为 801802803804 的四个驱动器闲置:

    [server1]root@solaris:~# samcmd 801 idle
    [server1]root@solaris:~# samcmd 802 idle
    [server1]root@solaris:~# samcmd 803 idle
    [server1]root@solaris:~# samcmd 804 idle
    [server1]root@solaris:~# 
    
  4. 等待正在运行的作业完成。

    可以使用命令 samcmd r 检查驱动器的状态。当所有驱动器都处于 notrdyempty 时,已准备好继续。

    [server1]root@solaris:~# samcmd r
    Removable media samcmd     5.4 18:37:09 Feb 17 2014
    samcmd on hsmfs1host
    ty   eq   status      act  use  state  vsn
    li  801   ---------p    0   0%  notrdy
              empty
    li  802   ---------p    0   0%  notrdy
              empty
    li  803   ---------p    0   0%  notrdy
              empty
    li  804   ---------p    0   0%  notrdy
              empty
    [server1]root@solaris:~# 
    
  5. 当归档程序和回写程序进程处于空闲状态,并且磁带机都处于 notrdy 时,停止磁带库控制守护进程。使用命令 samd stop

    [server1]root@solaris:~# samd stop
    [server1]root@solaris:~# 
    
  6. 继续进行文件系统维护。

  7. 当维护完成时,重新启动归档和回写进程

    重新启动介质操作之后,未完成的回写操作将被重新执行,而归档操作也将随之恢复。

  8. 在此处停止。

重新启动归档和回写进程

当准备就绪时,恢复正常的自动化操作,按下述方法继续操作:

  1. root 用户身份登录到文件系统主机。

    在示例中,登录到主机 server1

    [server1]root@solaris:~# 
    
  2. 重新启动 Oracle HSM 磁带库控制守护进程。使用命令 samd start

    [server1]root@solaris:~# samd start
    [server1]root@solaris:~# 
    
  3. 在此处停止。

重命名文件系统

重命名文件系统是一个两步骤过程。首先,通过编辑 /etc/opt/SUNWsamfs/mcf 文件更改文件系统的系列集名称。然后,使用 samfsck -R -F 命令读取新名称并更新对应磁盘设备上的超级块。要重命名文件系统,请使用以下过程:

重命名文件系统

  1. root 用户身份登录到文件系统服务器。

    在示例中,登录到主机 server1

    [server1]root@solaris:~# 
    
  2. 如果要修复归档文件系统,请在继续操作前执行使归档和回写进程闲置过程。

  3. 卸载需要重命名的文件系统。

    在示例中,卸载文件系统 hsmfs1

    [server1]root@solaris:~# umount hsmfs1
    
  4. 在文本编辑器中打开 /etc/opt/SUNWsamfs/mcf 文件并找到需要重命名的文件系统。

    在示例中,使用 vi 编辑器。需要更改 hsmfs1 文件系统的名称:

    [server1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment          Equipment  Equipment  Family        Device   Additional
    # Identifier         Ordinal    Type       Set           State    Parameters
    #-----------------   ---------  ---------  ------------  ------   ----------
    hsmfs1              100        ms         hsmfs1       on
     /dev/dsk/c1t3d0s3    101        md         hsmfs1       on
     /dev/dsk/c1t4d0s5    102        md         hsmfs1       on
    
  5. 在文件的第四列中,将该文件系统的系列集名称更改为新值。您还可以更改第一列中的文件系统设备标识符,但不要更改其他任何值。保存文件并关闭编辑器。

    在示例中,将文件系统的设备标识符和系列集名称同时从 hsmfs1 更改为 samqfs-hpcc

    [server1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment          Equipment  Equipment  Family        Device   Additional
    # Identifier         Ordinal    Type       Set           State    Parameters
    #-----------------   ---------  ---------  ------------  ------   ----------
    samqfs-hpcc          100        ms         samqfs-hpcc   on
     /dev/dsk/c1t3d0s3    101        md         samqfs-hpcc   on
     /dev/dsk/c1t4d0s5    102        md         samqfs-hpcc   on
    :wq
    root@solaris:~# 
    
  6. 重写文件系统超级块以反映新系列集名称。使用命令 samfsck -R -F family-set-name,其中 family-set-name 是刚刚在 /etc/opt/SUNWsamfs/mcf 文件中指定的系列集名称。

    当使用 -R-F 选项发出 samfsck 命令时,将从 /etc/opt/SUNWsamfs/mcf 文件中读取新系列集名称和对应的磁盘存储设备标识符。然后,使用新的系列集名称在指定的磁盘设备上重写超级块。在示例中,使用新的 samqfs-hpcc 系列集名称运行该命令:

    [server1]root@solaris:~# samfsck -R -F samqfs-hpcc
    
  7. 在文本编辑器中打开 /etc/vfstab 文件并找到您要重命名的文件系统的条目。

    在示例中,在 vi 文本编辑器中打开文件。需要将 hsmfs1 文件系统条目更改为使用新名称:

    [server1]root@solaris:~# vi /etc/vfstab
    #File
    #Device        Device   Mount             System  fsck  Mount    Mount
    #to Mount      to fsck  Point             Type    Pass  at Boot  Options
    #------------  -------  ---------------   ------  ----  -------  ------------
    /devices       -        /devices          devfs   -     no       -
    /proc          -        /proc             proc    -     no       -
    ...
    hsmfs1        -        /hsm/hsmfs1          samfs   -     no       -
    
  8. 在已重命名的文件系统的 /etc/vfstab 条目中,更改第一列中的文件系统名称和第三列中的挂载点目录名称(如果需要),然后保存该文件。

    在示例中,将 hsmfs1 文件系统的名称更改为 samqfs-hpcc 并相应地更改挂载点:

    [server1]root@solaris:~# vi /etc/vfstab
    #File
    #Device        Device   Mount             System  fsck  Mount    Mount
    #to Mount      to fsck  Point             Type    Pass  at Boot  Options
    #------------  -------  ---------------   ------  ----  -------  ------------
    /devices       -        /devices          devfs   -     no       -
    /proc          -        /proc             proc    -     no       -
    ...
    samqfs-hpcc    -        /samqfs-hpcc      samfs   -     no       -
    :wq
    [server1]root@solaris:~# 
    
  9. 如果需要,将为新文件系统创建新的挂载点目录,并为挂载点设置访问权限。

    用户必须具有执行 (x) 权限才能转到挂载点目录并访问挂载的文件系统中的文件。在示例中,创建 /samqfs-hpcc 挂载点目录并将权限设置为 755 (-rwxr-xr-x):

    [server1]root@solaris:~# mkdir /samqfs-hpcc
    [server1]root@solaris:~# chmod 755 /samqfs-hpcc
    [server1]root@solaris:~# 
    
  10. 运行 sam-fsd 命令检查 mcf 文件中是否有错误并纠正检测到的任何错误。

    sam-fsd 是一个读取 Oracle HSM 配置文件的初始化命令。该命令会在遇到以下错误时停止:

    [server1]root@solaris:~# sam-fsd
    
  11. 指示 Oracle HSM 软件重新读取 mcf 文件并相应地重新配置自身。使用命令 samd config

    [server1]root@solaris:~# samd config
    
  12. 如果 samd config 报告了错误,请更正错误直至没有错误,然后重新发出该命令。

  13. 挂载文件系统。

    在示例中,使用新的挂载点目录:

    [server1]root@solaris:~# mount /samqfs-hpcc
    
  14. 在此处停止。

修复文件系统

当文件系统通过 samu、Oracle HSM Manager 或 /var/adm/sam-log 文件报告了错误时,请遵循以下过程:

修复文件系统

  1. root 用户身份登录到文件系统服务器。

    在示例中,登录到主机 server1

    [server1]root@solaris:~# 
    
  2. 如果要修复归档文件系统,请在继续操作前执行使归档和回写进程闲置过程。

  3. 卸载受影响的文件系统。

    如果在等待归档停止,则可能需要尝试多次。在示例中,卸载文件系统 hsmfs1

    [server1]root@solaris:~# umount hsmfs1
    samfs umount: /hsm/hsmfs1: is busy
    [server1]root@solaris:~# umount hsmfs1
    [server1]root@solaris:~# 
    
  4. 修复文件系统。使用命令 samfsck -F -V family-set-name,其中 family-set-name/etc/opt/SUNWsamfs/mcf 文件中为文件系统指定的系列集名称。

    通常,将修复结果保存到带日期戳的文件中是个很好的主意,必要时可供以后参考和诊断。因此在本示例中,我们将 samfsck 输出通过管道传输到命令 tee /var/tmp/samfsck-FV.family-set-name.`date '+%Y%m%d.%H%M%S'` 中,从而保存结果(请注意,下面的命令是作为单行输入的-使用反斜杠字符对换行符进行转义):

    [server1]root@solaris:~# samfsck -F -V hsmfs1 | tee \
    /var/tmp/samfsck-FV.hsmfs1. `date '+%Y%m%d.%H%M%S'`
    name:     /hsm/hsmfs1       version:     2A          
    First pass
    Second pass
    Third pass
    NOTICE: ino 2.2,  Repaired link count from 8 to 14
    Inodes processed: 123392
    total data kilobytes       = 1965952
    total data kilobytes free  = 1047680
    total meta kilobytes       = 131040
    total meta kilobytes free  = 65568
    INFO:  FS samma1 repaired:
            start:  May 19, 2014 10:57:13 AM MDT
            finish: May 19, 2014 10:57:37 AM MDT
    NOTICE: Reclaimed 70057984 bytes
    NOTICE: Reclaimed 9519104 meta bytes
    [server1]root@solaris:~# 
    
  5. 重新挂载文件系统。

    [server1]root@solaris:~# mount /hsm/hsmfs1
    [server1]root@solaris:~# 
    
  6. 在此处停止。

向文件系统添加设备

在向现有文件系统添加设备之前,应当考虑您的需求和备选方案。确保对现有文件系统进行扩展是满足不断增长的容量需求的最佳方式。如果您需要更多的物理存储空间来容纳新项目或用户团体,则创建一个或多个新的 Oracle HSM 文件系统可能是一个较好的选择。多个较小的文件系统通常可以提供比一个较大的文件系统更好的性能,并且较小的文件可能更容易创建和维护。

在决定需要扩展文件系统后,请采取以下方法之一:

向已挂载的文件系统添加设备

执行如下操作:

  1. root 用户身份登录到文件系统服务器。

    在示例中,登录到主机 server1

    [server1]root@solaris:~# 
    
  2. 在文本编辑器中打开 /etc/opt/SUNWsamfs/mcf 文件并找到需要扩展的文件系统。

    在示例中,使用 vi 编辑器。我们需要扩展两个文件系统,通用的 samqfsms 文件系统和高性能的 samqfs2ma 文件系统:

    [server1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment         Equipment  Equipment  Family     Device   Additional
    # Identifier        Ordinal    Type       Set        State    Parameters
    #-----------------  ---------  ---------  ---------  ------   ---------------
    samqfsms            100        ms         samqfsms   on
     /dev/dsk/c1t3d0s3   101        md         samqfsms   on
     /dev/dsk/c1t4d0s5   102        md         samqfsms   on
    samqfs2ma           200        ma         samqfs2ma  on
     /dev/dsk/c1t3d0s3   201        mm         samqfs2ma  on
     /dev/dsk/c1t3d0s5   202        md         samqfs2ma  on
     /dev/dsk/c1t4d0s5   203        md         samqfs2ma  on
    
  3. 如果要向通用的 ms 文件系统添加设备,请在 mcf 文件中向文件系统定义的末尾添加额外的数据/元数据设备。然后保存文件并关闭编辑器。

    最多可以添加 252 个逻辑设备。在示例中,将两个设备(103104)添加到 samqfsms 文件系统:

    [server1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment         Equipment  Equipment  Family     Device   Additional
    # Identifier        Ordinal    Type       Set        State    Parameters
    #-----------------  ---------  ---------  ---------  ------   ---------------
    samqfsms            100        ms         samqfsms    on
     /dev/dsk/c1t3d0s3   101        md         samqfsms    on
     /dev/dsk/c1t4d0s5   102        md         samqfsms    on
     /dev/dsk/c1t3d0s7   103        md         samqfsms    on
     /dev/dsk/c1t4d0s7   104        md         samqfsms    on
    :wq
    [server1]root@solaris:~# 
    
  4. 如果要向高性能 ma 文件系统添加设备,请在 mcf 文件中向文件系统定义的末尾添加数据设备以及一个或多个 mm 磁盘设备。然后保存文件并关闭编辑器。

    请始终将新设备添加在现有设备列表的末尾。最多可以添加 252 个设备,在添加数据设备时按比例添加元数据设备。在示例中,将一个 mm 元数据设备 (204) 和两个 md 数据设备(205206)添加到 samqfs2ma 文件系统:

    [server1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment         Equipment  Equipment  Family     Device   Additional
    # Identifier        Ordinal    Type       Set        State    Parameters
    #-----------------  ---------  ---------  ---------  ------   ---------------
    ...
    samqfs2ma           200        ma         samqfs2ma  on
     /dev/dsk/c1t3d0s3   201        mm         samqfs2ma  on
     /dev/dsk/c1t3d0s5   202        md         samqfs2ma  on
     /dev/dsk/c1t4d0s5   203        md         samqfs2ma  on
     /dev/dsk/c1t5d0s6   204        mm         samqfs2ma  on
     /dev/dsk/c1t3d0s7   205        md         samqfs2ma  on
     /dev/dsk/c1t4d0s7   206        md         samqfs2ma  on
    :wq
    [server1]root@solaris:~# 
    
  5. 运行 sam-fsd 命令检查 mcf 文件中是否有错误并纠正检测到的任何错误。

    sam-fsd 是一个读取 Oracle HSM 配置文件的初始化命令。该命令会在遇到以下错误时停止:

    [server1]root@solaris:~# sam-fsd
    
  6. 如果 sam-fsd 命令在 mcf 文件中找到错误,请编辑该文件以更正错误,并按照前一步骤中的描述重新检查。

    在下面的示例中,sam-fsd 报告设备中出现的未指定问题:

    [server1]root@solaris:~# sam-fsd
    Problem in mcf file /etc/opt/SUNWsamfs/mcf for filesystem samqfsms
    sam-fsd: Problem with file system devices.
    

    通常,这样的错误是不经意的键入错误导致的。此处,在编辑器中打开 mcf 文件后,发现在设备 104(第二个新的 md 设备)的设备名称中键入了一个字符 o 而非 0:

    samqfsms                     100        ms         samqfsms    on
     /dev/dsk/c1t3d0s3           101        md         samqfsms    on
     /dev/dsk/c1t4d0s5           102        md         samqfsms    on
     /dev/dsk/c1t3d0s7           103        md         samqfsms    on
     /dev/dsk/c1t4dos7           104        md         samqfsms    on
                   ˆ
    
  7. 如果 sam-fsd 命令运行时未出错,则表明 mcf 文件正确。继续执行下一步。

    以下示例是无误输出的部分列表:

    [server1]root@solaris:~# sam-fsd
    Trace file controls:
    sam-amld      /var/opt/SUNWsamfs/trace/sam-amld
                  cust err fatal ipc misc proc date
    ...
    Would start sam-archiverd()
    Would start sam-stagealld()
    Would start sam-stagerd()
    Would start sam-amld()
    [server1]root@solaris:~# 
    
  8. 指示 Oracle HSM 软件重新读取 mcf 文件并相应地重新配置自身。使用命令 samd config

    [server1]root@solaris:~# samd config
    Configuring SAM-FS
    [server1]root@solaris:~# 
    
  9. 确保 samd config 已更新了 Oracle HSM 文件系统配置以包括新设备。使用命令 samcmd f

    设备应当处于 off 状态。在示例中,samcmd f 显示了新设备 103104,这两个设备都处于 off 状态:

    [server1]root@solaris:~# samcmd f
    File systems samcmd     5.4 16:57:35 Feb 27 2014
    samcmd on server1
    ty      eq   state device_name       status      high low mountpoint server
    ms     100   on    samqfsms          m----2-----  80% 70% /samqfsms          
     md     101   on   /dev/dsk/c1t3d0s3 
     md     102   on   /dev/dsk/c1t4d0s5 
     md     103   off  /dev/dsk/c1t3d0s7 
     md     104   off  /dev/dsk/c1t4d0s7 
    [server1]root@solaris:~# 
    
  10. 启用新添加的设备。针对每个设备,使用命令 samcmd add equipment-number,其中 equipment-number 是在 /etc/opt/SUNWsamfs/mcf 文件中分配给设备的设备序号。

    在示例中,启用新设备 103104

    [server1]root@solaris:~# samcmd add 103
    [server1]root@solaris:~# samcmd add 104
    
  11. 如果要向共享文件系统添加设备,请转到完成对添加到共享文件系统的新设备的配置

  12. 如果要向非共享的独立文件系统添加设备,请确保设备已添加并且已准备就绪可供文件系统使用。使用命令 samcmd m,然后检查结果。

    当设备处于 on 状态时,说明它已成功添加并准备就绪可供使用。在示例中,成功添加了设备 103104

    [server1]root@solaris:~# samcmd f
    Mass storage status samcmd     5.4 17:17:08 Feb 27 2014
    samcmd on server1
    ty   eq  status       use state  ord  capacity      free  ra  part high low
    ms   100  m----2----- 13% on            3.840G    3.588G  1M    16  80% 70%
     md   101             31% on       0  959.938M  834.250M 
     md   102             13% on       1  959.938M  834.250M
     md   103              0% on       2  959.938M  959.938M
     md   104              0% on       3  959.938M  959.938M
    [server1]root@solaris:~# 
    
  13. 在此处停止。

完成对添加到共享文件系统的新设备的配置

当向共享文件系统添加设备时,在所有文件系统主机上配置设备之前,必须执行几个额外的步骤。执行如下操作:

  1. root 用户身份登录到文件系统元数据主机。

    在示例中,元数据服务器主机名为 metadata-server

    [metadata-server]root@solaris:~# 
    
  2. 确保新设备已添加到元数据服务器。使用命令 samcmd m

    当设备处于 unavail 状态时,说明它已成功添加但尚未准备就绪可供使用。在示例中,成功添加了设备 103104

    [metadata-server]root@solaris:~# samcmd f
    Mass storage status samcmd     5.4 17:17:08 Feb 27 2014
    samcmd on metadata-server
    ty      eq  status       use state  ord   capacity     free    ra  part high low
    ms     100  m----2-----  13% on            3.840G    3.588G    1M    16  80% 70%
     md     101              31% on       0  959.938M  834.250M 
     md     102              13% on       1  959.938M  834.250M
     md     103               0% unavail  2  959.938M  959.938M
     md     104               0% unavail  3  959.938M  959.938M
    [metadata-server]root@solaris:~# 
    
  3. root 用户身份登录到每个文件系统客户机主机。

    注意要包括潜在的元数据服务器,因为它们也是客户机。在示例中,需要登录到名为 potential-metadata-server 的潜在元数据服务器和两个分别名为 client1client2Linux 的客户机。因此,打开三个终端窗口并使用安全 shell (ssh):

    [metadata-server]root@solaris:~# ssh root@potential-metadata-server
    Password:
    [potential-metadata-server]root@solaris:~# 
    [metadata-server]root@solaris:~# ssh root@client1
    Password:
    [client1]root@solaris:~# 
    [metadata-server]root@solaris:~# ssh root@client2Linux
    Password:
    [client2Linux]:[root@linux ~]# 
    
  4. 如果客户机是 Linux 客户机,请卸载共享文件系统。

    [client2Linux]:[root@linux ~]# umount /samqfsms
    
  5. 在每台客户机上,在文本编辑器中打开 /etc/opt/SUNWsamfs/mcf 文件,并在文件系统定义的末尾添加新设备,正如在服务器上所做的一样。

    在示例中,将设备 103104 添加到 client1 上的 mcf 文件中:

    [client1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment          Equipment  Equipment  Family     Device   Additional
    # Identifier         Ordinal    Type       Set        State    Parameters
    #-----------------   ---------  ---------  ---------  ------   ----------
    samqfsms             100        ms         samqfsms    on      shared
     /dev/dsk/c1t3d0s3    101        md         samqfsms    on
     /dev/dsk/c1t4d0s5    102        md         samqfsms    on
     /dev/dsk/c1t3d0s7    103        md         samqfsms    on
     /dev/dsk/c1t4d0s7    104        md         samqfsms    on
    :wq
    [metadata-server]root@solaris:~# 
    
  6. 在每台客户机上,运行 sam-fsd 命令检查 mcf 文件中是否有错误并纠正检测到的任何错误。

    [metadata-server]root@solaris:~# sam-fsd
    
  7. 在每台客户机上,指示 Oracle HSM 软件重新读取 mcf 文件并相应地配置自身:

    [metadata-server]root@solaris:~# samd config
    
  8. 如果客户机是 Linux 客户机,请挂载共享文件系统。

    [client2Linux]:[root@linux ~]# mount /samqfsms
    
  9. 在配置所有客户机后,返回到元数据服务器,并在新设备上启用存储分配。针对每个设备,使用命令 samcmd alloc equipment-number,其中 equipment-number 是在 /etc/opt/SUNWsamfs/mcf 文件中分配给设备的设备序号。

    在示例中,在设备 103104 上启用存储分配:

    [metadata-server]root@solaris:~# samcmd alloc 103
    [metadata-server]root@solaris:~# samcmd alloc 104
    
  10. 最后,确保设备已准备就绪可供文件系统使用。使用命令 samcmd m,然后检查结果。

    当设备处于 on 状态时,说明它已成功添加并准备就绪可供使用。在示例中,成功添加了设备 103104

    [metadata-server]root@solaris:~# samcmd f
    Mass storage status samcmd     5.4 17:17:08 Feb 27 2014
    samcmd on metadata-server
    ty      eq  status       use state  ord   capacity     free    ra  part high low
    ms     100  m----2-----  13% on            3.840G    3.588G    1M    16  80% 70%
     md     101              31% on       0  959.938M  834.250M 
     md     102              13% on       1  959.938M  834.250M
     md     103               0% on       2  959.938M  959.938M
     md     104               0% on       3  959.938M  959.938M
    [metadata-server]root@solaris:~# 
    
  11. 在此处停止。

向未挂载的文件系统添加设备

执行如下操作:

  1. root 用户身份登录到文件系统服务器主机。

    在示例中,元数据服务器主机名为 server1

    [server1]root@solaris:~# 
    
  2. 在卸载归档文件系统之前,必须执行使归档和回写进程闲置过程。

  3. 卸载文件系统。

    卸载文件系统之前,不要继续操作。在示例中,卸载文件系统 hsmfs1

    [server1]root@solaris:~# umount hsmfs1
    
  4. 在文本编辑器中打开 /etc/opt/SUNWsamfs/mcf 文件并找到需要扩展的文件系统。

    在示例中,使用 vi 编辑器。需要扩展 hsmfs1 文件系统:

    [server1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment           Equipment  Equipment  Family     Device   Additional
    # Identifier          Ordinal    Type       Set        State    Parameters
    #------------------   ---------  ---------  ---------  ------   ---------
    hsmfs1               100        ms         hsmfs1    on
     /dev/dsk/c1t3d0s3     101        md         hsmfs1    on
     /dev/dsk/c1t4d0s5     102        md         hsmfs1    on
    
  5. 如果要向高性能 ma 文件系统添加设备,必须随数据存储一起添加元数据存储。添加足够的附加 mm 磁盘设备,以便存储您添加的数据设备的元数据。然后保存文件并关闭编辑器。

    最多可以添加 252 个逻辑设备。在示例中,将一个 mm 元数据设备添加到 samqfs2ma 文件系统,将两个数据设备添加到 samqfs2ma 文件系统:

    [server1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment           Equipment  Equipment  Family     Device   Additional
    # Identifier          Ordinal    Type       Set        State    Parameters
    #------------------   ---------  ---------  ---------  ------   ---------
    samqfs2ma             200        ma         samqfs2ma  on
     /dev/dsk/c1t3d0s3     201        mm         samqfs2ma  on
     /dev/dsk/c1t5d0s6     204        mm         samqfs2ma  on
     /dev/dsk/c1t3d0s5     202        md         samqfs2ma  on
     /dev/dsk/c1t4d0s5     203        md         samqfs2ma  on
     /dev/dsk/c1t3d0s7     205        md         samqfs2ma  on
     /dev/dsk/c1t4dos7     206        md         samqfs2ma  on
    :wq
    [server1]root@solaris:~# 
    
  6. 如果要向通用的 ms 文件系统添加设备,请在 mcf 文件中向文件系统定义添加额外的数据/元数据设备。然后保存文件并关闭编辑器。

    最多可以添加 252 个逻辑设备。在示例中,将两个设备添加到 hsmfs1 文件系统中:

    [server1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment           Equipment  Equipment  Family     Device   Additional
    # Identifier          Ordinal    Type       Set        State    Parameters
    #------------------   ---------  ---------  ---------  ------   ---------
    hsmfs1               100        ms         hsmfs1    on
     /dev/dsk/c1t3d0s3     101        md         hsmfs1    on
     /dev/dsk/c1t4d0s5     102        md         hsmfs1    on
     /dev/dsk/c1t3d0s7     103        md         hsmfs1    on
     /dev/dsk/c1t4dos7     104        md         hsmfs1    on
    :wq
    [server1]root@solaris:~# 
    
  7. 运行 sam-fsd 命令检查 mcf 文件中是否有错误并纠正检测到的任何错误。

    sam-fsd 是一个读取 Oracle HSM 配置文件的初始化命令。该命令会在遇到以下错误时停止:

    [server1]root@solaris:~# sam-fsd
    
  8. 指示 Oracle HSM 软件重新读取 mcf 文件并相应地重新配置自身:

    root@solaris:~# samd config
    
  9. 将新设备纳入文件系统中。使用命令 samgrowfs family-set-name,其中 family-set-name/etc/opt/SUNWsamfs/mcf 文件中为文件系统指定的系列集名称。

    在示例中,增大 hsmfs1 文件系统:

    [server1]root@solaris:~# samgrowfs hsmfs1
    
  10. 重新挂载文件系统。

    [server1]root@solaris:~# mount /hsm/hsmfs1
    
  11. 如果您向归档文件系统添加了设备,请重新启动 Oracle HSM 磁带库管理守护进程。使用命令 samd start

    [server1]root@solaris:~# samd start
    
  12. 如果您在进行更改之前忘了选择卸载文件系统并因此无法挂载文件系统,请通过删除对所添加设备的引用来恢复原始 mcf 文件。然后运行 samd config 来恢复配置,卸载文件系统并从头开始。

  13. 在此处停止。

从文件系统中删除数据设备

需要时,可以从挂载的 Oracle HSM 文件系统中删除数据设备。通常,当需要更换发生故障的单元或需要释放未充分利用的设备以另作它用时,这很有必要。不过,这存在一些限制。

您只能删除数据设备。无法删除用来存储元数据的任何设备,因为元数据定义了文件系统自身的组织。这意味着您只能从高性能 ma 文件系统中删除 mdmr 和分散读写组设备。无法从 ma 文件系统中删除 mm 元数据设备。由于 md 设备既存储数据也存储元数据,因此您也无法从通用的 ms 文件系统中移除这些设备。

要删除设备,还必须有地方来移动位于目标设备上的任何有效的数据文件。这意味着您无法删除所有设备。文件系统中必须有一个设备始终保持可用,并且该设备必须有足够的空闲容量来存储位于所删除设备上的所有文件。因此,如果您需要删除一个分散读写组,则必须具有配置了相同数目的成员设备的另一个分散读写组。

要删除设备,请执行如下操作:

确保对文件系统元数据和数据进行备份

执行以下任务:

运行 samexplorer
  1. root 用户身份登录到文件系统服务器主机。

    在示例中,元数据服务器主机名为 server1

    [server1]root@solaris:~# 
    
  2. 创建一个 samexplorer 报告。使用命令 samexplorer path/hostname.YYYYMMDD.hhmmz.tar.gz,其中:

    • path 是指向选定目录的路径。

    • hostname 是 Oracle HSM 文件系统主机的名称。

    • YYYYMMDD.hhmmz 是日期和时间戳。

    默认情况下,该文件名为 /tmp/SAMreport.hostname.YYYYMMDD.hhmmz.tar.gz。在示例中,使用目录 /zfs1/tmp/,其中 /zfs1 是与 Oracle HSM 文件系统没有共用组件的文件系统(请注意,下面的命令是作为单行输入的-使用反斜杠字符对换行符进行转义):

    [server1]root@solaris:~# samexplorer \
    /zfs1/sam_config/explorer/samhost1.20140130.1659MST.tar.gz
     
         Report name:     /zfs1/sam_config/explorer/samhost1.20140130.1659MST.tar.gz
         Lines per file:  1000
         Output format:   tar.gz (default) Use -u for unarchived/uncompressed.
     
         Please wait.............................................
         Please wait.............................................
         Please wait......................................
     
         The following files should now be ftp'ed to your support provider
         as ftp type binary.
     
         /zfs1/sam_config/explorer/samhost1.20140130.1659MST.tar.gz
    
  3. 为文件系统创建恢复点文件

为文件系统创建恢复点文件
  1. root 用户身份登录到文件系统服务器主机。

    在示例中,元数据服务器主机名为 server1

    [server1]root@solaris:~# 
    
  2. 选择将用来存储恢复点文件的位置。所选择的位置不得与您要备份的文件系统共享任何设备,并且必须有空间来存储非常大的文件。

    打算删除的设备可能包含尚未归档的文件。因为这样的文件只作为单个副本存在,所以必须创建一个至少存储某些数据和元数据的恢复点文件。这会大大增加恢复点文件的大小。

    在示例中,在与 Oracle HSM 文件系统没有共用组件的文件系统 /zfs1 中创建一个子目录 tmp/

    [server1]root@solaris:~# mkdir /zfs1/tmp/
    [server1]root@solaris:~# 
    
  3. 转到文件系统的根目录。

    在示例中,转到挂载点目录 /hsm/hsmfs1

    [server1]root@solaris:~# cd /hsm/hsmfs1
    [server1]root@solaris:~# 
    
  4. 备份文件系统元数据和任何未归档的数据。使用命令 samfsdump -f -u recovery-point,其中 recovery-point 是已完成的恢复点文件的路径和文件名。

    请注意,-u 选项将未归档文件的数据部分添加到恢复点。这会大大增加该文件的大小。

    在示例中,为目录 /zfs1/tmp/ 中名为 hsmfs1-20140313.025215hsmfs1 文件系统创建了恢复点文件。我们使用命令 ls -l 检查结果(请注意,下面的第二条命令是作为单行输入的-使用反斜杠字符对换行符进行转义):

    [server1]root@solaris:~# cd /hsm/hsmfs1
    [server1]root@solaris:~# samfsdump -f \
    /zfs1/tmp/hsm/hsmfs1-`date '+%Y%m%d.%H%M%S'` -T /hsm/hsmfs1
    samfsdump statistics:
        Files:              10010
        Directories:        2
        Symbolic links:     0
        Resource files:     0
        Files as members of hard links :    0
        Files as first hard link :  0
        File segments:      0
        File archives:      10010
        Damaged files:      0
        Files with data:    0
        File  warnings:     0
        Errors:             0
        Unprocessed dirs:   0
        File data bytes:    0
    [server1]root@solaris:~# ls -l /zfs1/tmp/hsmfs1*
    -rw-r--r-- 1 root other 5376517 Mar 13 02:52 /zfs1/tmp/hsm/hsmfs1-20140313.025215
    [server1]root@solaris:~# 
    
  5. 现在,从已挂载的高性能文件系统中删除设备

从已挂载的高性能文件系统中删除设备

一次只能删除一个设备。针对每个设备,执行如下操作:

  1. root 用户身份登录到文件系统服务器主机。

    在示例中,元数据服务器主机名为 server1

    [server1]root@solaris:~# 
    
  2. 打开 /etc/opt/SUNWsamfs/mcf 文件,并记录需要移除的设备的设备序号。

    在示例中,使用 vi 编辑器。需要从 hsmfs1 文件系统的设备列表中删除设备 /dev/dsk/c1t4d0s7。设备序号为 104

    [server1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment          Equipment  Equipment  Family     Device   Additional
    # Identifier         Ordinal    Type       Set        State    Parameters
    #-----------------   ---------  ---------  ---------  ------   --------------
    hsmfs1              100        ms         hsmfs1    on
     /dev/dsk/c1t3d0s3    101        md         hsmfs1    on
     /dev/dsk/c1t4d0s5    102        md         hsmfs1    on
     /dev/dsk/c1t3d0s7    103        md         hsmfs1    on
     /dev/dsk/c1t4d0s7    104        md         hsmfs1    on
    :q
    [server1]root@solaris:~# 
    
  3. 在尝试删除某个设备之前,请确保文件系统中的剩余设备可以接受必须从您要删除的设备中移走的文件。

    • 确保剩余设备具有足够的容量。

    • 如果设备是一个分散读写组,请确保文件系统包含具有等效配置的另一个分散读写组。

      例如,如果您打算删除的分散读写组具有四个设备成员,则您必须具有处于 ON 状态并且有四个设备成员的另一个分散读写组。

  4. 确保您打算修改的文件系统具有一个 2A 版超级块。使用命令 samfsinfo filesystem-name,其中 filesystem-name 是文件系统的名称。

    在示例中,文件系统 hsmfs1 使用一个 2A 版超级块:

    [server1]root@solaris:~# /opt/SUNWsamfs/sbin/samfsinfo hsmfs1
    samfsinfo: filesystem hsmfs1 is mounted.
    name:     hsmfs1       version:     2A          
    time:     Tuesday, June 28, 2011  6:07:36 AM MDT
    feature:  Aligned Maps
    count:    4
    ...
    [server1]root@solaris:~# 
    
  5. 如果文件系统没有 2A 版超级块,请在此处停止。当此文件系统处于已挂载状态时,无法删除设备。

  6. 如果要从 Oracle HSM 归档文件系统中删除设备,请从要删除的磁盘设备中释放所有已归档的文件。使用命令 samcmd release equipment-number,其中 equipment-number/etc/opt/SUNWsamfs/mcf 文件中标识该设备的设备序号。

    如果设备是一个分散读写组,请提供该组中任何设备的设备编号。

    Oracle HSM 软件将指定设备的状态更改为 noalloc(不分配),以便不在其上存储新文件,并开始释放以前归档的文件。在设备不包含未归档的文件之后,软件将从文件系统配置中删除设备并将其状态更改为 off

    在示例中,释放归档文件系统 hsmfs1 中设备 104 中的文件:

    [server1]root@solaris:~# samcmd release 104
    
  7. 如果要从 Oracle HSM 非归档文件系统中删除设备,请将所有剩余的有效文件从您要删除的磁盘设备中移走。使用命令 samcmd remove equipment-number,其中 equipment-number/etc/opt/SUNWsamfs/mcf 文件中标识该设备的设备序号。

    Oracle HSM 软件将指定设备的状态更改为 noalloc(不分配),以便不在其上存储新文件,并开始将包含有效数据的文件移到文件系统中的剩余设备。在移走所有文件后,软件将从文件系统配置中删除设备并将其状态更改为 off

    在示例中,将文件从设备 104 移走:

    [server1]root@solaris:~# samcmd remove 104
    
  8. 监视选定的进程 samcmd removesamcmd release 的进度。使用命令 samcmd m 并/或查看日志文件和 /var/opt/SUNWsamfs/trace/sam-shrink 文件。

    如果所有文件都已归档,则 release 进程可以相当快地完成,因为它只是释放与已复制到归档介质的文件相关的空间。根据数据量和文件数目,remove 进程可能会花费相当长的时间,因为它必须在磁盘设备之间移动文件。

    [server1]root@solaris:~# samcmd m
    ty     eq  status       use state  ord  capacity      free    ra  part high low
    ms     100 m----2-----  27% on            3.691G    2.628G    1M    16  80% 70%
     md     101              27% on       0  959.938M  703.188M
     md     102              28% on       1  899.938M  646.625M
     md     103              13% on       2  959.938M  834.250M
     md     104               0% noalloc  3  959.938M  959.938M
    [server1]root@solaris:~# 
    
  9. 如果您使用 samcmd release 并且目标设备没有进入 off 状态,则表明设备上有未归档的文件。请等待归档程序运行并完成归档。然后再次使用命令 samcmd release。可以使用命令 samcmd a 检查归档操作的进度。

    在未归档的文件归档之前,release 进程无法释放磁盘空间。

    [server1]root@solaris:~# samcmd a
    Archiver status samcmd     5.4 14:12:14 Mar  1 2014
    samcmd on server1
    sam-archiverd:  Waiting for resources
    sam-arfind:  hsmfs1  mounted at /hsm/hsmfs1
    Files waiting to start          4   schedule          2   archiving          2
    [server1]root@solaris:~# 
    
  10. 如果 samcmd release 因为一个或多个未归档的文件无法归档而失败,请将未归档的文件移到另一设备。使用命令 samcmd remove equipment-number,正如从非归档独立文件系统删除设备时一样。

    在示例中,将文件从设备 104 移走:

    [server1]root@solaris:~# samcmd remove 104
    
  11. 在设备状态变为 off 之后,在文本编辑器中打开 /etc/opt/SUNWsamfs/mcf 文件,找到该文件系统,并更新设备列表以反映更改。保存文件并关闭编辑器。

    在本示例中,samcmd m 显示 104 处于 off 状态。因此,使用 vi 编辑器打开 mcf 文件。随后从 hsmfs1 文件系统的设备列表中删除设备 104 的条目并保存更改:

    [server1]root@solaris:~# samcmd m
    ty      eq  status       use state  ord  capacity      free    ra  part high low
    ms     100  m----2-----  27% on            3.691G    2.628G    1M    16  80% 70%
     md     101              27% on       0  959.938M  703.188M
     md     102              28% on       1  899.938M  646.625M
     md     103              13% on       2  959.938M  834.250M
     md     104               0% off      3  959.938M  959.938M
    [server1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment          Equipment  Equipment  Family     Device   Additional
    # Identifier         Ordinal    Type       Set        State    Parameters
    #-----------------   ---------  ---------  ---------  ------   ---------
    hsmfs1              100        ms         hsmfs1    on
     /dev/dsk/c1t3d0s3    101        md         hsmfs1    on
     /dev/dsk/c1t4d0s5    102        md         hsmfs1    on
     /dev/dsk/c1t3d0s7    103        md         hsmfs1    on
    :wq
    [server1]root@solaris:~# 
    
  12. 运行 sam-fsd 命令检查修改后的 mcf 文件中是否有错误并纠正检测到的任何错误。

    如果遇到错误,sam-fsd 命令将停止:

    [server1]root@solaris:~# sam-fsd
    
  13. 指示 Oracle HSM 软件重新读取 mcf 文件并相应地重新配置自身:

    [server1]root@solaris:~# samd config
    
  14. 在此处停止。

管理 Oracle HSM 共享文件系统

本节概述以下任务:

挂载和卸载共享文件系统

当您挂载或卸载共享文件系统时,元数据服务器和客户机的安装或卸载顺序非常重要。

为了便于故障转移,元数据服务器和所有潜在元数据服务器上的挂载选项应相同。例如,您可以创建包含挂载选项的 samfs.cmd 文件,并将该文件复制到所有主机。

有关挂载共享文件系统的更多信息,请参见 mount_samfs 手册页。

挂载共享文件系统

  1. root 用户身份登录到 Oracle HSM 元数据服务器和客户机主机。

    在示例中,登录到 sharefs 文件系统的元数据服务器主机 sharefs-mds。然后我们针对每个客户机(sharefs-client1sharefs-client2)打开一个终端窗口。我们使用 ssh(Secure Shell,安全 Shell)进行登录:

    [sharefs-mds]root@solaris:~# ssh root@sharefs-client1
    Password: 
    [sharefs-client1]root@solaris:~# 
    
    [sharefs-mds]root@solaris:~# ssh root@sharefs-client2
    Password: 
    [sharefs-client2]root@solaris:~# 
    
  2. 如果文件系统在 Solaris /etc/vfstab 文件中有一个条目,请使用命令 mount mountpoint 在元数据服务器主机上挂载共享文件系统,其中 mountpoint 是主机的根文件系统上的挂载点目录。

    请始终先在元数据服务器主机上挂载文件系统,然后再在客户机上挂载文件系统。

    在示例中,sharefs 文件系统在 /etc/vfstab 文件中具有以下条目:

    sharefs   -         /sharefs  samfs   -     no       shared
    

    因此,可以通过仅提供挂载点参数来挂载文件系统:

    [sharefs-mds]root@solaris:~# mount /sharefs
    [sharefs-mds]root@solaris:~# 
    
  3. 如果文件系统在 Solaris /etc/vfstab 文件中没有条目,请使用命令 mount -F samfs -o shared mountpoint 在元数据服务器主机上挂载共享文件系统,其中 mountpoint 是主机的根文件系统上的挂载点目录。

    请始终先在元数据服务器主机上挂载文件系统,然后再在客户机上挂载文件系统。

    在示例中,sharefs 文件系统在 /etc/vfstab 文件中没有条目:

    [sharefs-mds]root@solaris:~# mount -F samfs -o shared /sharefs
    [sharefs-mds]root@solaris:~# 
    
  4. 如果文件系统在 Solaris /etc/vfstab 文件中有一个条目,请使用命令 mount mountpoint 在每台客户机主机上挂载共享文件系统,其中 mountpoint 是主机的根文件系统上的挂载点目录。

    您可以按照任意顺序在不同客户机主机上挂载文件系统。

    [sharefs-client1]root@solaris:~# mount /sharefs
    [sharefs-client1]root@solaris:~#  
    
    [sharefs-client2]root@solaris:~# mount /sharefs
    [sharefs-client2]root@solaris:~# 
    
  5. 如果文件系统在 Solaris /etc/vfstab 文件中没有条目,请使用命令 mount -F samfs -o shared mountpoint 在每个客户机主机上挂载共享文件系统,其中 mountpoint 是主机的根文件系统上的挂载点目录。

    您可以按照任意顺序在不同客户机主机上挂载文件系统。

    [sharefs-client1]root@solaris:~# mount -F samfs -o shared /sharefs
    [sharefs-client1]root@solaris:~# 
    
    [sharefs-client2]root@solaris:~# mount -F samfs -o shared /sharefs
    [sharefs-client2]root@solaris:~# 
    
  6. 在此处停止。

卸载共享文件系统

  1. root 用户身份登录到 Oracle HSM 元数据服务器和客户机主机。

    在示例中,登录到 sharefs 文件系统的元数据服务器主机 sharefs-mds。然后打开每台客户机(sharefs-client1sharefs-client2)的终端窗口,并使用 ssh(安全 Shell)登录:

    [sharefs-mds]root@solaris:~# ssh root@sharefs-client1
    Password: 
    [sharefs-client1]root@solaris:~# 
    
    [sharefs-mds]root@solaris:~# ssh root@sharefs-client2
    Password: 
    [sharefs-client2]root@solaris:~# 
    
  2. 如果通过 NFS 或 SAMBA 共享文件系统,请先取消文件系统共享,然后再卸载文件系统。在元数据服务器上,使用命令 unshare mount-point,其中 mount-point 是 Oracle HSM 文件系统的挂载点目录。

    [sharefs-mds]root@solaris:~# unshare /sharefs
    [sharefs-mds]root@solaris:~# 
    
  3. 从每台客户机卸载 Oracle HSM 共享文件系统。使用命令 umount mount-point,其中 mount-point 是 Oracle HSM 文件系统的挂载点目录。

    有关进一步的详细信息,请参见 umount_samfs 手册页。在示例中,从两台客户机(sharefs-client1sharefs-client2)中卸载 /sharedqfs1

    [sharefs-client1]root@solaris:~# umount /sharefs
    [sharefs-client1]root@solaris:~# exit
    [sharefs-mds]root@solaris:~# 
    
    [sharefs-client2]root@solaris:~# umount /sharefs
    [sharefs-client1]root@solaris:~# exit
    [sharefs-mds]root@solaris:~# 
    
  4. 从元数据服务器中卸载 Oracle HSM 共享文件系统。使用命令 umount -o await_clients=interval mount-point,其中 mount-point 是 Oracle HSM 文件系统的挂载点目录,interval-o await_clients 选项延迟执行的秒数。

    在 Oracle HSM 共享文件系统的元数据服务器上发出 umount 命令时,-o await_clients 选项使 umount 等待指定的秒数,以便客户机有时间卸载共享资源。如果您卸载非共享文件系统或者在 Oracle HSM 客户机上发出该命令,则该选项不起作用。有关进一步的详细信息,请参见 umount_samfs 手册页。

    在示例中,从服务器卸载 /sharefs 文件系统,从而允许客户机在 60 秒内卸载:

    [sharefs-mds]root@solaris:~# umount -o await_clients=60 /sharefs
    [sharefs-mds]root@solaris:~# 
    
  5. 在此处停止。

更改共享文件系统的主机配置

本节提供有关将额外的主机配置为共享文件系统的客户机和有关取消配置现有客户机的说明。其中包括以下几节:

配置额外的文件系统客户机

向共享文件系统添加客户机主机的过程包括三个部分:

在共享文件系统配置中添加主机信息
  1. root 用户身份登录到 Oracle HSM 元数据服务器。

    在示例中,Oracle HSM 共享文件系统是 sharefs,元数据服务器主机是 sharefs-mds

    [sharefs-mds]root@solaris:~# 
    
  2. 备份文件 /etc/opt/SUNWsamfs/hosts.filesystem,其中 filesystem 是要在其中添加客户机主机的文件系统的名称。

    请注意,下面的命令是作为单行输入的-使用反斜杠字符对换行符进行转义:

    [sharefs-mds]root@solaris:~# cp /etc/opt/SUNWsamfs/hosts.sharefs \ /etc/opt/SUNWsamfs/hosts.sharefs.bak
    
  3. 如果共享文件系统已挂载,请从活动元数据服务器运行命令 samsharefs filesystem,并将输出重定向到文件 /etc/opt/SUNWsamfs/hosts.filesystem,其中 filesystem 是您要向其添加客户机主机的文件系统的名称。

    samsharefs 命令显示 Oracle HSM 共享文件系统的主机配置。将输出重定向到文件会创建一个新的 hosts 文件(请注意,下面的命令是作为单行输入的-使用反斜杠字符对换行符进行转义):

    [sharefs-mds]root@solaris:~# samsharefs sharedqfs1 > \ /etc/opt/SUNWsamfs/hosts.sharedqfs1
    
  4. 如果共享文件系统未挂载,请从活动或潜在的元数据服务器运行命令 samsharefs -R filesystem,并将输出重定向到文件 /etc/opt/SUNWsamfs/hosts.filesystem,其中 filesystem 是您要向其添加客户机主机的文件系统的名称。

    只能从活动元数据服务器或潜在元数据服务器上运行 samsharefs -R 命令(有关更多详细信息,请参见 samsharefs 手册页)。samsharefs 命令显示 Oracle HSM 共享文件系统的主机配置。将输出重定向到文件会创建一个新的 hosts 文件。在本示例中,我们从元数据服务器 sharefs-mds 运行命令(请注意,下面的命令是作为单行输入的-使用反斜杠字符对换行符进行转义):

    [sharefs-mds]root@solaris:~# samsharefs -R sharedqfs1 \
    > /etc/opt/SUNWsamfs/hosts.sharedqfs1
    
  5. 在文本编辑器中打开新创建的 hosts 文件。

    在示例中,使用 vi 编辑器。主机配置包括活动元数据服务器 sharefs-mds、一台同时也是潜在元数据服务器的客户机 sharefs-mds_alt 以及其他两个客户机 sharefs-client1sharefs-client2

    [sharefs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.sharefs
    #                                             Server   On/  Additional
    #Host Name            Network Interface       Ordinal  Off  Parameters
    #------------------   ----------------------  -------  ---  ----------
    sharefs-mds           10.79.213.117           1        0    server 
    sharefs-mds_alt       10.79.213.217           2        0   
    sharefs-client1       10.79.213.133           0        0
    sharefs-client2       10.79.213.47            0        0
    
  6. 在 hosts 文件中,为新的客户机主机添加一行,保存文件,然后关闭编辑器。

    在示例中,为主机 sharefs-client3 添加一个条目:

    [sharefs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.sharefs
    #                                             Server   On/  Additional
    #Host Name            Network Interface       Ordinal  Off  Parameters
    #------------------   ----------------------  -------  ---  ----------
    sharefs-mds           10.79.213.117           1        0    server 
    sharefs-mds_alt       10.79.213.217           2        0   
    sharefs-client1       10.79.213.133           0        0
    sharefs-client2       10.79.213.47            0        0
    sharefs-client3       10.79.213.49            0        0
    :wq
    [sharefs-mds]root@solaris:~# 
    
  7. 如果已挂载文件系统,请从活动元数据服务器更新文件系统。使用命令 samsharefs -u filesystem,其中 filesystem 是要在其中添加客户机主机的文件系统的名称。

    samsharefs 命令将重新读取修改后的 hosts 文件并更新配置:

    [sharefs-mds]root@solaris:~# samsharefs -u sharefs1
    
  8. 如果未挂载文件系统,请从活动或潜在元数据服务器更新文件系统。使用命令 samsharefs -R -u filesystem,其中 filesystem 是要在其中添加客户机主机的文件系统的名称。

    samsharefs 命令将重新读取修改后的 hosts 文件并更新配置:

    [sharefs-mds]root@solaris:~# samsharefs -R -u sharefs1
    
  9. 如果要将 Solaris 主机添加为客户机,请转到在 Solaris 客户机上配置共享文件系统

  10. 如果要将 Linux 主机添加为客户机,请转到在 Linux 客户机主机上配置共享文件系统

在 Solaris 客户机上配置共享文件系统
  1. 在共享文件系统客户机上,以 root 用户身份登录。

    在示例中,Oracle HSM 共享文件系统是 sharefs,客户机主机是 sharefs-client1

    [sharefs-client1]root@solaris:~# 
    
  2. 在终端窗口中,检索共享文件系统的配置信息。使用命令 samfsconfig device-path,其中 device-path 是命令应当从其开始搜索文件系统磁盘设备的位置(例如 /dev/dsk/*/dev/zvol/dsk/rpool/*)。

    [sharefs-client1]root@solaris:~# samfsconfig /dev/dsk/*
    
  3. 如果主机对文件系统的元数据设备具有访问权限并因此适合用作潜在的元数据服务器,则 samfsconfig 输出非常类似于您在文件系统元数据服务器上创建的 mcf 文件。

    在我们的示例中,主机 sharefs-client1 对元数据设备(设备类型为 mm)具有访问权限,因此,命令输出将显示服务器 sharefs-mds 上的 mcf 文件中列出的相同设备。只有主机分配的设备控制器编号不同:

    [sharefs-client1]root@solaris:~# samfsconfig /dev/dsk/*
    # Family Set 'sharefs' Created Thu Feb 21 07:17:00 2013
    # Generation 0 Eq count 4 Eq meta count 1
    sharefs             300         ma         sharefs   - 
    /dev/dsk/c1t0d0s0    301         mm         sharefs   -
    /dev/dsk/c1t3d0s0    302         mr         sharefs   -
    /dev/dsk/c1t3d0s1    303         mr         sharefs   -
    
  4. 如果主机对文件系统的元数据设备没有访问权限,则 samfsconfig 命令无法找到元数据设备,因此无法将它发现的 Oracle HSM 设备纳入文件系统配置中。命令输出在 Missing Slices 下列出了 Ordinal 0(元数据设备),未包括标识文件系统系列集的行,并且注释掉了数据设备的列表。

    在示例中,主机 sharefs-client2 仅对数据设备具有访问权限。因此,samfsconfig 输出类似于以下内容:

    [sharefs-client2]root@solaris:~# samfsconfig /dev/dsk/*
    # Family Set 'sharefs' Created Thu Feb 21 07:17:00 2013
    # Missing slices
    # Ordinal 0
    # /dev/dsk/c4t3d0s0    302         mr         sharefs   -
    # /dev/dsk/c4t3d0s1    303         mr         sharefs   -
    
  5. samfsconfig 输出复制共享文件系统的条目。然后,在另一个窗口中,在文本编辑器中打开 /etc/opt/SUNWsamfs/mcf 文件,并将复制的条目粘贴到文件中。

    在第一个示例中,主机 sharefs-client1 对文件系统的元数据设备具有访问权限,因此,mcf 文件起初类似于以下内容:

    [sharefs-client1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment         Equipment  Equipment  Family     Device   Additional
    # Identifier        Ordinal    Type       Set        State    Parameters
    #----------------   ---------  ---------  ---------  ------   ---------------
    sharefs             300        ma         sharefs    -
    /dev/dsk/c1t0d0s0   301        mm         sharefs    -
    /dev/dsk/c1t3d0s0   302        mr         sharefs    -
    /dev/dsk/c1t3d0s1   303        mr         sharefs    -
    

    在第二个示例中,主机 sharefs-client2 对文件系统的元数据设备没有访问权限,因此,mcf 文件起初类似于以下内容:

    [sharefs-client2]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment         Equipment  Equipment  Family     Device   Additional
    # Identifier        Ordinal    Type       Set        State    Parameters
    #----------------   ---------  ---------  ---------  ------   ---------------
    # /dev/dsk/c4t3d0s0   302         mr         sharefs   -
    # /dev/dsk/c4t3d0s1   303         mr         sharefs   -
    
  6. 如果主机对文件系统的元数据设备具有访问权限,请将 shared 参数添加到共享文件系统条目的 Additional Parameters 字段中。

    在第一个示例中,主机 sharefs-client1 对元数据具有访问权限:

    [sharefs-client1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment         Equipment  Equipment  Family     Device   Additional
    # Identifier        Ordinal    Type       Set        State    Parameters
    #----------------   ---------  ---------  ---------  ------   ---------------
    sharefs             300        ma         sharefs    -        shared
    /dev/dsk/c1t0d0s0   301        mm         sharefs    -
    /dev/dsk/c1t3d0s0   302        mr         sharefs    -
    /dev/dsk/c1t3d0s1   303        mr         sharefs    -
    
  7. 如果主机对文件系统的元数据设备没有访问权限,请为共享文件系统添加一行并包括 shared 参数

    [sharefs-client2]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment         Equipment  Equipment  Family     Device   Additional
    # Identifier        Ordinal    Type       Set        State    Parameters
    #----------------   ---------  ---------  ---------  ------   ---------------
    sharefs             300        ma         sharefs    -        shared
    # /dev/dsk/c4t3d0s0   302         mr         sharefs   -       
    # /dev/dsk/c4t3d0s1   303         mr         sharefs   -
    
  8. 如果主机对文件系统的元数据设备没有访问权限,请为元数据设备添加一行。将 Equipment Identifier 字段设置为 nodev无设备),将其余字段设置为它们在元数据服务器上的同一值:

    [sharefs-client2]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment         Equipment  Equipment  Family     Device   Additional
    # Identifier        Ordinal    Type       Set        State    Parameters
    #----------------   ---------  ---------  ---------  ------   ---------------
    sharefs             300         ma        sharefs    on       shared
    nodev               301         mm        sharefs    on 
    # /dev/dsk/c4t3d0s0   302        mr         sharefs    -
    # /dev/dsk/c4t3d0s1   303        mr         sharefs    -
    
  9. 如果主机对文件系统的元数据设备没有访问权限,请取消注释数据设备的条目。

    [sharefs-client2]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment         Equipment  Equipment  Family     Device   Additional
    # Identifier        Ordinal    Type       Set        State    Parameters
    #----------------   ---------  ---------  ---------  ------   ---------------
    sharefs             300        ma         sharefs    on       shared
    nodev               301        mm         sharefs    on 
    /dev/dsk/c4t3d0s0   302        mr         sharefs    - 
    /dev/dsk/c4t3d0s1   303        mr         sharefs    - 
    
  10. 确保所有设备的 Device State 字段设置为 on,保存 mcf 文件并关闭编辑器。

    在第一个示例中,主机 sharefs-client1 对文件系统的元数据设备具有访问权限,因此,mcf 文件最终类似于以下内容:

    [sharefs-client1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment         Equipment  Equipment  Family     Device   Additional
    # Identifier        Ordinal    Type       Set        State    Parameters
    #----------------   ---------  ---------  ---------  ------   ---------------
    sharefs             300        ma         sharefs    on       shared
    /dev/dsk/c1t0d0s0   301        mm         sharefs    on 
    /dev/dsk/c1t3d0s0   302        mr         sharefs    on 
    /dev/dsk/c1t3d0s1   303        mr         sharefs    on 
    :wq
    [sharefs-client1]root@solaris:~# 
    

    在第二个示例中,主机 sharefs-client2 对文件系统的元数据设备没有访问权限,因此,mcf 文件最终类似于以下内容:

    [sharefs-client2]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment         Equipment  Equipment  Family     Device   Additional
    # Identifier        Ordinal    Type       Set        State    Parameters
    #----------------   ---------  ---------  ---------  ------   ---------------
    sharefs               300         ma        sharefs    on       shared
    nodev                 301         mm        sharefs    on 
    /dev/dsk/c4t3d0s0     302         mr        sharefs    on 
    /dev/dsk/c4t3d0s1     303         mr        sharefs    on 
    :wq
    [sharefs-client2]root@solaris:~# 
    
  11. 运行 sam-fsd 命令检查 mcf 文件中是否有错误并更正发现的任何错误。

    sam-fsd 是一个读取 Oracle HSM 配置文件的初始化命令。如果遇到错误,该命令将停止。在示例中,检查 sharefs-client1 上的 mcf 文件:

    [sharefs-client1]root@solaris:~# sam-fsd
    
  12. 接着,在 Solaris 主机上挂载共享文件系统

在 Solaris 主机上挂载共享文件系统
  1. 在共享文件系统主机上,以 root 用户身份登录。

    在示例中,Oracle HSM 共享文件系统是 sharefs,主机是名为 sharefs-client1 的客户机:

    [sharefs-client1]root@solaris:~# 
    
  2. 备份操作系统的 /etc/vfstab 文件。

    [sharefs-client1]root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
    
  3. 在文本编辑器中打开 /etc/vfstab 文件,并为共享文件系统添加一行。

    在示例中,在 vi 文本编辑器中打开文件并为 sharefs 系列集设备添加一行:

    [sharefs-client1]root@solaris:~# vi /etc/vfstab
    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  ------------------------
    /devices   -        /devices  devfs   -     no       -
    /proc      -        /proc     proc    -     no       -
    ...
    sharefs    -        /sharefs  samfs   -     no
    
  4. 要将文件系统作为共享文件系统挂载到客户机上,请在共享文件系统 vfstab 条目的 Mount Options 列中输入 shared 选项。

    如果希望当前客户机将共享文件系统 sharefs 挂载为只读的,则按下例中所示编辑 vfstab 条目:

    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  ------------------------
    /devices   -        /devices  devfs   -     no       -
    /proc      -        /proc     proc    -     no       -
    ...
    sharefs    -        /sharefs  samfs   -     no       shared
    
  5. 使用逗号作为分隔符添加所需的任何其他挂载选项,并对 /etc/vfstab 文件进行所需的任何其他更改。然后,保存 /etc/vfstab 文件。

    在示例中,未添加任何额外的挂载选项:

    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    /proc      -        /proc     proc    -     no       -
    ...
    sharefs    -        /sharefs  samfs   -     no       shared
    :wq
    [sharefs-client1]root@solaris:~# 
    
  6. 创建在 /etc/vfstab 文件中指定的挂载点,并为挂载点设置访问权限。

    挂载点权限必须与元数据服务器上的权限相同,并与所有其他客户机保持一致。用户必须具有执行 (x) 权限才能转到挂载点目录并访问挂载的文件系统中的文件。在示例中,创建 /sharefs 挂载点目录并将权限设置为 755 (-rwxr-xr-x):

    [sharefs-client1]root@solaris:~# mkdir /sharefs
    [sharefs-client1]root@solaris:~# chmod 755 /sharefs
    [sharefs-client1]root@solaris:~# 
    
  7. 挂载共享文件系统:

    [sharefs-client1]root@solaris:~# mount /sharefs
    [sharefs-client1]root@solaris:~# 
    
  8. 如果要将潜在的元数据服务器主机添加为分布式磁带 I/O 数据移动器,请转到为分布式磁带 I/O 配置数据移动器客户机

  9. 在此处停止。

在 Linux 客户机主机上配置共享文件系统
  1. 在 Linux 客户机上,以 root 用户身份登录。

    在示例中,Oracle HSM 共享文件系统是 sharefs,主机是名为 sharefs-clientL 的 Linux 客户机:

    [sharefs-clientL][root@linux ~]# 
    
  2. 在终端窗口中,使用 samfsconfig device-path 命令检索共享文件系统的配置信息,其中 device-path 是命令应当从其开始搜索文件系统磁盘设备的位置(例如 /dev/*)。

    因为 Linux 主机对文件系统的元数据设备没有访问权限,samfsconfig 命令无法找到元数据设备,因此无法将其发现的 Oracle HSM 设备纳入文件系统配置中。命令输出在 Missing Slices 下列出了 Ordinal 0(元数据设备),未包括标识文件系统系列集的行,并且注释掉了数据设备的列表。

    在示例中,Linux 主机 sharefs-clientLsamfsconfig 输出类似于以下内容:

    [sharefs-clientL][root@linux ~]# samfsconfig /dev/*
    # Family Set 'sharefs' Created Thu Feb 21 07:17:00 2013
    #
    # Missing slices
    # Ordinal 0
    # /dev/sda4            302         mr         sharefs   -
    # /dev/sda5            303         mr         sharefs   -
    
  3. samfsconfig 输出复制共享文件系统的条目。然后,在另一个窗口中,在文本编辑器中打开 /etc/opt/SUNWsamfs/mcf 文件,并将复制的条目粘贴到文件中。

    在示例中,Linux 主机 sharefs-clientL 上的 mcf 文件起初类似于以下内容:

    [sharefs-clientL][root@linux ~]# vi /etc/opt/SUNWsamfs/mcf
    # Equipment           Equipment  Equipment  Family     Device   Additional
    # Identifier          Ordinal    Type       Set        State    Parameters
    #------------------   ---------  ---------  ---------  ------   -------------
    # /dev/sda4             302        mr         sharefs   -
    # /dev/sda5             303        mr         sharefs   -
    
  4. mcf 文件中,为共享文件系统插入一行并包括 shared 参数。

    # Equipment           Equipment  Equipment  Family     Device   Additional
    # Identifier          Ordinal    Type       Set        State    Parameters
    #------------------   ---------  ---------  ---------  ------   -------------
    sharefs               300        ma         sharefs    -        shared
    # /dev/sda4            302         mr         sharefs   -
    # /dev/sda5            303         mr         sharefs   -
    
  5. mcf 文件中,为文件系统的元数据设备插入行。因为 Linux 主机对元数据设备没有访问权限,因此将 Equipment Identifier 字段设置为 nodev无设备),将其余字段设置为它们在元数据服务器上的同一值:

    # Equipment           Equipment  Equipment  Family     Device   Additional
    # Identifier          Ordinal    Type       Set        State    Parameters
    #------------------   ---------  ---------  ---------  ------   -------------
    sharefs               300         ma        sharefs    on       shared
    nodev                 301         mm        sharefs    on 
    # /dev/sda4            302         mr         sharefs   -
    # /dev/sda5            303         mr         sharefs   -
    
  6. mcf 文件中,取消注释 Linux 数据设备的条目。

    # Equipment           Equipment  Equipment  Family     Device   Additional
    # Identifier          Ordinal    Type       Set        State    Parameters
    #------------------   ---------  ---------  ---------  ------   -------------
    sharefs               300        ma        sharefs     on       shared
    nodev                 301        mm        sharefs     on 
    /dev/sda4             302        mr        sharefs     -
    /dev/sda5             303        mr        sharefs     -
    
  7. 确保所有设备的 Device State 字段设置为 on,保存 mcf 文件。

    # Equipment           Equipment  Equipment  Family     Device   Additional
    # Identifier          Ordinal    Type       Set        State    Parameters
    #------------------   ---------  ---------  ---------  ------   -------------
    sharefs               300        ma         sharefs    on       shared
    nodev                 301        mm         sharefs    on 
    /dev/sda4             302        mr         sharefs    on 
    /dev/sda5             303        mr         sharefs    on 
    :wq
    [sharefs-clientL][root@linux ~]# 
    
  8. 运行 sam-fsd 命令检查 mcf 文件中是否有错误并更正发现的任何错误。

    sam-fsd 是一个读取 Oracle HSM 配置文件的初始化命令。如果遇到错误,该命令将停止。在示例中,检查 Linux 客户机 sharefs-clientL 上的 mcf 文件:

    [sharefs-clientL][root@linux ~]# sam-fsd
    
  9. 现在,在 Linux 主机上挂载共享文件系统

在 Linux 客户机主机上挂载共享文件系统
  1. 在 Linux 客户机上,以 root 用户身份登录。

    在示例中,Oracle HSM 共享文件系统是 sharefs,主机是名为 sharefs-clientL 的 Linux 客户机:

    [sharefs-clientL][root@linux ~]# 
    
  2. 备份操作系统的 /etc/fstab 文件。

    [sharefs-clientL][root@linux ~]# cp /etc/fstab /etc/fstab.backup
    
  3. 在文本编辑器中打开 /etc/fstab 文件,并为共享文件系统添加一行。

    在示例中,使用 vi 文本编辑器为 sharefs 系列集设备添加一行:

    [sharefs-clientL][root@linux ~]# vi /etc/fstab
    #File
    #Device    Mount    System    Mount                      Dump      Pass
    #to Mount  Point    Type      Options                    Frequency Number
    #--------  -------  --------  -------------------------  --------- ------ 
    ...    
    /proc      /proc     proc     defaults 
    sharefs    /sharefs  samfs
    
  4. 在文件的第四列中,添加必需的 shared 挂载选项。

    [sharefs-clientL][root@linux ~]# vi /etc/fstab
    #File
    #Device    Mount    System    Mount                      Dump      Pass
    #to Mount  Point    Type      Options                    Frequency Number
    #--------  -------  --------  -------------------------  --------- ------ 
    ...    
    /proc      /proc     proc     defaults 
    sharefs    /sharefs  samfs    shared
    
  5. 在文件的第四列中,使用逗号作为分隔符添加所需的任何其他挂载选项。

    Linux 客户机支持以下其他挂载选项:

    • rwro

    • retry

    • meta_timeo

    • rdleasewrleaseaplease

    • minallocszmaxallocsz

    • noautoauto

    在示例中,添加选项 noauto

    #File
    #Device    Mount    System    Mount                      Dump      Pass
    #to Mount  Point    Type      Options                    Frequency Number
    #--------  -------  --------  -------------------------  --------- ------ 
    ...    
    /proc      /proc     proc     defaults 
    sharefs    /sharefs  samfs    shared,noauto           
     
    
  6. 在文件的其余两列中输入零 (0)。然后,保存 /etc/fstab 文件。

    #File
    #Device    Mount    System    Mount                      Dump      Pass
    #to Mount  Point    Type      Options                    Frequency Number
    #--------  -------  --------  -------------------------  --------- ------ 
    ...    
    /proc      /proc     proc     defaults 
    sharefs    /sharefs  samfs    shared,noauto              0         0        
    :wq
    [sharefs-clientL][root@linux ~]# 
    
  7. 创建 /etc/fstab 文件中指定的挂载点,并为挂载点设置访问权限。

    挂载点权限必须与元数据服务器上的权限相同,并与所有其他客户机保持一致。用户必须具有执行 (x) 权限才能转到挂载点目录并访问挂载的文件系统中的文件。在示例中,创建 /sharefs 挂载点目录并将权限设置为 755 (-rwxr-xr-x):

    [sharefs-clientL][root@linux ~]# mkdir /sharefs
    [sharefs-clientL][root@linux ~]# chmod 755 /sharefs
    
  8. 挂载共享文件系统。使用命令 mount mountpoint,其中 mountpoint 是在 /etc/fstab 文件中指定的挂载点目录。

    如示例所示,mount 命令生成一个警告。这是正常的并且可以忽略:

    [sharefs-clientL][root@linux ~]# mount /sharefs
    Warning: loading SUNWqfs will taint the kernel: SMI license 
    See http://www.tux.org/lkml/#export-tainted for information 
    about tainted modules. Module SUNWqfs loaded with warnings 
    
  9. 在此处停止。

从共享文件系统配置中删除主机

要从共享文件系统中删除主机,只需要将其从服务器配置中删除,如下文所述(要完全取消配置主机,请卸载软件和配置文件):

从文件系统 Hosts 文件中删除主机
  1. root 用户身份登录到 Oracle HSM 元数据服务器。

    在示例中,Oracle HSM 共享文件系统是 sharefs,元数据服务器主机是 sharefs-mds

    [sharefs-mds]root@solaris:~# 
    
  2. root 用户身份登录到每台客户机,并卸载共享文件系统。

    请注意,潜在的元数据服务器本身也是客户机。在示例中,有三台客户机:sharefs-client1sharefs-client2 和潜在元数据服务器 sharefs-mds_alt。对于每台客户机,使用 ssh 登录,卸载文件系统 sharefs,然后关闭 ssh 会话:

    [sharefs-mds]root@solaris:~# ssh root@sharefs-client1
    Password:
    [sharefs-client1]root@solaris:~# umount sharefs
    [sharefs-client1]root@solaris:~# exit
    [sharefs-mds]root@solaris:~# ssh root@sharefs-client2
    Password:
    [sharefs-client2]root@solaris:~# umount sharefs
    [sharefs-client2]root@solaris:~# exit
    [sharefs-mds]root@solaris:~# ssh root@sharefs-mds_alt
    Password:
    [sharefs-mds_alt]root@solaris:~# umount sharefs
    root@solaris:~# exit
    [sharefs-mds]root@solaris:~# 
    
  3. 在元数据服务器上,卸载共享文件系统。

    [sharefs-mds]root@solaris:~# umount sharefs
    
  4. 在元数据服务器上,将文件 /etc/opt/SUNWsamfs/hosts.filesystem 重命名为 /etc/opt/SUNWsamfs/hosts.filesystem.bak,其中 filesystem 是您要从中删除客户机主机的文件系统的名称。

    请注意,下面的命令是作为单行输入的-使用反斜杠字符对换行符进行转义:

    [sharefs-mds]root@solaris:~# mv /etc/opt/SUNWsamfs/hosts.sharefs \
    /etc/opt/SUNWsamfs/hosts.sharefs.bak
    
  5. 将当前的共享文件系统主机配置捕获到一个文件。在元数据服务器上,运行命令 samsharefs -R filesystem,将输出重定向到文件 /etc/opt/SUNWsamfs/hosts.filesystem,其中 filesystem 是您要向其添加客户机主机的文件系统的名称。

    samsharefs 命令显示指定的 Oracle HSM 共享文件系统的主机配置。将输出重定向到文件会创建一个新的 hosts 文件。在示例中,从元数据服务器 sharefs-mds 运行命令:

    [sharefs-mds]root@solaris:~# samsharefs -R sharedqfs1 > /
    /etc/opt/SUNWsamfs/hosts.sharedqfs1
    
  6. 在文本编辑器中打开新创建的 hosts 文件。

    在示例中,使用 vi 编辑器。此处需要删除客户机 sharefs-client3

    [sharefs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.sharefs
    #                                             Server   On/  Additional
    #Host Name            Network Interface       Ordinal  Off  Parameters
    #------------------   ----------------------  -------  ---  ----------
    sharefs-mds           10.79.213.117           1        0    server 
    sharefs-mds_alt       10.79.213.217           2        0   
    sharefs-client1       10.79.213.133           0        0
    sharefs-client2       10.79.213.47            0        0
    sharefs-client3       10.79.213.49            0        0
    
  7. 在 hosts 文件中,删除与您需要删除的客户机主机对应的行。然后保存文件并关闭编辑器。

    在示例中,删除主机 sharefs-client3 的条目:

    [sharefs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.sharefs
    #                                             Server   On/  Additional
    #Host Name            Network Interface       Ordinal  Off  Parameters
    #------------------   ----------------------  -------  ---  ----------
    sharefs-mds           10.79.213.117           1        0    server 
    sharefs-mds_alt       10.79.213.217           2        0   
    sharefs-client1       10.79.213.133           0        0
    sharefs-client2       10.79.213.47            0        0
    :wq
    [sharefs-mds]root@solaris:~# 
    
  8. 使用修改后的 hosts 文件更新文件系统。在元数据服务器中,使用命令 samsharefs -R -u filesystem,其中 filesystem 是要从其中移除客户机主机的文件系统的名称。

    [sharefs-mds]root@solaris:~# samsharefs -u sharefs
    
  9. 在元数据服务器主机上,挂载共享文件系统。

    在示例中,/etc/vfstab 文件包含 sharefs 文件系统的条目,因此使用简单的挂载语法(有关完整信息,请参见 mount_samfs 手册页):

    [sharefs-mds]root@solaris:~# mount sharefs
    
  10. 在每台客户机主机上,挂载共享文件系统。

    请注意,潜在的元数据服务器本身也是客户机。在示例中,有三台客户机:sharefs-client1sharefs-client2 和潜在元数据服务器 sharefs-mds_alt。对于每台客户机,使用 ssh 登录,卸载文件系统 sharefs,然后关闭 ssh 会话:

    [sharefs-mds]root@solaris:~# ssh root@sharefs-mds_alt
    Password:
    [sharefs-mds_alt]root@solaris:~# mount sharefs
    sharefs-mds_alt]root@solaris:~# exit
    [sharefs-mds]root@solaris:~# ssh root@sharefs-client1
    Password:
    [sharefs-client1]root@solaris:~# mount sharefs
    sharefs-client1]root@solaris:~# exit
    [sharefs-mds]root@solaris:~# ssh root@sharefs-client2
    Password:
    [sharefs-client2]root@solaris:~# mount sharefs
    sharefs-client2]root@solaris:~# exit
    [sharefs-mds]root@solaris:~# 
    
  11. 在此处停止。

为分布式磁带 I/O 配置数据移动器客户机

从 Oracle HSM 发行版 6.1 开始,在 Solaris 11 或更高版本上运行的共享归档文件系统的任何客户机都可以连接磁带机并代表文件系统执行磁带 I/O。将磁带 I/O 分布在这些数据移动器主机上可以大大降低服务器开销,提高文件系统性能,并且在扩展 Oracle HSM 实施时可以更灵活。当归档需求增加时,现在可以选择用更强大的系统替换 Oracle HSM 元数据服务器(垂直扩展)或者将负载分布在更多的客户机上(水平扩展)。

配置数据移动器客户机

要为客户机配置分布式磁带 I/O,请执行如下操作:

  1. 将要用于分布式 I/O 的所有设备连接到客户机。

  2. 如果您尚未使用永久绑定连接磁带机,请执行该过程。然后返回此处。

  3. root 用户身份登录到共享的归档文件系统的元数据服务器。

    在示例中,主机名是 samsharefs-mds

    [samsharefs-mds]root@solaris:~# 
    
  4. 确保元数据服务器运行的是 Oracle HSM Solaris 11 或更高版本。

    [samsharefs-mds]root@solaris:~# uname -r
    5.11
    [samsharefs-mds]root@solaris:~# 
    
  5. 确保用作数据移动器的所有客户机运行的是 Oracle HSM Solaris 11 或更高版本。

    在示例中,打开每台客户机主机 samsharefs-client1samsharefs-client2 的终端窗口,然后使用 ssh 远程登录。登录标题将显示 Solaris 版本:

    [samsharefs-mds]root@solaris:~# ssh root@samsharefs-client1
    ...
    Oracle Corporation      SunOS 5.11      11.1    September 2013
    [samsharefs-client1]root@solaris:~# 
    
    [samsharefs-mds]root@solaris:~# ssh root@samsharefs-client2
    ...
    Oracle Corporation      SunOS 5.11      11.1    September 2013
    [samsharefs-client2]root@solaris:~# 
    
  6. 在元数据服务器上,在文本编辑器中打开文件 /etc/opt/SUNWsamfs/defaults.conf,通过取消注释行 distio =  并将值设置为 on 来启用分布式 I/O。

    默认情况下,distio 处于 off(禁用)状态。

    在示例中,在 vi 编辑器中打开文件并添加行:

    [samsharefs-mds]root@solaris:~#  vi /etc/opt/SUNWsamfs/defaults.conf 
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character from the beginning of the line)
    # and change the value.
    ...
    distio = on
    
  7. 接下来,标识应当参与分布式 I/O 的设备类型。要将设备类型 dev 用于分布式 I/O,请将 dev_distio = on 行添加到 defaults.conf 文件。要将设备类型 dev 从分布式 I/O 中排除,请添加 dev_distio = off 行。保存文件并关闭编辑器。

    默认情况下,允许 Oracle HSM T10000 磁带机和 LTO 磁带机参与分布式 I/O(ti_distio = onli_distio = on),并排除所有其他类型。在示例中,排除 LTO 驱动器:

    [samsharefs-mds]root@solaris:~#  vi /etc/opt/SUNWsamfs/defaults.conf 
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character from the beginning of the line)
    # and change the value.
    ...
    distio = on
    li_distio = off
    :wq
    [samsharefs-mds]root@solaris:~#  
    
  8. 在用作数据移动器的每台客户机上,编辑 defaults.conf 文件,使其与服务器上的该文件匹配。

    在示例中,使用 vi 编辑客户机 samsharefs-client1 上的 defaults.conf 文件,保存该文件,然后关闭编辑器:

    [samsharefs-mds]root@solaris:~# ssh root@samsharefs-client1
    Password:
    [samsharefs-client1]root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf 
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character from the beginning of the line)
    # and change the value.
    ...
    distio = on
    li_distio = off
    :wq
    [samsharefs-client1]root@solaris:~# 
    [samsharefs-mds]root@solaris:~# 
    
  9. 在用作数据移动器的每台客户机上,在文本编辑器中打开 /etc/opt/SUNWsamfs/mcf 文件。添加元数据服务器用于分布式磁带 I/O 的所有磁带设备。确保设备顺序和设备编号与其在元数据服务器上的 mcf 文件中的对应项完全相同。

    在示例中,使用 vi 编辑客户机 samsharefs-client1 上的 mcf 文件:

    [samsharefs-client1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment              Equipment Equipment Family      Device Additional
    # Identifier             Ordinal   Type      Set         State  Parameters
    #----------------------- --------- --------- ----------  ------ -------------
    samsharefs               800       ms        samsharefs  on
    ...
    # Archival storage for copies:
     /dev/rmt/60cbn           901       ti                    on
     /dev/rmt/61cbn           902       ti                    on
     /dev/rmt/62cbn           903       ti                    on
     /dev/rmt/63cbn           904       ti                    on
    
  10. 如果在用作数据移动器的客户机上配置了元数据服务器上的 /etc/opt/SUNWsamfs/mcf 文件中列出的磁带库,请将磁带库系列集指定为用于分布式磁带 I/O 的磁带设备的系列集名称。保存文件。

    在示例中,在主机上配置了磁带库,因此为磁带设备使用系列集名称 library1

    [samsharefs-client1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment              Equipment Equipment Family      Device Additional
    # Identifier             Ordinal   Type      Set         State  Parameters
    #----------------------- --------- --------- ----------  ------ -------------
    samsharefs               800       ms        samsharefs  on
    ...
    # Archival storage for copies:
    /dev/scsi/changer/c1t0d5 900       rb        library1     on     
     /dev/rmt/60cbn           901       ti        library1     on
     /dev/rmt/61cbn           902       ti        library1     on
     /dev/rmt/62cbn           903       ti        library1     on
     /dev/rmt/63cbn           904       ti        library1     on
    :wq
    [samsharefs-client1]root@solaris:~# 
     
    
  11. 如果在用作数据移动器的客户机上配置元数据服务器上的 /etc/opt/SUNWsamfs/mcf 文件中列出的磁带库,请使用连字符 (-) 作为用于分布式磁带 I/O 的磁带设备的系列集名称。

    在示例中,未在主机上配置磁带库:

    [samsharefs-client2]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment              Equipment Equipment Family      Device Additional
    # Identifier             Ordinal   Type      Set         State  Parameters
    #----------------------- --------- --------- ----------  ------ -------------
    samsharefs               800       ms        samsharefs  on
    ...
    # Archival storage for copies:
    /dev/rmt/60cbn           901       ti        -           on
    /dev/rmt/61cbn           902       ti        -           on
    /dev/rmt/62cbn           903       ti        -           on
    /dev/rmt/63cbn           904       ti        -           on
    :wq
    [samsharefs-client2]root@solaris:~#  
    
  12. 如果您需要为特定的归档集副本启用或禁用分布式磁带 I/O,请在文本编辑器中打开服务器的 /etc/opt/SUNWsamfs/archiver.cmd 文件并向 copy 指令添加 -distio 参数。设置 -distio on 以启用或设置 -distio off 以禁用分布式 I/O。保存文件并关闭编辑器。

    在示例中,使用 vi 编辑器为副本 1 关闭分布式 I/O,为副本 2 打开分布式 I/O:

    [samsharefs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/archiver.cmd
    # archiver.cmd
    # Generated by config api Mon Nov 22 14:31:39 2013
    ...
    #
    # Copy Parameters Directives
    params
    allsets -sort path -offline_copy stageahead
    allsets.1 -startage 10m -startsize 500M -startcount 500000 -distio off
    allsets.2 -startage 24h -startsize 20G  -startcount 500000 -distio on
    :wq
    [samsharefs-mds]root@solaris:~# 
    
  13. 在各主机上,运行 sam-fsd 命令检查 mcf 文件中是否有错误并纠正发现的任何错误。

    sam-fsd 是一个读取 Oracle HSM 配置文件的初始化命令。如果遇到错误,该命令将停止。在示例中,检查 Linux 客户机 sharefs-clientL 上的 mcf 文件:

    [sharefs-clientL][root@linux ~]# sam-fsd
    
  14. 在服务器上,指示 Oracle HSM 软件读取修改后的配置文件,并相应地配置自身。使用命令 samd config 并纠正发现的任何错误。

    在示例中,在服务器 sharefs-mds 上运行 samd config 命令:

    [samsharefs-mds]root@solaris:~#  samd config
    
  15. 在此处停止。

使用永久绑定连接磁带机

如果添加的主机要用作潜在元数据服务器或分布式 I/O 数据移动器客户机,您必须使用永久绑定配置可移除介质设备。Solaris 操作系统按照启动时发现设备的顺序将驱动器连接到系统设备。该顺序可能会也可能不会反映其他文件系统主机发现设备的顺序或设备在磁带库中的物理安装顺序。因此,您需要使用与将设备绑定到其他主机相同的方式将其绑定到新主机,顺序与其在可移除介质库中的安装顺序相同。

下面的过程概述了必需的步骤(有关完整信息,请参见 devfsadmdevlinks 手册页以及适用于您的 Solaris 操作系统版本的管理文档):

更新永久绑定以反映对硬件配置的更改
  1. root 用户身份登录到活动元数据服务器主机。

    [sharefs-mds]root@solaris:~# 
    
  2. 确定驱动器在库中的安装顺序中所述创建一个新的驱动器映射文件。

    在示例中,device-mappings.txt 文件类似于以下内容:

    [sharefs-mds]root@solaris:~# vi /root/device-mappings.txt 
    LIBRARY SOLARIS          SOLARIS 
    DEVICE  LOGICAL          PHYSICAL
    NUMBER  DEVICE           DEVICE
    ------- -------------    -----------------------------------------------------
       2    /dev/rmt/0cbn -> ../../devices/pci@8.../st@w500104f00093c438,0:cbn
       1    /dev/rmt/1cbn -> ../../devices/pci@8.../st@w500104f0008120fe,0:cbn
       3    /dev/rmt/2cbn -> ../../devices/pci@8.../st@w500104f000c086e1,0:cbn
       4    /dev/rmt/3cbn ->  ../../devices/pci@8.../st@w500104f000b6d98d,0:cbn
    
  3. 在文本编辑器中打开 /etc/devlink.tab 文件。

    在示例中,使用 vi 编辑器:

    [sharefs-mds]root@solaris:~# vi /etc/devlink.tab
    # Copyright (c) 1993, 2011, Oracle and/or its affiliates. All rights reserved.
    # This is the table used by devlinks
    # Each entry should have 2 fields; but may have 3.  Fields are separated
    # by single tab ('\t') characters.
    ...
    
  4. device-mappings.txt 文件用作指南,将 Solaris 磁带设备树中的起始节点重新映射到磁带库中的第一个驱动器。在 /etc/devlink.tab 文件中,添加 type=ddi_byte:tape; addr=device_address,0; rmt/node-number\M0 格式的行,其中 device_address 是设备的物理地址,node-number 是 Solaris 设备树中的一个位置,该位置高到足以避免与 Solaris 自动配置(Solaris 从 0 节点启动)的任何设备冲突。

    在示例中,记下磁带库中的第一个设备 1 的设备地址 w500104f0008120fe,可以看到该设备当前连接到位于 rmt/1 的主机:

    [sharefs-mds] vi /root/device-mappings.txt 
    LIBRARY SOLARIS          SOLARIS 
    DEVICE  LOGICAL          PHYSICAL
    NUMBER  DEVICE           DEVICE
    ------- -------------    -----------------------------------------------------
       2    /dev/rmt/0cbn -> ../../devices/pci@8.../st@w500104f00093c438,0:cbn
       1    /dev/rmt/1cbn -> ../../devices/pci@8.../st@w500104f0008120fe,0:cbn
       3    /dev/rmt/2cbn -> ../../devices/pci@8.../st@w500104f000c086e1,0:cbn
       4    /dev/rmt/3cbn -> ../../devices/pci@8.../st@w500104f000b6d98d,0:cbn
    

    因此,在 /etc/devlink.tab 中创建一行来将 rmt/60 重新映射到磁带库中编号为 1 的驱动器 w500104f0008120fe

    [sharefs-mds]root@solaris:~# vi /etc/devlink.tab
    # Copyright (c) 1993, 2011, Oracle and/or its affiliates. All rights reserved.
    ...
    type=ddi_byte:tape;addr=w500104f0008120fe,0;    rmt/60\M0
    :w
    
  5. 继续在 /etc/devlink.tab 文件中为分配用于 Oracle HSM 归档的每个磁带设备添加行,使元数据服务器上的设备树中的驱动器顺序与磁带库中的安装顺序匹配。保存文件并关闭编辑器。

    在示例中,记下剩余的三个设备(位于 w500104f00093c438 的磁带库驱动器 2、位于 w500104f000c086e1 的磁带库驱动器 3 和位于 w500104f000c086e1 的磁带库驱动器 4)的顺序和地址:

    [sharefs-mds]root@solaris:~# vi /root/device-mappings.txt 
    ...
       2    /dev/rmt/0cbn -> ../../devices/pci@8\.../st@w500104f00093c438,0:cbn
       1    /dev/rmt/1cbn -> ../../devices/pci@8\.../st@w500104f0008120fe,0:cbn
       3    /dev/rmt/2cbn -> ../../devices/pci@8\.../st@w500104f000c086e1,0:cbn
       4    /dev/rmt/3cbn -> ../../devices/pci@8\.../st@w500104f000b6d98d,0:cbn
    

    然后,将设备地址映射到接下来的三个 Solaris 设备节点,保持与磁带库中相同的顺序:

    [sharefs-mds]root@solaris:~# vi /etc/devlink.tab
    ...
    type=ddi_byte:tape;addr=w500104f0008120fe,0;    rmt/60\M0
    type=ddi_byte:tape;addr=w500104f00093c438,0;    rmt/61\M0
    type=ddi_byte:tape;addr=w500104f000c086e1,0;    rmt/62\M0
    type=ddi_byte:tape;addr=w500104f000b6d98d,0;    rmt/63\M0
    :wq
    [sharefs-mds]root@solaris:~# 
    
  6. 删除 /dev/rmt 中指向磁带设备的所有现有链接。

    [sharefs-mds]root@solaris:~# rm /dev/rmt/* 
    
  7. 根据 /etc/devlink.tab 文件中的条目创建新的永久磁带设备链接。使用命令 devfsadm -c tape

    devfsadm 命令每次运行时,都会使用 /etc/devlink.tab 文件指定的配置为该文件中指定的设备创建新的磁带设备链接。-c tape 选项将命令限制为仅为磁带类设备创建新链接:

    [sharefs-mds]root@solaris:~# devfsadm -c tape
    
  8. 对共享文件系统配置中的每个潜在元数据服务器和数据移动器重复该操作。在每种情况下,将相同的行添加到 /etc/devlink.tab 文件中,删除 /dev/rmt 中的链接,然后运行 devfsadm -c tape

    在示例中,使用 ssh 依次登录到每个主机,然后配置相同的四个逻辑设备 rmt/60\M0rmt/61\M0rmt/62\M0rmt/63\M0

    [sharefs-mds]root@solaris:~# ssh root@sharefs-mds_alt
    Password:
    [sharefs-mds_alt]root@solaris:~# vi /etc/devlink.tab
    ...
    type=ddi_byte:tape;addr=w500104f0008120fe,0;    rmt/60\M0
    type=ddi_byte:tape;addr=w500104f00093c438,0;    rmt/61\M0
    type=ddi_byte:tape;addr=w500104f000c086e1,0;    rmt/62\M0
    type=ddi_byte:tape;addr=w500104f000b6d98d,0;    rmt/63\M0
    :wq
    [sharefs-mds_alt]root@solaris:~# rm /dev/rmt/* 
    [sharefs-mds_alt]root@solaris:~# devfsadm -c tape
    [sharefs-mds_alt]root@solaris:~# exit
    sharefs-mds]root@solaris:~# ssh root@sharefs-client1
    Password:
    [sharefs-client1]root@solaris:~# vi /etc/devlink.tab
    ...
    type=ddi_byte:tape;addr=w500104f0008120fe,0;    rmt/60\M0
    type=ddi_byte:tape;addr=w500104f00093c438,0;    rmt/61\M0
    type=ddi_byte:tape;addr=w500104f000c086e1,0;    rmt/62\M0
    type=ddi_byte:tape;addr=w500104f000b6d98d,0;    rmt/63\M0
    :wq
    [sharefs-client1]root@solaris:~# rm /dev/rmt/*
    [sharefs-client1]root@solaris:~# devfsadm -c tape
    [sharefs-client1]root@solaris:~# exit
    [sharefs-mds]root@solaris:~# 
    
  9. 返回到为分布式磁带 I/O 配置数据移动器客户机配置额外的文件系统客户机

将新的文件系统主机永久绑定到可移除介质设备
  1. root 用户身份登录主机。

    [sharefs-mds]root@solaris:~# 
    
  2. 如果介质库中驱动器的物理顺序在配置现有的文件系统主机后发生了更改,请按确定驱动器在库中的安装顺序中所述创建新的映射文件。

    在示例中,device-mappings.txt 文件类似于以下内容:

    [sharefs-mds]root@solaris:~# vi /root/device-mappings.txt 
    LIBRARY SOLARIS          SOLARIS 
    DEVICE  LOGICAL          PHYSICAL
    NUMBER  DEVICE           DEVICE
    ------- -------------    -----------------------------------------------------
       2    /dev/rmt/0cbn -> ../../devices/pci@8.../st@w500104f00093c438,0:cbn
       1    /dev/rmt/1cbn -> ../../devices/pci@8.../st@w500104f0008120fe,0:cbn
       3    /dev/rmt/2cbn -> ../../devices/pci@8.../st@w500104f000c086e1,0:cbn
       4    /dev/rmt/3cbn -> ../../devices/pci@8.../st@w500104f000b6d98d,0:cbn
    
  3. 在文本编辑器中打开 /etc/devlink.tab 文件。

    在示例中,使用 vi 编辑器:

    [sharefs-mds]root@solaris:~# vi /etc/devlink.tab
    # Copyright (c) 1993, 2011, Oracle and/or its affiliates. All rights reserved.
    # This is the table used by devlinks
    # Each entry should have 2 fields; but may have 3.  Fields are separated
    # by single tab ('\t') characters.
    ...
    
  4. 使用 device-mappings.txt 文件作为指南,将 Solaris 磁带设备树中的起始节点 rmt/node-number 重新映射到磁带库中的第一个驱动器。向 /etc/devlink.tab 文件添加一行,格式为 type=ddi_byte:tape; addr=device_address,0; rmt/node-number\M0,其中:device_address 是设备的物理地址,node-number 是设备在 Solaris 设备树中的位置。选择一个足够大的节点编号以避免与 Solaris 自动配置的任何设备冲突(Solaris 从节点 0 开始)。

    在示例中,记下磁带库中的第一个设备 1 的设备地址 w500104f0008120fe,可以看到该设备当前连接到位于 rmt/1 的主机:

    [sharefs-mds] vi /root/device-mappings.txt 
    LIBRARY SOLARIS          SOLARIS 
    DEVICE  LOGICAL          PHYSICAL
    NUMBER  DEVICE           DEVICE
    ------- -------------    -----------------------------------------------------
       2    /dev/rmt/0cbn -> ../../devices/pci@8.../st@w500104f00093c438,0:cbn
       1    /dev/rmt/1cbn -> ../../devices/pci@8.../st@w500104f0008120fe,0:cbn
       3    /dev/rmt/2cbn -> ../../devices/pci@8.../st@w500104f000c086e1,0:cbn
       4    /dev/rmt/3cbn -> ../../devices/pci@8.../st@w500104f000b6d98d,0:cbn
    

    因此,在 /etc/devlink.tab 中创建一行来将 rmt/60 重新映射到磁带库中编号为 1 的驱动器 w500104f0008120fe

    [sharefs-mds]root@solaris:~# vi /etc/devlink.tab
    # Copyright (c) 1993, 2011, Oracle and/or its affiliates. All rights reserved.
    ...
    type=ddi_byte:tape;addr=w500104f0008120fe,0;    rmt/60\M0
    :w
    
  5. 继续在 /etc/devlink.tab 文件中为分配用于 Oracle HSM 归档的每个磁带设备添加行,使元数据服务器上的设备树中的驱动器顺序与磁带库中的安装顺序匹配。保存文件。

    在示例中,记下剩余的三个设备(位于 w500104f00093c438 的磁带库驱动器 2、位于 w500104f000c086e1 的磁带库驱动器 3 和位于 w500104f000c086e1 的磁带库驱动器 4)的顺序和地址:

    [sharefs-mds]root@solaris:~# vi /root/device-mappings.txt 
    ...
       2    /dev/rmt/0cbn -> ../../devices/pci@8.../st@w500104f00093c438,0:cbn
       1    /dev/rmt/1cbn -> ../../devices/pci@8.../st@w500104f0008120fe,0:cbn
       3    /dev/rmt/2cbn -> ../../devices/pci@8.../st@w500104f000c086e1,0:cbn
       4    /dev/rmt/3cbn -> ../../devices/pci@8.../st@w500104f000b6d98d,0:cbn
    

    然后,将设备地址映射到接下来的三个 Solaris 设备节点,保持与磁带库中相同的顺序:

    [sharefs-mds]root@solaris:~# vi /etc/devlink.tab
    ...
    type=ddi_byte:tape;addr=w500104f0008120fe,0;    rmt/60\M0
    type=ddi_byte:tape;addr=w500104f00093c438,0;    rmt/61\M0
    type=ddi_byte:tape;addr=w500104f000c086e1,0;    rmt/62\M0
    type=ddi_byte:tape;addr=w500104f000b6d98d,0;    rmt/63\M0
    :wq
    [sharefs-mds]root@solaris:~# 
    
  6. 删除 /dev/rmt 中指向磁带设备的所有现有链接。

    [sharefs-mds]root@solaris:~# rm /dev/rmt/* 
    
  7. 根据 /etc/devlink.tab 文件中的条目创建新的永久磁带设备链接。使用命令 devfsadm -c tape

    devfsadm 命令每次运行时,都会使用 /etc/devlink.tab 文件指定的配置为该文件中指定的设备创建新的磁带设备链接。-c tape 选项将命令限制为仅为磁带类设备创建新链接:

    [sharefs-mds]root@solaris:~# devfsadm -c tape
    
  8. 在共享文件系统配置中的每台潜在元数据服务器和数据移动器上,向 /etc/devlink.tab 文件中添加相同的行,删除 /dev/rmt 中的链接,然后运行 devfsadm -c tape

    在示例中,使用 ssh 登录到潜在元数据服务器主机 sharefs-mds_alt 和客户机主机 sharefs-client1。然后配置相同的四个逻辑设备 rmt/60\M0rmt/61\M0rmt/62\M0rmt/63\M0,在每台客户机上:

    [sharefs-mds]root@solaris:~# ssh root@sharefs-mds_alt
    Password:
    [sharefs-mds_alt]root@solaris:~# vi /etc/devlink.tab
    ...
    type=ddi_byte:tape;addr=w500104f0008120fe,0;    rmt/60\M0
    type=ddi_byte:tape;addr=w500104f00093c438,0;    rmt/61\M0
    type=ddi_byte:tape;addr=w500104f000c086e1,0;    rmt/62\M0
    type=ddi_byte:tape;addr=w500104f000b6d98d,0;    rmt/63\M0
    :wq
    [sharefs-mds_alt]root@solaris:~# rm /dev/rmt/* 
    [sharefs-mds_alt]root@solaris:~# devfsadm -c tape
    [sharefs-mds_alt]root@solaris:~# exit
    [sharefs-mds]root@solaris:~# ssh root@sharefs-client1
    Password:
    [sharefs-client1]root@solaris:~# vi /etc/devlink.tab
    ...
    type=ddi_byte:tape;addr=w500104f0008120fe,0;    rmt/60\M0
    type=ddi_byte:tape;addr=w500104f00093c438,0;    rmt/61\M0
    type=ddi_byte:tape;addr=w500104f000c086e1,0;    rmt/62\M0
    type=ddi_byte:tape;addr=w500104f000b6d98d,0;    rmt/63\M0
    :wq
    [sharefs-client1]root@solaris:~# rm /dev/rmt/* 
    [sharefs-client1]root@solaris:~# devfsadm -c tape
    [sharefs-client1]root@solaris:~# exit
    [sharefs-mds]root@solaris:~# 
    
  9. 返回到为分布式磁带 I/O 配置数据移动器客户机配置额外的文件系统客户机

从活动元数据服务器切换到潜在元数据服务器

本节中的过程将文件系统的元数据服务从当前主机(活动元数据服务器)移动到备用主机(潜在元数据服务器)。使用哪个过程取决于您要替换的服务器主机的运行状况:

激活潜在元数据服务器以替换有故障的活动元数据服务器

此过程允许您将元数据服务从已停止工作的活动元数据服务器主机移走。并激活潜在元数据服务器,即使文件系统仍处于已挂载状态。执行如下操作:

注意:

在已停止、已禁用有故障的元数据服务器或已断开其连接之前,不要激活潜在元数据服务器!

要在文件系统处于已挂载状态且活动元数据服务器停机时激活潜在服务器,需要调用带 -R 选项的 samsharefs 命令,这将对原始设备而不是文件系统接口进行操作。因此,如果您在有故障的服务器仍然连接到设备时激活潜在元数据服务器,则有故障的服务器可能会损坏文件系统。

  1. 如果活动元数据服务器有故障,请确保在您执行任何其他操作之前它无法访问元数据设备。关闭受影响主机的电源,或者将有故障的主机断开与元数据设备的连接。

  2. 至少等到最大租约到期,以便所有客户机的读取、写入和附加租约都到期。

  3. root 用户身份登录到潜在元数据服务器。

    在示例中,登录到潜在元数据服务器 sharefs-mds_alt

    [sharefs-mds_alt]root@solaris:~# 
    
  4. 激活潜在元数据服务器。从潜在元数据服务器上发出命令 samsharefs -R -s server file-system,其中 server 是潜在元数据服务器的主机名,file-system 是 Oracle HSM 共享文件系统的名称。

    在示例中,潜在元数据服务器是 sharefs-mds_alt,文件系统名称是 sharefs

    [sharefs-mds_alt]root@solaris:~# samsharefs -R -s sharefs-mds_alt sharefs
    
  5. 如果需要检查文件系统的完整性并修复可能的问题,现在请使用卸载共享文件系统过程卸载文件系统。

  6. 如果已卸载了文件系统,请执行文件系统检查。使用命令 samfsck -F file-system,其中 -F 指定修复错误,file-system 是文件系统的名称。

    在示例中,检查并修复名为 sharefs 的文件系统:

    [sharefs-mds_alt]root@solaris:~# samfsck -F sharefs
    
  7. 在此处停止。

激活潜在元数据服务器以替换运行正常的活动元数据服务器

必要时,您可以将元数据服务从运行正常的活动元数据服务器主机移走,并将其移到新激活的潜在元数据服务器上。例如,在升级或更换原始服务器主机或其某些组件时,您可以将元数据服务转移到备用主机以使文件系统保持可用。执行如下操作:

  1. root 用户身份登录到活动元数据服务器和潜在元数据服务器。

    在示例中,登录到活动元数据服务器 sharefs-mds。然后,在另一个终端窗口中,使用安全 shell (secure shell, ssh) 登录到潜在元数据服务器 sharefs-mds_alt

    [sharefs-mds]root@solaris:~# 
    
    [sharefs-mds]root@solaris:~# ssh root@sharefs-mds_alt
    Password:
    [sharefs-mds-alt]root@solaris:~# 
    
  2. 如果活动元数据服务器挂载了 Oracle HSM 归档文件系统,请完成处于活动状态的归档和回写作业并停止任何新活动,然后再继续操作。请参见使归档和回写进程闲置

  3. 如果活动元数据服务器挂载了 Oracle HSM 归档文件系统,请使可移除介质驱动器闲置并停止磁带库控制守护进程。请参见停止归档和回写进程

  4. 如果您使用 crontab 条目来运行回收程序进程,请删除该条目并确保回收程序当前未在运行。

  5. 激活潜在元数据服务器。从潜在元数据服务器上发出命令 samsharefs -s server file-system,其中 server 是潜在元数据服务器的主机名,file-system 是 Oracle HSM 共享文件系统的名称。

    在示例中,潜在元数据服务器是 sharefs-mds_alt,文件系统名称是 sharefs

    [sharefs-mds_alt]root@solaris:~# samsharefs -s sharefs-mds_alt sharefs
    
  6. 在潜在元数据服务器上加载配置文件并启动 Oracle HSM 进程。使用命令 samd config

    对于归档共享文件系统,samd config 命令会重新启动归档进程和磁带库控制守护进程。但是,对于正在等待文件从磁带回写到主磁盘高速缓存的共享文件系统客户机,必须重新发出回写请求。

  7. 如果您仍然需要使用 crontab 条目来运行回收程序进程,请恢复该条目。

  8. 在此处停止。

将非共享文件系统转换为共享文件系统

要将非共享文件系统转换为共享文件系统,请执行以下任务:

在活动元数据服务器和潜在元数据服务器上创建 Hosts 文件

在每台元数据服务器上,您必须创建一个 hosts 文件,在其中列出共享文件系统的服务器和客户机的网络地址信息。hosts 文件与 mcf 文件一起存储在 /etc/opt/SUNWsamfs/ 目录中。在共享文件系统的初始创建过程中,sammkfs -S 命令使用该文件中存储的设置配置共享。因此,现在请使用下面的过程创建该文件。

  1. 收集将作为客户机共享文件系统的主机的网络主机名和 IP 地址。

    在下面的示例中,客户机 hsmfs1-mds_alt(潜在元数据服务器)、hsmfs1-client1hsmfs1-client2 将共享 hsmfs1 文件系统。

  2. root 用户身份登录到元数据服务器。

    在示例中,登录到主机 hsmfs1-mds

    [hsmfs1-mds]root@solaris:~# 
    
  3. 使用文本编辑器在元数据服务器上创建文件 /etc/opt/SUNWsamfs/hosts.family-set-name,将 family-set-name 替换为您打算共享的文件系统的系列集名称。

    在示例中,使用 vi 文本编辑器创建文件 hosts.hsmfs1。此处添加了一些可选的标题,使每个行以井号 (#) 开头,表示是注释:

    [hsmfs1-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.hsmfs1
    # /etc/opt/SUNWsamfs/hosts.hsmfs1
    #                                             Server   On/  Additional
    #Host Name            Network Interface       Ordinal  Off  Parameters
    #------------------   ----------------------  -------  ---  ----------
    
  4. 在第一列中输入元数据服务器的主机名,在第二列中输入相应的 IP 地址或域名。用空格字符分隔各列。

    在示例中,输入元数据服务器的主机名和 IP 地址,分别为 hsmfs1-mds10.79.213.117

    [hsmfs1-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.hsmfs1
    # /etc/opt/SUNWsamfs/hosts.hsmfs1
    #                                             Server   On/  Additional
    #Host Name            Network Interface       Ordinal  Off  Parameters
    #------------------   ----------------------  -------  ---  ----------
    hsmfs1-mds           10.79.213.117
    
  5. 添加第三列,用空格字符将其与网络地址隔开。在此列中,输入服务器的序号(1 表示活动元数据服务器、2 表示第一台潜在元数据服务器,依此类推)。

    在此示例中,只有一台元数据服务器,因此输入 1

    [hsmfs1-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.hsmfs1
    # /etc/opt/SUNWsamfs/hosts.hsmfs1
    #                                             Server   On/  Additional
    #Host Name            Network Interface       Ordinal  Off  Parameters
    #------------------   ----------------------  -------  ---  ----------
    hsmfs1-mds           10.79.213.117           1       
    
  6. 添加第四列,用空格字符将其与服务器序号隔开。在此列中,输入 0(零)。

    第四列中的值为 0-(连字符)或空表示该主机处于 on 状态-配置为对共享文件系统有访问权限。1(数字一)表示该主机处于 off 状态-配置为对文件系统没有访问权限(有关在管理共享文件系统时使用这些值的信息,请参见 samhsmfs1 手册页)。

    [hsmfs1-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.hsmfs1
    # /etc/opt/SUNWsamfs/hosts.hsmfs1
    #                                             Server   On/  Additional
    #Host Name            Network Interface       Ordinal  Off  Parameters
    #------------------   ----------------------  -------  ---  ----------
    hsmfs1-mds          10.79.213.117            1        0    
    
  7. 添加第五列,用空格字符将其与开启/关闭状态列隔开。在此列中,输入关键字 server 以指示该主机是当前处于活动状态的元数据服务器:

    [hsmfs1-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.hsmfs1
    # /etc/opt/SUNWsamfs/hosts.hsmfs1
    #                                             Server   On/  Additional
    #Host Name            Network Interface       Ordinal  Off  Parameters
    #------------------   ----------------------  -------  ---  ----------
    hsmfs1-mds           10.79.213.117           1        0    server 
    
  8. 如果您计划包括一台或多台主机作为潜在元数据服务器,请为每台主机创建一个条目。每次递增服务器序号。但不要包括 server 关键字(每个文件系统上只能有一个活动元数据服务器)。

    在示例中,主机 hsmfs1-mds_alt 是服务器序号为 2 的一台潜在元数据服务器。除非将其激活为元数据服务器,否则它将作为客户机:

    [hsmfs1-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.hsmfs1
    # /etc/opt/SUNWsamfs/hosts.hsmfs1
    #                                             Server   On/  Additional
    #Host Name            Network Interface       Ordinal  Off  Parameters
    #------------------   ----------------------  -------  ---  ----------
    hsmfs1-mds           10.79.213.117           1        0    server 
    hsmfs1-mds_alt       10.79.213.217           2        0   
    
  9. 为每台客户机主机添加一行,每行中的服务器序号值都为 0

    服务器序号为 0 表示该主机是一台客户机。在示例中,添加两台客户机 hsmfs1-client1hsmfs1-client2

    [hsmfs1-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.hsmfs1
    # /etc/opt/SUNWsamfs/hosts.hsmfs1
    #                                             Server   On/  Additional
    #Host Name            Network Interface       Ordinal  Off  Parameters
    #------------------   ----------------------  -------  ---  ----------
    hsmfs1-mds           10.79.213.17            1        0    server 
    hsmfs1-mds_alt       10.79.213.7             2        0   
    hsmfs1-client1       10.79.213.33            0        0
    hsmfs1-client2       10.79.213.47            0        0
    
  10. 保存 /etc/opt/SUNWsamfs/hosts.family-set-name 文件并退出编辑器。

    在示例中,保存对 /etc/opt/SUNWsamfs/hosts.hsmfs1 的更改并退出 vi 编辑器:

    [hsmfs1-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.hsmfs1
    # /etc/opt/SUNWsamfs/hosts.hsmfs1
    #                                             Server   On/  Additional
    #Host Name            Network Interface       Ordinal  Off  Parameters
    #------------------   ----------------------  -------  ---  ----------
    hsmfs1-mds           10.79.213.117           1        0    server 
    hsmfs1-mds           10.79.213.117           1        0    server 
    hsmfs1-mds_alt       10.79.213.217           2        0
    hsmfs1-client1       10.79.213.133           0        0
    hsmfs1-client2       10.79.213.147           0        0
    :wq
    [hsmfs1-mds]root@solaris:~# 
    
  11. 在共享文件系统配置中包括的所有潜在元数据服务器上放置 /etc/opt/SUNWsamfs/hosts.family-set-name 新文件的一个副本。

    在示例中,在主机 hsmfs1-mds_alt 上放置一个副本:

    [hsmfs1-mds]root@solaris:~# sftp root@hsmfs1-mds_alt
    Password:
    sftp> cd /etc/opt/SUNWsamfs/
    sftp> put /etc/opt/SUNWsamfs/hosts.hsmfs1
    sftp> bye
    [hsmfs1-mds]root@solaris:~# 
    
  12. 现在,共享非共享的文件系统并配置客户机

共享非共享的文件系统并配置客户机

  1. root 用户身份登录到元数据服务器。

    在示例中,登录到主机 hsmfs1-mds

    [hsmfs1-mds]root@solaris:~# 
    
  2. 如果您没有系统文件和配置文件的当前备份副本,现在请创建副本。请参见备份 Oracle HSM 配置

  3. 如果您没有当前的文件系统恢复点文件和归档日志的最新副本,现在请创建它们。请参见备份文件系统

    如果您在初始配置过程中为文件系统设置了自动化备份流程,可能不需要额外的备份。

  4. 如果您在转换归档文件系统,请完成处于活动状态的归档和回写作业并停止任何新活动,然后再继续操作。请参见使归档和回写进程闲置停止归档和回写进程

  5. 卸载文件系统。使用命令 umount family-set-name,其中 family-set-name 是您打算共享的文件系统的系列集名称。

    有关挂载和卸载 Oracle HSM 文件系统的更多信息,请参见 mount_samfs 手册页。在示例中,卸载 hsmfs1 文件系统:

    [hsmfs1-mds]root@solaris:~# umount hsmfs1
    [hsmfs1-mds]root@solaris:~# 
    
  6. 将文件系统转换为 Oracle HSM 共享文件系统。使用命令 samfsck -S -F file-system-name,其中 file-system-name 是文件系统的系列集名称。

    在示例中,转换名为 hsmfs1 的文件系统:

    [hsmfs1-mds]root@solaris:~# samfsck -S -F hsmfs1
    
  7. 在文本编辑器中打开 /etc/opt/SUNWsamfs/mcf 文件,并找到该文件系统对应的行。

    在示例中,使用 vi 编辑器:

    [hsmfs1-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment          Equipment  Equipment  Family   Device   Additional
    # Identifier         Ordinal    Type       Set      State    Parameters
    #------------------  ---------  ---------  -------  ------   -----------------
    hsmfs1              200        ma         hsmfs1  on
     /dev/dsk/c0t0d0s0    201        mm         hsmfs1  on
     /dev/dsk/c0t3d0s0    202        md         hsmfs1  on
     /dev/dsk/c0t3d0s1    203        md         hsmfs1  on
    
  8. mcf 文件中,向文件系统条目的最后一列中的 "Additional Parameters" 字段中添加 shared 参数。然后保存文件并关闭编辑器。

    [hsmfs1-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment          Equipment  Equipment  Family   Device   Additional
    # Identifier         Ordinal    Type       Set      State    Parameters
    #------------------  ---------  ---------  -------  ------   -----------------
    hsmfs1              200        ma         hsmfs1  on       shared
     /dev/dsk/c0t0d0s0    201        mm         hsmfs1  on
     /dev/dsk/c0t3d0s0    202        md         hsmfs1  on
     /dev/dsk/c0t3d0s1    203        md         hsmfs1  on
    :wq
    [hsmfs1-mds]root@solaris:~# 
    
  9. 在文本编辑器中打开 /etc/vfstab 文件,并找到该文件系统对应的行。

    在示例中,使用 vi 编辑器:

    [hsmfs1-mds]root@solaris:~# vi /etc/vfstab 
    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    /proc      -        /proc     proc    -     no       -
    ...
    hsmfs1    -        /hsm/hsmfs1  samfs   -     yes
    
  10. /etc/vfstab 文件中,向文件系统条目的最后一列中的 "Mount Options" 字段中添加 shared 挂载参数。然后保存文件并关闭编辑器。

    [hsmfs1-mds]root@solaris:~# vi /etc/vfstab 
    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    /proc      -        /proc     proc    -     no       -
    ...
    hsmfs1    -        /hsm/hsmfs1  samfs   -     yes      shared      
    :wq
    [hsmfs1-mds]root@solaris:~# 
    
  11. 初始化共享文件系统和主机配置。使用命令 samsharefs -u -R family-set-name,其中 family-set-name 是文件系统的系列集名称。

    [hsmfs1-mds]root@solaris:~# samsharefs -u -R hsmfs1
    
  12. 指示 Oracle HSM 软件重新读取 mcf 文件并相应地重新配置自身:

    [hsmfs1-mds]root@solaris:~# samd config
    
  13. 在元数据服务器上挂载共享文件系统。

    [hsmfs1-mds]root@solaris:~# mount /hsm/hsmfs1
    
  14. 如果您的主机配置了多个网络接口,请参见使用本地 Hosts 文件来路由网络通信

  15. 使用配置额外的文件系统客户机中概述的过程向刚刚共享的文件系统添加必需的客户机。

使用本地 Hosts 文件来路由网络通信

单个主机不需要本地 hosts 文件。元数据服务器上文件系统的全局文件标识了所有文件系统主机的活动元数据服务器以及活动元数据服务器和潜在元数据服务器的网络接口(请参见在活动元数据服务器和潜在元数据服务器上创建 Hosts 文件)。但是,当您需要对具有多个网络接口的文件系统主机之间的网络通信路由进行选择时,本地 hosts 文件会很有用。

每个文件系统主机都会识别其他主机的网络接口,方法是先检查元数据服务器上的 /etc/opt/SUNWsamfs/hosts.family-set-name 文件,其中 family-set-name/etc/opt/SUNWsamfs/mcf 文件中指定的文件系统系列的名称。然后,主机检查自己的特定 /etc/opt/SUNWsamfs/hosts.family-set-name.local 文件。如果没有本地 hosts 文件,则主机将按照全局 hosts 文件中指定的顺序使用该全局文件中指定的接口地址。但是,如果存在本地 hosts 文件,则主机会将其与全局文件进行比较并按照本地文件中指定的顺序仅使用两个文件中同时列出的那些接口。通过在每个文件中使用不同的地址,您可以控制不同主机使用的接口。

要配置本地 hosts 文件,请使用下面概述的过程:

  1. 在元数据服务器主机和每台潜在元数据服务器主机上,创建全局 hosts 文件 /etc/opt/SUNWsamfs/hosts.family-set-name 的一个副本,如在活动元数据服务器和潜在元数据服务器上创建 Hosts 文件中所述。

    对于本节中的示例,共享文件系统 sharefs2 包括一台活动元数据服务器 sharefs2-mds 和一台潜在元数据服务器 sharefs2-mds_alt,每台都具有两个网络接口。还有两台客户机 sharefs2-client1sharefs2-client2

    此处需要活动元数据服务器和潜在元数据服务器彼此之间通过专用网络地址进行通信,与客户机的通信通过域名服务 (Domain Name Service, DNS) 可以解析为公共局域网 (local area network, LAN) 地址的主机名进行。因此,文件系统的全局 hosts 文件 /etc/opt/SUNWsamfs/hosts.sharefs2 在活动服务器和潜在服务器条目的 Network Interface 字段中指定了一个专用网络地址,并为每台客户机的接口地址指定了一个主机名:该文件如下所示:

    # /etc/opt/SUNWsamfs/hosts.sharefs2
    #                                             Server   On/  Additional
    #Host Name            Network Interface       Ordinal  Off  Parameters
    #------------------   ----------------------  -------  ---  ----------
    sharefs2-mds          172.16.0.129            1        0    server 
    sharefs2-mds_alt      172.16.0.130            2        0   
    sharefs2-client1      sharefs2-client1        0        0
    sharefs2-client2      sharefs2-client2        0        0
    
  2. 使用路径和文件名 /etc/opt/SUNWsamfs/hosts.family-set-name.local 在每台活动元数据服务器和潜在元数据服务器上创建一个本地 hosts 文件,其中 family-set-name 是为 /etc/opt/SUNWsamfs/mcf 文件中的共享文件系统指定的名称。请仅包括您希望活动服务器和潜在服务器使用的网络的接口

    在示例中,需要活动元数据服务器和潜在元数据服务器彼此之间通过专用网络进行通信,因此,每台服务器的本地 hosts 文件 hosts.sharefs2.local 针对活动服务器和潜在服务器仅列出了专用地址:

    [sharefs2-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.sharefs2.local
    # /etc/opt/SUNWsamfs/hosts.sharefs2
    #                                             Server   On/  Additional
    #Host Name            Network Interface       Ordinal  Off  Parameters
    #------------------   ----------------------  -------  ---  ----------
    sharefs2-mds          172.16.0.129            1        0    server 
    sharefs2-mds_alt      172.16.0.130            2        0  
    :wq
    [sharefs2-mds]root@solaris:~# ssh root@sharefs2-mds_alt
    Password:
    
    [sharefs2-mds_alt]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.sharefs2.local
    # /etc/opt/SUNWsamfs/hosts.sharefs2
    #                                             Server   On/  Additional
    #Host Name            Network Interface       Ordinal  Off  Parameters
    #------------------   ----------------------  -------  ---  ----------
    sharefs2-mds          172.16.0.129            1        0    server 
    sharefs2-mds_alt      172.16.0.130            2        0   
    :wq
    [sharefs2-mds_alt]root@solaris:~# exit
    [sharefs2-mds]root@solaris:~# 
    
  3. 使用路径和文件名 /etc/opt/SUNWsamfs/hosts.family-set-name.local 在每个客户机上创建一个本地 hosts 文件,其中 family-set-name 是为 /etc/opt/SUNWsamfs/mcf 文件中的共享文件系统指定的名称。请仅包括您希望客户机使用的网络的接口

    在示例中,需要客户机仅通过公共网络与服务器进行通信。因此,该文件仅包括活动元数据服务器和潜在元数据服务器的主机名:

    [sharefs2-mds]root@solaris:~# ssh root@sharefs2-client1
    Password:
    [sharefs2-client1]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.sharefs2.local
    # /etc/opt/SUNWsamfs/hosts.sharefs2
    #                                             Server   On/  Additional
    #Host Name            Network Interface       Ordinal  Off  Parameters
    #------------------   ----------------------  -------  ---  ----------
    sharefs2-mds          sharefs2-mds            1        0    server 
    sharefs2-mds_alt      sharefs2-mds_alt        2        0   
    :wq
    [sharefs2-client1]root@solaris:~# exit
    [sharefs2-mds]root@solaris:~# ssh root@sharefs2-client2
    Password:
    
    [sharefs2-client2]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.sharefs2.local
    # /etc/opt/SUNWsamfs/hosts.sharefs2
    #                                             Server   On/  Additional
    #Host Name            Network Interface       Ordinal  Off  Parameters
    #------------------   ----------------------  -------  ---  ----------
    sharefs2-mds          sharefs2-mds            1        0    server
    sharefs2-mds_alt      sharefs2-mds_alt        2        0   
    :wq
    [sharefs2-client2]root@solaris:~# exit
    [sharefs2-mds]root@solaris:~# 
    
  4. 如果您在完成服务器配置的同时启动了此过程,请添加客户机。转至配置额外的文件系统客户机

将共享文件系统转换为非共享文件系统

当需要取消文件系统共享时,请执行如下操作:

将共享元数据服务器转换为非共享系统

  1. root 用户身份登录到元数据服务器。

    在示例中,登录到主机 hsmfs1-mds

    [hsmfs1-mds]root@solaris:~# 
    
  2. 使用从文件系统 Hosts 文件中删除主机过程从元数据服务器配置中删除客户机。

  3. 如果您没有系统文件和配置文件的当前备份副本,现在请创建副本。请参见备份 Oracle HSM 配置

  4. 如果您没有当前的文件系统恢复点文件和归档日志的最新副本,现在请创建它们。请参见备份文件系统

    如果您在初始配置过程中为文件系统设置了自动化备份流程,可能不需要额外的备份。

  5. 如果您在转换归档文件系统,请完成处于活动状态的归档和回写作业并停止任何新活动,然后再继续操作。请参见使归档和回写进程闲置停止归档和回写进程

  6. 卸载文件系统。使用命令 umount family-set-name,其中 family-set-name/etc/opt/SUNWsamfs/mcf 文件中共享文件系统的系列集名称。

    有关挂载和卸载 Oracle HSM 文件系统的更多信息,请参见 mount_samfs 手册页。在示例中,卸载 hsmfs1 文件系统:

    [hsmfs1-mds]root@solaris:~# umount hsmfs1
    
  7. 将 Oracle HSM 共享文件系统转换为非共享文件系统。使用命令 samfsck -F -U file-system-name,其中 file-system-name 是为 /etc/opt/SUNWsamfs/mcf 文件中共享文件系统指定的名称。

    在示例中,转换名为 hsmfs1 的文件系统:

    [hsmfs1-mds]root@solaris:~# samfsck -F -U hsmfs1
    
  8. 在文本编辑器中打开 /etc/opt/SUNWsamfs/mcf 文件,并找到该文件系统对应的行。

    在示例中,使用 vi 编辑器:

    [hsmfs1-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment          Equipment  Equipment  Family   Device   Additional
    # Identifier         Ordinal    Type       Set      State    Parameters
    #------------------  ---------  ---------  -------  ------   -----------------
    hsmfs1              200        ma         hsmfs1  on       shared
     /dev/dsk/c0t0d0s0    201        mm         hsmfs1  on
     /dev/dsk/c0t3d0s0    202        md         hsmfs1  on
     /dev/dsk/c0t3d0s1    203        md         hsmfs1  on
    
  9. mcf 文件中,从文件系统条目的最后一列的 "Additional Parameters" 字段中删除 shared 参数。然后保存文件并关闭编辑器。

    [hsmfs1-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment          Equipment  Equipment  Family   Device   Additional
    # Identifier         Ordinal    Type       Set      State    Parameters
    #------------------  ---------  ---------  -------  ------   -----------------
    hsmfs1              200        ma         hsmfs1  on       
     /dev/dsk/c0t0d0s0    201        mm         hsmfs1  on
     /dev/dsk/c0t3d0s0    202        md         hsmfs1  on
     /dev/dsk/c0t3d0s1    203        md         hsmfs1  on
    :wq
    [hsmfs1-mds]root@solaris:~# 
    
  10. 在文本编辑器中打开 /etc/vfstab 文件,并找到该文件系统对应的行。

    在示例中,使用 vi 编辑器:

    [hsmfs1-mds]root@solaris:~# vi /etc/vfstab 
    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    /proc      -        /proc     proc    -     no       -
    ...
    hsmfs1    -        /hsm/hsmfs1  samfs   -     yes      shared
    
  11. /etc/vfstab 文件中,从文件系统条目的最后一列中的 "Mount Options" 字段中删除 shared 挂载选项。然后保存文件并关闭编辑器。

    在示例中,使用 vi 编辑器:

    [hsmfs1-mds]root@solaris:~# vi /etc/vfstab 
    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    /proc      -        /proc     proc    -     no       -
    ...
    hsmfs1    -        /hsm/hsmfs1  samfs   -     yes
    :wq
    [hsmfs1-mds]root@solaris:~# 
    
  12. 删除文件 /etc/opt/SUNWsamfs/hosts.file-system-name

  13. 指示 Oracle HSM 软件重新读取 mcf 文件并相应地重新配置自身:

    [hsmfs1-mds]root@solaris:~# samd config
    
  14. 挂载文件系统。

    [hsmfs1]root@solaris:~# mount /hsm/hsmfs1
    
  15. 在此处停止。