7 从多台主机访问文件系统

Oracle HSM 文件系统可以使用多种方法在多台主机之间共享。每种方法都在某些情况下有特定的优势,而在其他情况下有明显的缺点。因此您选择的方法取决于您的特定要求。共享方法包括:

使用 Oracle HSM 软件从多台主机访问文件系统

Oracle HSM 通过配置同时挂载文件系统的一台服务器以及一台或多台客户机,将文件系统供多台主机使用。然后,文件数据将通过高性能的本地路径 I/O 直接从磁盘设备传递到主机,而不会发生与 NFS 和 CIFS 共享相关的网络和中间服务器延迟。一次只能有一台主机作为活动元数据服务器,但可将任意数量的客户机配置为潜在元数据服务器,以用于冗余用途。对文件系统挂载点的数量没有限制。

Oracle HSM 在多读取器/单写入器配置和共享配置(归档或不归档)中,都支持对高性能 (ma) 和通用 (ms) 文件系统进行多主机访问。只有一些限制:

  • 块 (b–) 特殊文件不受支持。

  • 字符 (c–) 特殊文件不受支持。

  • FIFO 命名管道 (p–) 特殊文件不受支持。

  • 分段文件不受支持。

    您不能在分段文件环境中实现 Oracle HSM 共享文件系统。

  • 强制性锁定不受支持。

    如果设置了强制锁定,则系统会返回 EACCES 错误。但系统支持咨询锁定。有关建议性锁定的更多信息,请参见 fcntl 手册页。

Oracle HSM 软件主机可以使用两种配置中的任一种访问文件系统数据,在任何给定的应用中,每种配置都有其自己的优势和限制。

多读取器单写入器配置中,一台主机会以读取/写入访问权限挂载文件系统,所有其他主机会以只读访问权限挂载文件系统。配置就是设置挂载点的简单操作。由于单台主机对文件进行所有更改,因此可确保文件一致性和数据完整性,而无需执行其他文件锁定或一致性检查。为实现最佳性能,所有主机会直接从磁盘读取元数据以及数据。但所有主机都必须有权访问文件系统元数据,因此,ma 文件系统中的所有主机都必须有权访问数据和元数据设备。

共享配置中,所有主机可使用租约读取、写入和附加文件数据,从而允许单台主机在给定的时间段内以给定方式访问文件。元数据服务器会发放读取写入附加租约,并管理续订和冲突的租约请求。共享文件系统可提供更高灵活性,但配置要复杂一些且需要更多文件系统开销。所有主机会直接从磁盘读取文件数据,但客户机通过网络访问元数据。因此,没有元数据设备访问权限的客户机可以共享 ma 文件系统。

要配置从多个主机对数据的访问,请选择以下两种方法之一:

配置 Oracle HSM 单写入器多读取器文件系统

要配置单写入器多读取器文件系统,请执行以下任务:

在写入器上创建文件系统

执行如下操作:

  1. root 帐户登录到将用作 writer 的主机。

    在本示例中,writer 主机名为 swriterfs-mds-writer

    [swriterfs1-mds-writer]root@solaris:~# 
    
  2. 在将用作 writer 的主机上,在文本编辑器中打开 /etc/opt/SUNWsamfs/mcf 文件并添加一个 QFS 文件系统。可以配置通用 ms高性能 ma 文件系统。

    在拥有独立元数据设备的 ma 文件系统上,将文件系统的元数据服务器配置为写入器。在下面的示例中,使用 vi 文本编辑器来编辑主机 swriterfs1-mds-writer 上的 mcf 文件。示例使用设备标识符和系列集名称 swriterfs1 以及设备序号 300 指定 ma 文件系统:

    [swriterfs1-mds-writer]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment          Equipment  Equipment  Family      Device   Additional
    # Identifier         Ordinal    Type       Set         State    Parameters
    #------------------  ---------  ---------  ---------   ------   ---------------
    swriterfs1           300        ma         swriterfs1  on       
     /dev/dsk/c0t0d0s0    301        mm         swriterfs1  on
     /dev/dsk/c0t3d0s0    302        mr         swriterfs1  on
     /dev/dsk/c0t3d0s1    303        mr         swriterfs1  on
    
  3. 保存 /etc/opt/SUNWsamfs/mcf 文件并退出编辑器。

    在示例中,保存更改并退出 vi 编辑器:

    # Equipment          Equipment  Equipment  Family      Device   Additional
    # Identifier         Ordinal    Type       Set         State    Parameters
    #------------------  ---------  ---------  ---------   ------   ---------------
    swriterfs1           300        ma         swriterfs1  on  
     /dev/dsk/c0t0d0s0    301        mm         swriterfs1  on
     /dev/dsk/c0t3d0s0    302        mr         swriterfs1  on
     /dev/dsk/c0t3d0s1    303        mr         swriterfs1  on
    :wq
    [swriterfs1-mds-writer]root@solaris:~# 
    
  4. 运行 sam-fsd 命令检查 mcf 文件中是否有错误并更正发现的任何错误。

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

    [swriterfs1-mds-writer]root@solaris:~# sam-fsd
    ...
    Would start sam-stagerd()
    Would start sam-amld()
    [swriterfs1-mds-writer]root@solaris:~# 
    
  5. 指示 Oracle HSM 服务重新读取 mcf 文件并相应地重新配置自身。使用命令 samd config

    [swriterfs1-mds-writer]root@solaris:~# samd config
    Configuring SAM-FS
    [swriterfs1-mds-writer]root@solaris:~# 
    
  6. 使用 sammkfs 命令和文件系统的系列集名称创建文件系统,如配置高性能 ma 文件系统 中所述。

    在示例中,该命令创建了单写入器/多读取器文件系统 swriterfs1

    [swriterfs1-mds-writer]root@solaris:~# sammkfs swriterfs1
    Building 'swriterfs1' will destroy the contents of devices:
      /dev/dsk/c0t0d0s0
      /dev/dsk/c0t3d0s0
      /dev/dsk/c0t3d0s1
    Do you wish to continue? [y/N]yes ...
    
  7. 备份操作系统的 /etc/vfstab 文件。

    [swriterfs1-mds-writer]root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
    [swriterfs1-mds-writer]root@solaris:~# 
    
  8. 将新的文件系统添加到操作系统的 /etc/vfstab 文件,如配置高性能 ma 文件系统中所述。

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

    [swriterfs1-mds-writer]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       -
    ...
    swriterfs1 -        /swriterfs1 samfs   -     no
           
    
  9. /etc/vfstab 文件的 Mount Options 列中,输入writer 挂载选项。

    注意:

    确保在任何给定时间只有一个主机为 writer。允许多台主机使用 writer 选项挂载一个多读取器单写入器文件系统可能会损坏文件系统!
    #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       -
    ...
    swriterfs1 -        /swriterfs1 samfs   -     no       writer
    
  10. /etc/vfstab 文件进行所需的其他更改。使用逗号作为分隔符来添加挂载选项。

    例如,要在首次尝试不成功时在后台挂载文件系统,请将 bg 挂载选项添加到 Mount Options 字段中(有关可用挂载选项的综合列表,请参见 mount_samfs 手册页):

    #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       -
    ...
    swriterfs1 -        /swriterfs1 samfs   -     no       writer,bg
    
  11. 保存 /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       -
    ...
    swriterfs1 -        /swriterfs1 samfs   -     no       writer,bg      
    :wq
    [swriterfs1-mds-writer]root@solaris:~# 
    
  12. 创建在 /etc/vfstab 文件中指定的挂载点,并为挂载点设置访问权限。

    所有主机上的挂载点权限必须相同,且用户必须拥有执行 (x) 权限以转到挂载点目录并访问挂载的文件系统中的文件。在示例中,创建 /swriterfs1 挂载点目录并将权限设置为 755 (-rwxr-xr-x):

    [swriterfs1-mds-writer]root@solaris:~# mkdir /swriterfs1
    [swriterfs1-mds-writer]root@solaris:~# chmod 755 /swriterfs1
    [swriterfs1-mds-writer]root@solaris:~# 
    
  13. 挂载新文件系统:

    [swriterfs1-mds-writer]root@solaris:~# mount /swriterfs1
    [swriterfs1-mds-writer]root@solaris:~# 
    
  14. 创建了共享文件系统后,配置读取器

配置读取器

reader 是以只读方式挂载文件系统的主机。对于您要配置为 reader 的每个主机,请执行如下操作:

  1. root 用户身份登录主机。

    在本示例中,reader 主机名为 swriterfs-reader1]

    [swriterfs-reader1]root@solaris:~# 
    
  2. 在终端窗口中,使用 samfsconfig device-path 命令检索多读取器、单写入器文件系统的配置信息,其中 device-path 是命令应当从其开始搜索文件系统磁盘设备的位置(例如 /dev/*)。

    samfsconfig 实用程序会读取 sammkfs 在 Oracle HSM 文件系统中包括的每台设备上写入的标识超级块,以检索文件系统配置信息。该命令会返回配置中从当前主机开始的每台设备的正确路径,并标记无法连接的设备(有关命令语法和参数的完整信息,请参见 samfsconfig 手册页)。

    在示例中,samfsconfig 输出显示 swriterfs1-mds-writer 上的 mcf 文件中所列的相同设备,只是设备的路径是从主机 swriterfs1-reader1 开始指定的:

    [swriterfs1-reader1]root@solaris:~# samfsconfig /dev/dsk/*
    # Family Set 'swriterfs1' Created Thu Nov 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   -
    
  3. samfsconfig 输出复制共享文件系统的条目。然后,在另一个窗口中,在文本编辑器中打开文件 /etc/opt/SUNWsamfs/mcf,并将复制的条目粘贴到文件中。

    或者,您可以将 samfsconfig 的输出重定向至 mcf 文件。或者,您可以使用 samd buildmcf 命令运行 samfsconfig 并自动创建客户机 mcf 文件。

    在示例中,在我们添加注释掉的列标题之后,主机的 mcf 文件 swriterfs1-reader1 就会如下所示:

    [swriterfs1-reader1]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    -
    
  4. 确保所有设备的 Device State 字段均设置为 on。然后保存 mcf 文件。

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

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

    [swriterfs1-reader1]root@solaris:~# sam-fsd
    ...
    Would start sam-stagerd()
    Would start sam-amld()
    [swriterfs1-reader1]root@solaris:~# 
    
  6. 备份操作系统的 /etc/vfstab 文件。

    [swriterfs1-reader1]root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
    [swriterfs1-reader1]root@solaris:~# 
    
  7. 将单写入器多读取器文件系统添加到主机操作系统的 /etc/vfstab 文件。

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

    [swriterfs1-reader1]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       -
    ...
    swriterfs1 -        /swriterfs1 samfs   -     no        
        
    
  8. /etc/vfstab 文件的 Mount Options 列中,输入 reader 选项。

    注意:

    请确保主机使用 reader 选项挂载文件系统!无意中在多台主机上使用 writer 挂载选项可能会损坏文件系统!
    #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       -
    ...
    swriterfs1 -        /swriterfs1 samfs   -     no       reader      
    
  9. 使用逗号作为分隔符添加所需的任何其他挂载选项,并对 /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       -
    ...
    swriterfs1 -        /swriterfs1 samfs   -     no       writer,bg      
    :wq
    [swriterfs1-reader1]root@solaris:~# 
    
  10. 创建在 /etc/vfstab 文件中指定的挂载点,并为挂载点设置访问权限。

    所有主机上的挂载点权限必须相同,且用户必须拥有执行 (x) 权限,才能转到挂载点目录并访问挂载的文件系统中的文件。在示例中,就像在写入器主机上一样,创建 /swriterfs1 挂载点目录,并将权限设置为 755 (-rwxr-xr-x):

    [swriterfs1-reader1]root@solaris:~# mkdir /swriterfs1
    [swriterfs1-reader1]root@solaris:~# chmod 755 /swriterfs1
    [swriterfs1-reader1]root@solaris:~# 
    
  11. 挂载新文件系统:

    [swriterfs1-reader1]root@solaris:~# mount /swriterfs1
    [swriterfs1-reader1]root@solaris:~# 
    
  12. 重复该过程,直到所有读取器主机已配置为以只读方式挂载文件系统。

  13. 如果计划使用边带数据库功能,请转至配置报告数据库

  14. 否则,请转至配置通知和日志记录

配置 Oracle HSM 共享文件系统

Oracle HSM 共享文件系统可向多台 Oracle HSM 主机授予文件的读取、写入和附加访问权限。所有主机都会挂载该文件系统且可直接连接存储设备。此外,元数据服务器 (metadata server, MDS) 这台主机可独占控制文件系统元数据,并在尝试访问相同文件的主机之间起中介作用。该服务器通过以太网本地网络为客户机主机提供元数据更新,并通过发放、续订和撤销读取、写入和附加租约来控制文件访问。高性能 ma 或通用 ms 类型的非归档和归档文件系统都可共享。

要配置共享文件系统,请执行以下任务:

配置文件系统元数据服务器以进行共享

要配置元数据服务器以支持共享文件系统,请执行下列任务:

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

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

  1. root 用户身份登录服务器。

    在示例中,服务器名为 sharefs-mds

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

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

    [sharefs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.sharefs
    # /etc/opt/SUNWsamfs/hosts.sharefs
    #                                             Server   On/  Additional
    #Host Name            Network Interface       Ordinal  Off  Parameters
    #------------------   ----------------------  -------  ---  ----------
    
  3. 在两列中添加元数据服务器的主机名和 IP 地址或域名,以空格字符分隔。

    # /etc/opt/SUNWsamfs/hosts.sharefs
    #                                             Server   On/  Additional
    #Host Name            Network Interface       Ordinal  Off  Parameters
    #------------------   ----------------------  -------  ---  ----------
    sharefs-mds           10.79.213.117
    
  4. 添加第三列,用空格字符将其与网络地址隔开。在该列中,输入 1(活动元数据服务器的序号)。

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

    # /etc/opt/SUNWsamfs/hosts.sharefs
    #                                             Server   On/  Additional
    #Host Name            Network Interface       Ordinal  Off  Parameters
    #------------------   ----------------------  -------  ---  ----------
    sharefs-mds           10.79.213.117           1      
     
    
  5. 添加第四列,用空格字符将其与网络地址隔开。在此列中,输入 0(零)。

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

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

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

    在示例中,主机 sharefs-mds_alt 是服务器序号为 2 的一台潜在元数据服务器:

    # /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   
    
  8. 为每台客户机主机添加一行,每行中的服务器序号值都为 0

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

    # /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.147           0        0
    
  9. 保存 /etc/opt/SUNWsamfs/hosts.family-set-name 文件并退出编辑器。

    在示例中,保存对 /etc/opt/SUNWsamfs/hosts.sharefs 的更改并退出 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.147           0        0
    :wq
    [sharefs-mds]root@solaris:~# 
    
  10. 在共享文件系统配置中包括的所有潜在元数据服务器上放置 /etc/opt/SUNWsamfs/hosts.family-set-name 新文件的一个副本。

  11. 现在,在活动元数据服务器上创建共享文件系统

在活动服务器上创建共享文件系统

执行如下操作:

  1. root 用户身份登录服务器。

    在示例中,服务器名为 sharefs-mds

    [sharefs-mds]root@solaris:~# 
    
  2. 在元数据服务器 (metadata server, MDS) 上,在文本编辑器中打开 /etc/opt/SUNWsamfs/mcf 文件并添加一个 QFS 文件系统。可以配置通用 ms高性能 ma 文件系统。

    在下面的示例中,使用 vi 文本编辑器编辑主机 sharefs-mds 上的 mcf 文件。示例使用设备标识符和系列集名称 sharefs 以及设备序号 300 指定 ma 文件系统:

    [sharefs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    # Equipment           Equipment  Equipment  Family     Device   Additional
    # Identifier          Ordinal    Type       Set        State    Parameters
    #------------------   ---------  ---------  ---------  ------   ---------------
    sharefs               300        ma         sharefs    on       
     /dev/dsk/c0t0d0s0     301        mm         sharefs    on
     /dev/dsk/c0t3d0s0     302        mr         sharefs    on
     /dev/dsk/c0t3d0s1     303        mr         sharefs    on
    
  3. ma 文件系统设备所在行的 Additional Parameters 字段中,输入 shared 参数:

    # Equipment           Equipment   Equipment  Family     Device   Additional
    # Identifier          Ordinal    Type       Set        State    Parameters
    #------------------   ---------  ---------  ---------  ------   ---------------
    sharefs               300         ma        sharefs    on       shared
     /dev/dsk/c0t0d0s0     301         mm        sharefs    on
     /dev/dsk/c0t3d0s0     302         mr        sharefs    on
     /dev/dsk/c0t3d0s1     303         mr        sharefs    on
    
  4. 保存 /etc/opt/SUNWsamfs/mcf 文件并退出编辑器。

    在示例中,保存更改并退出 vi 编辑器:

    sharefs               300         ma         sharefs    on      shared
     /dev/dsk/c0t0d0s0     301         mm         sharefs    on
     /dev/dsk/c0t3d0s0     302         mr         sharefs    on
     /dev/dsk/c0t3d0s1     303         mr         sharefs    on
    :wq
    [sharefs-mds]root@solaris:~# 
    
  5. 运行 sam-fsd 命令检查 mcf 文件中是否有错误并更正发现的任何错误。

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

    [sharefs-mds]root@solaris:~# sam-fsd
    ...
    Would start sam-stagerd()
    Would start sam-amld()
    [sharefs-mds]root@solaris:~# 
    
  6. 指示 Oracle HSM 服务重新读取 mcf 文件并相应地重新配置自身。更正报告的任何错误并根据需要重复。

    [sharefs-mds]root@solaris:~# samd config
    [sharefs-mds]root@solaris:~# 
    
  7. 使用 sammkfs -S 命令和文件系统的系列集名称创建文件系统,如配置高性能 ma 文件系统中所述。

    sammkfs 命令读取 hosts.family-set-namemcf 文件,并创建具有指定属性的共享文件系统。在示例中,该命令会从 hosts.sharefs 文件读取共享参数,并创建共享文件系统 sharefs

    [sharefs-mds]root@solaris:~# sammkfs -S sharefs
    Building 'sharefs' will destroy the contents of devices:
      /dev/dsk/c0t0d0s0
      /dev/dsk/c0t3d0s0
      /dev/dsk/c0t3d0s1
    Do you wish to continue? [y/N]yes ...
    [sharefs-mds]root@solaris:~# 
    
  8. 接下来,在活动元数据服务器上挂载共享文件系统

在活动服务器上挂载共享文件系统
  1. root 用户身份登录服务器。

    在示例中,服务器名为 sharefs-mds

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

    [sharefs-mds]root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
    [sharefs-mds]root@solaris:~# 
    
  3. 将新的文件系统添加到操作系统的 /etc/vfstab 文件,如配置高性能 ma 文件系统中所述。

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

    [sharefs-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       -
    ...
    sharefs   -        /sharefs   samfs   -     no     
    
  4. Mount Options 列中,输入 shared 选项:

    #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 文件进行所需的其他更改。

    例如,要在首次尝试不成功时在后台重试挂载文件系统,请将 bg 挂载选项添加到 Mount Options 字段中(有关可用挂载选项的完整描述,请参见 mount_samfs 手册页):

    #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,bg     
     
    
  6. 保存 /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,bg      
    :wq
    [sharefs-mds]root@solaris:~# 
    
  7. 创建在 /etc/vfstab 文件中指定的挂载点,并为挂载点设置访问权限。

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

    [sharefs-mds]root@solaris:~# mkdir /sharefs
    [sharefs-mds]root@solaris:~# chmod 755 /sharefs
    [sharefs-mds]root@solaris:~# 
    
  8. 挂载新文件系统:

    [sharefs-mds]root@solaris:~# mount /sharefs
    [sharefs-mds]root@solaris:~# 
    
  9. 如果您的主机配置了多个网络接口,可能需要使用本地 hosts 文件来路由网络通信

  10. 否则,在元数据服务器上创建了共享文件系统后,配置文件系统客户机以进行共享

配置文件系统客户机以进行共享

客户机包括仅配置为客户机的主机以及配置为潜在元数据服务器的主机。在大多数方面,配置客户机与配置服务器基本相同。每台客户机与服务器包括的设备完全相同,只是挂载选项和设备的具体路径会更改(控制器编号由每台客户机主机分配,因此可能有所不同)。

要配置一台或多台客户机以支持共享文件系统,请执行下列任务:

在 Solaris 客户机上创建共享文件系统

针对每个客户机,执行如下操作:

  1. 在客户机上,以 root 用户身份登录。

    在示例中,服务器名为 sharefs-client1

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

    samfsconfig 命令检索共享文件系统的配置信息。

    [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
    ...
    Would start sam-stagerd()
    Would start sam-amld()
    [sharefs-client1]root@solaris:~# 
    
  12. 此时,如果您的主机配置了多个网络接口,可能需要使用本地 hosts 文件来路由网络通信

  13. 接下来,在 Solaris 客户机上挂载共享文件系统

在 Solaris 客户机上挂载共享文件系统

针对每个客户机,执行如下操作:

  1. 在 Solaris 客户机上,以 root 用户身份登录。

    在示例中,服务器名为 sharefs-client1

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

    [sharefs-client1]root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
    [sharefs-client1]root@solaris:~# 
    
  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. 使用逗号作为分隔符添加所需的任何其他挂载选项,并对 /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       -
    :wq
    [sharefs-client1]root@solaris:~# 
    
  5. 创建在 /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:~# 
    
  6. 挂载共享文件系统:

    [sharefs-client1]root@solaris:~# mount /sharefs
    [sharefs-client1]root@solaris:~# 
    
  7. 如果共享文件系统包括 Linux 客户机,请在 Linux 客户机上创建共享文件系统

  8. 如果您要配置 Oracle HSM 共享的归档文件系统,请转至下一个任务:为共享文件系统配置归档存储

  9. 否则,请在此处停止。您已配置 Oracle HSM 共享文件系统。

在 Linux 客户机上创建共享文件系统

针对每个客户机,执行如下操作:

  1. 在 Linux 客户机上,以 root 用户身份登录。

    在本示例中,Linux 客户机主机名为 sharefs-clientL

    [sharefs-clientL][root@linux ~]# 
    
  2. 在终端窗口中,输入命令 samfsconfig device-path,其中 device-path 是该命令应开始搜索文件系统磁盘设备的位置(如 /dev/*)。

    samfsconfig 命令检索共享文件系统的配置信息。因为 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 文件中,取消注释数据设备的条目。

    # 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
    ...
    Would start sam-stagerd()
    Would start sam-amld()
    [sharefs-clientL][root@linux ~]# 
    
  9. 现在,在 Linux 客户机上挂载共享文件系统

在 Linux 客户机上挂载共享文件系统

针对每个客户机,执行如下操作:

  1. 在 Linux 客户机上,以 root 用户身份登录。

    在本示例中,Linux 客户机主机名为 sharefs-clientL

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

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

    在示例中,在备份 sharefs-clientL 上的 /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 挂载选项。

    #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 
    [sharefs-clientL][root@linux ~]# 
    
  9. 如果您要配置 Oracle HSM 共享的归档文件系统,请转至下一个任务:为共享文件系统配置归档存储

  10. 如果计划使用边带数据库功能,请转至配置报告数据库

  11. 否则,请转至配置通知和日志记录

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

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

每个文件系统主机在元数据服务器上查找其他主机的网络接口。文件系统的全局 hosts 文件 /etc/opt/SUNWsamfs/hosts.family-set-name 中列出了主机名和 IP 地址,其中 family-set-name 是共享文件系统的系列集编号。然后,主机查找本地 hosts 文件 /etc/opt/SUNWsamfs/hosts.family-set-name.local

如果没有本地 hosts 文件,则主机使用在全局 hosts 文件中指定的接口地址。按照全局文件指定的顺序使用主机。

如果有本地 hosts 文件,则主机将其与全局文件进行比较并仅使用在两个文件中都列出的接口。按照本地文件中指定的顺序使用主机。

因此,通过在每个文件中使用不同的地址,您可以控制不同主机使用的接口。要配置本地 hosts 文件,请使用下面概述的过程:

  1. 在每个活动元数据服务器主机和潜在元数据服务器主机上,编辑共享文件系统的全局 hosts 文件,以使其按照所需的方法路由服务器和主机通信。

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

    此处需要活动元数据服务器和潜在元数据服务器彼此之间通过专用网络地址进行通信,与客户机的通信通过域名服务 (Domain Name Service, DNS) 可以解析为公共局域网 (local area network, LAN) 地址的主机名进行。

    因此我们编辑 /etc/opt/SUNWsamfs/hosts.sharefs2(文件系统的全局 hosts 文件)。我们指定活动服务器和潜在服务器的专用网络接口地址。但是,对于客户机,我们提供主机名(而不是地址):

    [sharefs2-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.sharefs2
    # /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
    :wq
    [sharefs2-mds]root@solaris:~# 
    
  2. 在每台活动元数据服务器和潜在元数据服务器上创建一个本地 hosts 文件,使用路径和文件名 /etc/opt/SUNWsamfs/hosts.family-set-name.local,其中 family-set-name 是共享文件系统的设备标识符。请仅包括您希望活动服务器和潜在服务器使用的网络的接口。

    在我们的示例中,我们希望活动元数据服务器和潜在元数据服务器彼此之间通过专用网络进行通信,因此,每个服务器上的本地 hosts 文件 hosts.sharefs2.local 仅列出两个主机(活动元数据服务器和潜在元数据服务器)的专用地址

    [sharefs2-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.sharefs2.local
    # /etc/opt/SUNWsamfs/hosts.sharefs2 on sharefs2-mds
    #                                    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.local on sharefs2-mds_alt
    #                                    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. 在每台客户机上创建一个本地 hosts 文件,使用路径和文件名 /etc/opt/SUNWsamfs/hosts.family-set-name.local,其中 family-set-name 是共享文件系统的设备标识符。请仅包括您希望客户机使用的网络的接口。

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

    [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.local on sharefs2-client1 
    #                                    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.local on sharefs2-client2
    #                                    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. 如果您在完成服务器配置的同时启动了此过程,请转至在活动服务器上挂载共享文件系统

  5. 如果您在配置客户机时启动该过程,现在应在 Solaris 客户机上挂载共享文件系统

为共享文件系统配置归档存储

要为 Oracle HSM 共享文件系统设置归档存储,请执行以下任务:

使用永久绑定将磁带机连接到服务器和数据移动器主机

在共享归档文件系统中,所有潜在元数据服务器必须有权访问库和磁带机。如果您决定将磁带 I/O 分布到共享归档文件系统的主机上,则一个或多个客户机还将需要访问驱动器。因此,您必须配置其中的每台主机,以使用一致的方式对每个驱动器进行寻址。

Solaris 操作系统按照启动时发现设备的顺序连接系统设备树中的驱动器。该顺序可能会也可能不会反映其他文件系统主机发现设备的顺序或设备在可移动介质库中的物理安装顺序。因此,您需要使用与将设备绑定到其他主机相同的方式将其永久绑定到每台主机,顺序与其在可移除介质库中的安装顺序相同。

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

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

    [sharefs-mds]root@solaris:~# 
    
  2. 如果您不知道库中驱动器的当前物理顺序,请按确定驱动器在库中的安装顺序所述创建映射文件。

    在示例中,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 文件作为指南,向 /etc/devlink.tab 文件中添加一行,以将 Solaris 磁带设备树中的起始节点 rmt/node-number 重新映射到磁带库中的第一个设备。以 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 设备节点(rmt/61rmt/62rmt/63),保持与在库中相同的顺序:

    [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

    在示例中,潜在元数据服务器是 sharefs-mds_alt,数据移动器客户机是 sharefs-client1。因此,编辑这两者中的 /etc/devlink.tab 文件,使其与活动服务器 sharefs-mds 中的文件匹配。然后,删除 sharefs-mds_altsharefs-client1/dev/rmt 中的现有链接,并针对这两者运行 devfsadm -c tape

    [sharefs-mds]root@solaris:~# ssh 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 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. 现在,配置归档文件系统的主机以便其可以使用归档存储

配置归档文件系统的主机以使用归档存储

针对活动元数据服务器以及每台潜在元数据服务器和数据移动器客户机,执行如下操作:

  1. root 用户身份登录主机。

    [sharefs-host]root@solaris:~# 
    
  2. 在文本编辑器中打开 /etc/opt/SUNWsamfs/mcf 文件。

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

    [sharefs-host]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf 
    sharefs                  100       ms        sharefs on
     /dev/dsk/c1t3d0s3        101       md        sharefs on
     /dev/dsk/c1t3d0s4        102       md        sharefs on
    ...
    
  3. /etc/opt/SUNWsamfs/mcf 文件中的文件系统定义之后,开始归档存储设备的部分。

    在示例中,添加一些标题进行说明:

    [sharefs-host]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf 
    ...
    # Archival storage for copies:
    #
    # Equipment              Equipment Equipment Family    Device Additional
    # Identifier             Ordinal   Type      Set       State  Parameters
    #----------------------- --------- --------- --------- ------ ----------------
    
  4. 要添加归档磁带存储,请先添加一个库条目。在设备标识符字段中,输入库的设备 ID 并分配设备序号:

    在本示例中,库设备标识符为 /dev/scsi/changer/c1t0d5。我们将设备序号设置为 900(即所选磁盘归档范围的下一个范围):

    # Archival storage for copies:
    #
    # Equipment              Equipment Equipment Family    Device Additional
    # Identifier             Ordinal   Type      Set       State  Parameters
    #----------------------- --------- --------- --------- ------ ----------------
    /dev/scsi/changer/c1t0d5 900
    
  5. 将设备类型设置为 rb(一个通用 SCSI 连接磁带库),为磁带库系列集提供一个名称,并将设备状态设置为 on

    在本示例中,我们将使用库 library1

    # Archival storage for copies:
    #
    # Equipment              Equipment Equipment Family    Device Additional
    # Identifier             Ordinal   Type      Set       State  Parameters
    #----------------------- --------- --------- --------- ------ ----------------
    /dev/scsi/changer/c1t0d5 900       rb        library1  on
    
  6. Additional Parameters 列中,可以输入可选的用户定义的库目录路径和名称。

    可选的非默认路径不能超过 127 个字符。在示例中,使用默认路径 var/opt/SUNWsamfs/catalog/,用户定义的目录文件名为 library1cat。请注意,由于文档布局的限制,示例中对路径进行了缩写:

    # Archival storage for copies:
    #
    # Equipment              Equipment Equipment Family    Device Additional
    # Identifier             Ordinal   Type      Set       State  Parameters
    #----------------------- --------- --------- --------- ------ ----------------
    /dev/scsi/changer/c1t0d5 900       rb        library1  on     .../library1cat
    
  7. 接下来,针对每个磁带机添加一个条目。使用我们在使用永久绑定将磁带机连接到服务器和数据移动器主机 过程中生成的永久设备标识符。

    # Archival storage for copies:
    #
    # Equipment              Equipment Equipment Family    Device Additional
    # Identifier             Ordinal   Type      Set       State  Parameters
    #----------------------- --------- --------- --------  ------ -----------------
    DISKVOL1                  800       ms       DISKVOL1  on
     /dev/dsk/c6t0d1s7         801       md       DISKVOL1  on
     /dev/dsk/c4t0d2s7         802       md       DISKVOL1  on
    /dev/scsi/changer/c1t0d5  900       rb       library1  on     .../library1cat
     /dev/rmt/60cbn            901       tp       library1 on
     /dev/rmt/61cbn            902       tp       library1  on
     /dev/rmt/62cbn            903       tp       library1  on
     /dev/rmt/63cbn            904       tp       library1  on
    
  8. 最后,如果您希望自行配置 Oracle HSM 历史记录,请使用设备类型 hy 添加一个条目。在系列集和设备状态列中输入一个连字符,并在附加参数列中输入历史记录目录的路径。

    历史记录是一个虚拟库,用于对已从归档中导出的卷进行编录。如果您未配置历史记录,则软件会使用指定的最高设备序号增加一来自动创建一个历史记录。

    请注意,由于页面布局的限制,我们在示例中缩写了历史记录目录的路径。完整路径是 /var/opt/SUNWsamfs/catalog/historian_cat

    # Archival storage for copies:
    #
    # Equipment              Equipment Equipment Family    Device Additional
    # Identifier             Ordinal   Type      Set       State  Parameters
    #----------------------- --------- --------- --------- ------ ----------------
    /dev/scsi/changer/c1t0d5 900       rb        library1  on     ...catalog/library1cat
     /dev/rmt/60cbn           901       tp        library1  on
     /dev/rmt/61cbn           902       tp        library1  on
     /dev/rmt/62cbn           903       tp        library1  on
     /dev/rmt/63cbn           904       tp        library1  on
    historian                999       hy        -         -     .../historian_cat
    
  9. 保存 mcf 文件并关闭编辑器。

    ...
     /dev/rmt/3cbn            904       tp        library1  on
    historian                999       hy         -      -      .../historian_cat
    :wq
    [sharefs-host]root@solaris:~# 
    
  10. 运行 sam-fsd 命令检查 mcf 文件是否存在错误。更正发现的任何错误。

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

    [sharefs-host]root@solaris:~# sam-fsd
    ...
    Would start sam-stagealld()
    Would start sam-stagerd()
    Would start sam-amld()
    [sharefs-host]root@solaris:~# 
    
  11. 指示 Oracle HSM 服务重新读取 mcf 文件并相应地重新配置自身。更正报告的任何错误并根据需要重复。

    [sharefs-host]root@solaris:~# samd config
    Configuring SAM-FS
    [sharefs-host]root@solaris:~# 
    
  12. 重复该过程,直到所有活动元数据服务器和潜在元数据服务器以及所有数据移动器客户机都已配置为使用归档存储。

  13. 如果需要,将磁带 I/O 分布到共享归档文件系统的主机上

  14. 如果计划使用边带数据库功能,请转至配置报告数据库

  15. 否则,请转至配置通知和日志记录

将磁带 I/O 分布到共享归档文件系统的主机上

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

要将磁带 I/O 分布到共享归档文件系统的主机上,请执行如下操作:

  1. 将要用于分布式 I/O 的所有设备连接到文件系统元数据服务器和将处理磁带 I/O 的所有文件系统客户机。

  2. 如果您尚未执行此操作,则使用永久绑定将磁带机连接到将用作数据移动器的每个客户机。然后返回此处。

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

    在本示例中,服务器的主机名是 samsharefs-mds

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

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

    在示例中,使用 ssh 远程登录到客户机主机 samsharefs-client1samsharefs-client2 并从登录标题处获取 Solaris 版本:

    [samsharefs-mds]root@solaris:~# ssh root@samsharefs-client1
    Password:
    Oracle Corporation      SunOS 5.11      11.1    September 2013
    [samsharefs-client1]root@solaris:~# exit
    [samsharefs-mds]root@solaris:~# ssh root@samsharefs-client2
    Password:
    Oracle Corporation      SunOS 5.11      11.1    September 2013
    [samsharefs-client2]root@solaris:~# exit
    [samsharefs-mds]root@solaris:~# 
    
  6. 计算可以为分布式 I/O 配置中的每个磁带机分配作为缓冲区空间的系统内存量。将可用总内存除以磁带机数量并减去合理安全边界:

    (total-memory bytes)/(drive-count drives) = memory bytes/drive 
    (memory bytes/drive) - (safe-margin bytes/drive) = buffsize bytes/drive
     
    

    Oracle HSM 为使用的每个磁带机分配一个缓冲区。所以,确保不会在无意中配置大于系统内存可以提供的缓冲区空间。在本示例中,我们发现每个磁带机可以分配不超过 224 KB。所以,我们向下舍入到 128 以允许一个安全边界。

    ((3584 kilobytes)/(16 drives)) = 224 kilobytes/drive
    buffsize = 128 kilobytes/drive
     
    
  7. 计算了可以分配给每个磁带机的缓冲区大小后,计算 Oracle HSM 设备块大小以及将适合指定大小的缓冲区的块数。

    (number blocks/buffer)*block-size bytes/block/drive = buffersize bytes/drive
    

    改变块数和块大小,直到两者的积小于或等于计算的缓冲区大小。块数必须处于 [2-8192] 范围内。在本示例中,我们确定每个缓冲区有两个块,每块为 64 KB:

    (2 blocks/buffer)*(64 kilobytes/block/drive) = 128 kilobytes/drive
    
  8. 在元数据服务器上,在文本编辑器中打开 /etc/opt/SUNWsamfs/archiver.cmd 文件。在文件顶部的常规指令部分中的新行中,输入 bufsize = media-type media-blocks,其中:

    • media-typemcf 文件为用于分布式 I/O 的磁带机和介质分配的类型代码。

    • media-blocks 是您上面计算的每个缓冲区包含的块数。

    保存文件并关闭编辑器。

    在本示例中,我们登录到服务器 samsharefs-mds 并使用 vi 编辑器添加行 bufsize = ti 2,其中 ti 是我们使用的 Oracle StorageTek T10000 磁带机的介质类型,2 是我们计算的每个磁带机缓冲区包含的块数:

    [samsharefs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/archiver.cmd
    #       archiver.cmd
    #-----------------------------------------------------------------------
    # General Directives
    archivemeta = off
    examine = noscan
    bufsize = ti 2
    :wq
    [samsharefs-mds]root@solaris:~# 
    
  9. 在元数据服务器上,在文本编辑器中打开 /etc/opt/SUNWsamfs/defaults.conf 文件。对于将参与分布式 I/O 的每种介质类型,输入格式为 media-type_blksize =size 的行,其中:

    • media-typemcf 文件为用于分布式 I/O 的磁带机和介质分配的类型代码。

    • size 是您在此过程中先前计算的块大小。

    默认情况下,StorageTek T10000 磁带机的设备块大小为 2 MB 或 2048 KB (ti_blksize = 2048)。所以,在本示例中,我们使用计算的块大小(64 KB)覆盖默认值:

    [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.
    ...
    #li_blksize = 256
    ti_blksize = 64
    [samsharefs-mds]root@solaris:~# 
    
  10. 仍在 /etc/opt/SUNWsamfs/defaults.conf 文件中时,如果需要,取消注释行 #distio = off,如果它不存在,则添加该行。

    默认情况下,distio 处于 off(禁用)状态。在本示例中,我们添加行 distio = on

    ...
    distio = on
    
  11. 仍在 /etc/opt/SUNWsamfs/defaults.conf 文件中时,启用应参与分布式 I/O 的每种设备类型。在新行中,输入 media-type _distio = on,其中 media-typemcf 文件为磁带机和介质分配的类型代码。

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

    ...
    distio = on
    ti_distio = on
    
  12. 仍在 /etc/opt/SUNWsamfs/defaults.conf 文件中时,禁用不应参与分布式 I/O 的每种设备类型。在新行中,输入 media-type _distio = off,其中 media-typemcf 文件为磁带机和介质分配的类型代码。

    在示例中,排除 LTO 驱动器:

    ...
    distio = on
    ti_distio = on
    li_distio = off
    
  13. 编辑完 /etc/opt/SUNWsamfs/defaults.conf 文件后,保存内容并关闭编辑器。

    ...
    distio = on
    ti_distio = on
    li_distio = off
    :wq
    [samsharefs-mds]root@solaris:~# 
    
  14. 在用作数据移动器的每台客户机上,编辑 defaults.conf 文件,使其与服务器上的该文件匹配。

  15. 在用作数据移动器的每台客户机上,在文本编辑器中打开 /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
    
  16. 如果在用作数据移动器的客户机上配置了元数据服务器上的 /etc/opt/SUNWsamfs/mcf 文件中列出的磁带库,请将磁带库系列集指定为用于分布式磁带 I/O 的磁带设备的系列集名称。保存文件。

    在示例中,在主机 samsharefs-client1 上配置了磁带库,因此为磁带设备使用系列集名称 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     .../library1cat
     /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:~# 
    
  17. 如果在用作数据移动器的客户机上配置元数据服务器上的 /etc/opt/SUNWsamfs/mcf 文件中列出的磁带库,请使用连字符 (-) 作为用于分布式磁带 I/O 的磁带设备的系列集名称。然后保存文件并关闭编辑器。

    在示例中,未在主机 samsharefs-client2 上配置磁带库,因此使用连字符作为磁带设备的系列集名称:

    [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:~# 
    
  18. 如果您需要为特定的归档集副本启用或禁用分布式磁带 I/O,请登录服务器,在文本编辑器中打开 /etc/opt/SUNWsamfs/archiver.cmd 文件并向 copy 指令添加 -distio 参数。设置 -distio on 以启用分布式 I/O 或设置 -distio off 以禁用分布式 I/O。保存文件。

    在示例中,登录服务器 samsharefs-mds,并使用 vi 编辑器将副本 1 的分布式 I/O 设为 off

    [samsharefs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/archiver.cmd
    #       archiver.cmd
    ...
    params
    allsets -sort path -offline_copy stageahead
    allfiles.1 -startage 10m -startsize 500M -startcount 500000 -distio off
    allfiles.2 -startage 24h -startsize 20G  -startcount 500000 -reserve set
    :wq
    [samsharefs-mds]root@solaris:~# 
    
  19. 运行 sam-fsd 命令以检查配置文件中是否有错误。更正发现的任何错误。

    sam-fsd 命令会读取 Oracle HSM 配置文件并初始化文件系统。如果遇到错误,该命令将停止。在示例中,在服务器 sharefs-mds 上运行命令:

    [sharefs-mds]root@solaris:~# sam-fsd
    
  20. 告知 Oracle HSM 服务读取修改的配置文件,并相应重新配置自身。更正报告的任何错误并根据需要重复。

    [sharefs-mds]root@solaris:~# samd config
    
  21. 要验证是否已成功激活分布式 I/O,请使用命令 samcmd g。如果 DATAMOVER 标志显示在客户机的输出中,则表示已成功激活分布式 I/O。

    在示例中,显示了该标志:

    [samsharefs-mds]root@solaris:~# samcmd g
    Shared clients samcmd 6.0.dist_tapeio 11:09:13 Feb 20 2014
    samcmd on samsharefs-mds
    samsharefs is shared, server is samsharefs-mds, 2 clients 3 max
    ord hostname             seqno nomsgs status   config  conf1  flags
      1 samsharefs-mds          14      0   8091  808540d   4051      0 MNT SVR
     
        config   :   CDEVID      ARCHIVE_SCAN    GFSID   OLD_ARCHIVE_FMT
        "        :   SYNC_META   TRACE   SAM_ENABLED     SHARED_MO
        config1  :   NFSV4_ACL   MD_DEVICES      SMALL_DAUS      SHARED_FS
        flags    :
        status   :   MOUNTED     SERVER  SAM     DATAMOVER
        last_msg :  Wed Jul  2 10:13:50 2014
     
      2 samsharefs-client1     127      0   a0a1  808540d   4041      0 MNT CLI
     
        config   :   CDEVID      ARCHIVE_SCAN    GFSID   OLD_ARCHIVE_FMT
        "        :   SYNC_META   TRACE   SAM_ENABLED     SHARED_MO
        config1  :   NFSV4_ACL   MD_DEVICES      SHARED_FS
        flags    :
        status   :   MOUNTED     CLIENT  SAM     SRVR_BYTEREV
        "        :   DATAMOVER
    ...
    
  22. 如果计划使用边带数据库功能,请转至配置报告数据库

  23. 否则,请转至配置通知和日志记录

使用 NFS 和 SMB/CIFS 从多台主机访问文件系统

多台主机可以使用网络文件系统 (Network File System, NFS) 或服务器消息块 (Server Message Block, SMB)/通用 Internet 文件系统 (Common Internet File System, CIFS) 来访问 Oracle HSM 文件系统,以取代或补充 Oracle HSM 软件对多主机文件系统访问的本机支持(请参见使用 Oracle HSM 软件从多台主机访问文件系统)。下面几节概述了基本配置步骤:

使用 NFS 共享 Oracle HSM 文件系统

执行以下任务:

在使用 NFS 4 共享 Oracle HSM 共享文件系统之前禁用委托

如果您使用 NFS 来共享 Oracle HSM 共享文件系统,需要确保 Oracle HSM 软件会控制对文件的访问而不受 NFS 的干扰。这通常没有问题,因为在 NFS 服务器代表其客户机访问文件时,它是作为 Oracle HSM 共享文件系统的客户机进行操作的。但是,如果 NFS 版本 4 服务器配置为将读写访问控制委托给其客户机,则可能会发生问题。委托比较有吸引力,因为服务器只需要为阻止可能的冲突而进行干涉。服务器的部分工作负荷会分布于 NFS 客户机,网络流量也会减小。但是,委托会授予独立于 Oracle HSM 服务器的权限(特别是写访问权限),该权限也用于控制从其自身的共享文件系统客户机进行的访问。为防止冲突和可能的文件损坏,您必须禁用委托。请执行如下操作。

  1. 登录到您要配置为 NFS 共享的 Oracle HSM 文件系统的主机。以 root 用户身份登录。

    如果文件系统为 Oracle HSM 共享文件系统,请登录到该文件系统的元数据服务器。在下面的示例中,服务器名称为 qfsnfs

    [qfsnfs]root@solaris:~# 
    
  2. 如果您使用的是 NFS 版本 4 且 NFS 服务器运行的是 Solaris 11.1 或更高版本,请使用服务管理工具 (Service Management Facility, SMF) 的 sharectl set -p 命令将 NFS server_delegation 属性设置为 off

    [qfsnfs]root@solaris:~# sharectl set -p server_delegation=off
    
  3. 如果您使用的是 NFS 版本 4 且 NFS 服务器运行的是 Solaris 11.0 或更低版本,请在文本编辑器中打开 /etc/default/nfs 文件并将 NFS_SERVER_DELEGATION 参数设置为 off,以禁用委托。保存文件并关闭编辑器。

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

    [qfsnfs]root@solaris:~# vi /etc/default/nfs
    # ident "@(#)nfs        1.10    04/09/01 SMI"
    # Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
    # Use is subject to license terms.
    ...
    NFS_SERVER_DELEGATION=off
    :wq
    [qfsnfs]root@solaris:~# 
    
  4. 如果您要共享的 Oracle HSM 文件系统支持一次写入多次读取 (Write-Once Read-Many, WORM) 功能,则您现在应该配置 NFS 服务器和客户机以共享 WORM 文件和目录

  5. 否则,在 Oracle HSM 主机上配置 NFS 服务器

配置 NFS 服务器和客户机以共享 WORM 文件和目录

  1. 登录到您想使用 NFS 进行共享的 Oracle HSM 文件系统的主机。以 root 用户身份登录。

    如果文件系统为 Oracle HSM 共享文件系统,请登录到该文件系统的元数据服务器。在下面的示例中,服务器名称为 qfsnfs,客户机名称为 nfsclient1

    [qfsnfs]root@solaris:~# 
    
  2. 如果您要共享的 Oracle HSM 文件系统使用 WORM 功能,且托管于运行 Oracle Solaris 10 或更高版本的服务器上,请确保已在 NFS 服务器和所有客户机上启用 NFS 版本 4。

    在示例中,检查服务器 qfsnfs 和客户机 nfsclient1。在每种情况下,先使用 uname -r 命令检查 Solaris 版本级别。然后,将 modinfo 命令的输出通过管道传输到 grep 和一个正则表达式,以查找 NFS 版本信息:

    [qfsnfs]root@solaris:~# uname -r
    5.11
    [qfsnfs]root@solaris:~# modinfo | grep -i "nfs.* version 4"
    258 7a600000  86cd0  28   1  nfs (network filesystem version 4)
    [qfsnfs]root@solaris:~# ssh root@nfsclient1
    Pasword: ...
    [nfsclient1]root@solaris:~# uname -r
    5.11
    [nfsclient1]root@solaris:~# modinfo | grep -i "nfs.* version 4"
    278 fffffffff8cba000  9df68  27   1  nfs (network filesystem version 4)
    [nfsclient1]root@solaris:~# exit
    [qfsnfs]root@solaris:~# 
    
  3. 如果未在运行 Oracle Solaris 10 或更高版本的服务器上启用 NFS 版本 4,请以 root 用户身份登录到服务器和每台客户机。然后,使用 sharectl set 命令启用 NFS 4:

    [qfsnfs]root@solaris:~# sharectl set -p server_versmax=4 nfs
    [qfsnfs]root@solaris:~# ssh root@nfsclient1
    Password ...
    [nfsclient1]root@solaris:~# sharectl set -p server_versmax=4 nfs
    [nfsclient1]root@solaris:~# exit
    [qfsnfs]root@solaris:~# 
    
  4. 接下来,在 Oracle HSM 主机上配置 NFS 服务器

在 Oracle HSM 主机上配置 NFS 服务器

您必须配置网络文件系统 (Network File System, NFS) 服务器,使其不要在文件系统成功挂载到主机上之前尝试共享 Oracle HSM 文件系统,客户机才能成功使用 NFS 挂载 Oracle HSM 文件系统。在 Oracle Solaris 10 和操作系统的后续版本下,服务管理工具 (Service Management Facility, SMF) 会管理引导时文件系统的挂载。如果您不使用下面的过程配置 NFS,QFS 挂载或 NFS 共享中的一个会成功,另一个会失败。

  1. 登录到您要配置为 NFS 共享的 Oracle HSM 文件系统的主机。以 root 用户身份登录。

    如果文件系统为 Oracle HSM 共享文件系统,请登录到该文件系统的元数据服务器。在下面的示例中,服务器名称为 qfsnfs

    [qfsnfs]root@solaris:~# 
    
  2. 重定向 svccfg export /network/nfs/server 命令的输出,以将现有的 NFS 配置导出到一个 XML 清单文件。

    在示例中,将导出的配置定向到清单文件 /var/tmp/server.xml

    [qfsnfs]root@solaris:~# svccfg export /network/nfs/server > /var/tmp/server.xml
    [qfsnfs]root@solaris:~# 
    
  3. 在文本编辑器中打开该清单文件并找到 filesystem-local 依赖项。

    在示例中,用 vi 编辑器打开文件。filesystem-local 依赖项的条目就列在 nfs-server_multi-user-server 依赖项的条目前面:

    [qfsnfs]root@solaris:~# vi /var/tmp/server.xml
    <?xml version='1.0'?>
    <!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
    <service_bundle type='manifest' name='export'>
      <service name='network/nfs/server' type='service' version='0'>
        ...
        <dependency name='filesystem-local' grouping='require_all' restart_on='error' type='service'>
          <service_fmri value='svc:/system/filesystem/local'/>
        </dependency>
        <dependent name='nfs-server_multi-user-server' restart_on='none'
            grouping='optional_all'>
          <service_fmri value='svc:/milestone/multi-user-server'/>
        </dependent>
        ...
    
  4. 紧接着 filesystem-local 依赖项,添加一个 qfs 依赖项来挂载 QFS 共享文件系统。然后保存文件并退出编辑器。

    这样在挂载 Oracle HSM 共享文件系统之后,服务器才会尝试通过 NFS 共享该系统:

    <?xml version='1.0'?>
    <!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
    <service_bundle type='manifest' name='export'>
      <service name='network/nfs/server' type='service' version='0'>
        ...
        <dependency name='filesystem-local' grouping='require_all' restart_on='error' type='service'>
          <service_fmri value='svc:/system/filesystem/local'/>
        </dependency>
        <dependency name='qfs' grouping='require_all' restart_on='error' type='service'>
          <service_fmri value='svc:/network/qfs/shared-mount:default'/>
        </dependency>
        <dependent name='nfs-server_multi-user-server' restart_on='none'
            grouping='optional_all'>
          <service_fmri value='svc:/milestone/multi-user-server'/>
        </dependent>
    :wq
    [qfsnfs]root@solaris:~# 
    
  5. 使用 svccfg validate 命令验证清单文件。

    [qfsnfs]root@solaris:~# svccfg validate /var/tmp/server.xml
    
  6. 如果 svccfg validate 命令报告错误,请更正错误并重新验证该文件。

    在示例中,svccfg validate 命令返回了 XML 解析错误。我们在保存文件时无意中漏掉了结束标记 </dependency>。因此,我们再次在 vi 编辑器中打开该文件并更正问题:

    [qfsnfs]root@solaris:~# svccfg validate /var/tmp/server.xml
    /var/tmp/server.xml:75: parser error : Opening and ending tag mismatch: dependency line 29 and service
      </service>
                ˆ
    /var/tmp/server.xml:76: parser error : expected '>'
    </service_bundle>
             ˆ
    /var/tmp/server.xml:77: parser error : Premature end of data in tag service_bundle line 3
    ˆ
    svccfg: couldn't parse document
    [qfsnfs]root@solaris:~# vi /var/tmp/server.xml
    ...
    :wq
    [qfsnfs]root@solaris:~# 
    
  7. svccfg validate 命令无错误完成后,使用 svcadm disable nfs/server 命令禁用 NFS。

    在示例中,svccfg validate 命令未返回任何输出,因此文件有效,我们可以禁用 NFS:

    [qfsnfs]root@solaris:~# svccfg validate /var/tmp/server.xml
    [qfsnfs]root@solaris:~# svcadm disable nfs/server
    
  8. 使用 svccfg delete nfs/server 命令删除现有的 NFS 服务器配置。

    [qfsnfs]root@solaris:~# svccfg delete nfs/server
    
  9. 使用 svccfg import 命令将清单文件导入到服务管理工具 (Service Management Facility, SMF) 中。

    [qfsnfs]root@solaris:~# svccfg import /var/tmp/server.xml
    
  10. 使用 svcadm enable nfs/server 命令重新启用 NFS。

    NFS 已配置为使用更新的配置。

    [qfsnfs]root@solaris:~# svcadm enable nfs/server
    
  11. 确认 qfs 依赖项已应用。确保命令 svcs -d svc:/network/nfs/server:default 显示 /network/qfs/shared-mount:default 服务:

    [qfsnfs]root@solaris:~# svcs -d svc:/network/nfs/server:default 
    STATE          STIME    FMRI
    ...
    online         Nov_01   svc:/network/qfs/shared-mount:default
    ...
    
  12. 接下来,以 NFS 共享来共享 Oracle HSM 文件系统

以 NFS 共享来共享 Oracle HSM 文件系统

使用您的 Oracle Solaris 操作系统版本的管理文档中介绍的过程,来共享 Oracle HSM 文件系统。以下步骤概述了 Solaris 11.1 的过程:

  1. 登录到您想使用 NFS 进行共享的 Oracle HSM 文件系统的主机。以 root 用户身份登录。

    如果文件系统为 Oracle HSM 共享文件系统,请登录到该文件系统的元数据服务器。在下面的示例中,服务器名称为 qfsnfs

    [qfsnfs]root@solaris:~# 
    
  2. 输入命令行 share -F nfs -o sharing-options sharepath,其中 -F 开关指定 nfs 共享协议,sharepath 是共享资源的路径。如果使用可选的 -o 参数,则 sharing-options 可以包含以下任一项:

    • rw 会使所有客户机具有 sharepath 的读写权限。

    • ro 会使所有客户机具有 sharepath 的只读权限。

    • rw=clients 会使 clients(具有共享资源访问权限的一台或多台客户机的冒号分隔列表)具有 sharepath 的读写权限。

    • ro=clients 会使 clients(具有共享资源访问权限的一台或多台客户机的冒号分隔列表)具有 sharepath 的只读权限。

    在本示例中,我们以读取/写入方式与客户机 nfsclient1nfsclient2 共享 /qfsms 文件系统,以只读方式与 nfsclient3 共享该文件系统(请注意,下面的命令是作为单行输入的-使用反斜杠对换行符进行转义):

    [qfsnfs]root@solaris:~# share -F nfs -o rw=nfsclient1:nfsclient2 \
     ro=nfsclient3 /qfsms
    

    输入命令后,系统会自动重新启动 NFS 服务器守护进程 nfsd。有关其他选项和详细信息,请参见 share_nfs 手册页。

  3. 使用命令行 share -F nfs 检查共享参数。

    在示例中,命令输出表明我们已正确配置共享:

    [qfsnfs]root@solaris:~# share -F nfs
    /qfsms   sec=sys,rw=nfsclient1:nfsclient2,ro=nfsclient3
    [qfsnfs]root@solaris:~# 
    
  4. 接下来,在 NFS 客户机上挂载 NFS 共享的 Oracle HSM 文件系统

在 NFS 客户机上挂载 NFS 共享的 Oracle HSM 文件系统

在客户机系统中,将 NFS 服务器的文件系统挂载到近便的挂载点。针对每个客户机,执行如下操作:

  1. root 用户身份登录客户机。

    在示例中,NFS 客户机名称为 nfsclient1

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

    [nfsclient1]root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
    [nfsclient1]root@solaris:~# 
    
  3. 在文本编辑器中打开 /etc/vfstab 文件。

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

    [nfsclient1]root@solaris:~# vi /etc/vfstab
    #File         Device                         Mount
    #Device       to      Mount     System fsck  at     Mount
    #to Mount     fsck    Point     Type   Pass  Boot   Options
    #------------ ------  --------- ------ ----  -----  ----------------
    /devices      -       /devices  devfs  -     no     -
    ...
    
  4. /etc/vfstab 文件的第一列中,指定 NFS 服务器的名称和您要共享的文件系统的挂载点(以冒号分隔),来命名文件设备。

    在示例中,NFS 服务器名为 qfsnfs,共享文件系统名为 qfsms,服务器上的挂载点为 /qfsms

    #File         Device                         Mount
    #Device       to      Mount     System fsck  at     Mount
    #to Mount     fsck    Point     Type   Pass  Boot   Options
    #------------ ------  --------- ------ ----  -----  ----------------
    /devices      -       /devices  devfs  -     no     -
    ...
    qfsnfs:/qfsms
    
  5. /etc/vfstab 文件的第二列中,输入连字符 (-),使本地系统不会尝试检查远程文件系统是否一致:

    #File         Device                         Mount
    #Device       to      Mount     System fsck  at     Mount
    #to Mount     fsck    Point     Type   Pass  Boot   Options
    #------------ ------  --------- ------ ----  -----  ----------------
    /devices      -       /devices  devfs  -     no     -
    ...
    qfsnfs:/qfsms -
    
  6. /etc/vfstab 文件的第三列中,输入您要挂载远程文件系统的本地挂载点。

    在示例中,挂载点将为目录 /qfsnfs

    #File         Device                         Mount
    #Device       to      Mount     System fsck  at     Mount
    #to Mount     fsck    Point     Type   Pass  Boot   Options
    #------------ ------  --------- ------ ----  -----  ----------------
    /devices      -       /devices  devfs  -     no     -
    ...
    qfsnfs:/qfsms -       /qfsnfs
    
  7. /etc/vfstab 文件的第四列中,输入文件系统类型 nfs

    #File         Device                           Mount
    #Device       to      Mount     System fsck  at     Mount
    #to Mount     fsck    Point     Type   Pass  Boot   Options
    #------------ ------  --------- ------ ----  -----  ----------------
    /devices      -       /devices  devfs  -     no     -
    ...
    qfsnfs:/qfsms -       /qfsnfs   nfs
    

    将使用 nfs 文件系统类型,因为客户机会将远程 QFS 文件系统作为 NFS 文件系统进行挂载。

  8. /etc/vfstab 文件的第五列中,输入连字符 (-),因为本地系统不会尝试检查远程文件系统是否一致。

    #File         Device                         Mount
    #Device       to      Mount     System fsck  at     Mount
    #to Mount     fsck    Point     Type   Pass  Boot   Options
    #------------ ------  --------- ------ ----  -----  ----------------
    /devices      -       /devices  devfs  -     no     -
    ...
    qfsnfs:/qfsms -       /qfsnfs   nfs    -
    
  9. /etc/vfstab 文件的第六列中,输入 yes 在引导时挂载远程文件系统,或输入 no 根据需要手动挂载。

    在示例中,输入 yes

    #File         Device                         Mount
    #Device       to      Mount     System fsck  at     Mount
    #to Mount     fsck    Point     Type   Pass  Boot   Options
    #------------ ------  --------- ------ ----  -----  ----------------
    /devices      -       /devices  devfs  -     no     -
    ...
    qfsnfs:/qfsms -       /qfsnfs   nfs    -     yes
    
  10. /etc/vfstab 文件的最后一列中,输入 hardintr NFS 挂载以强制进行无限次不间断的重试,或输入 softretranstimeo 挂载选项(将 retrans 设置为 120 或更大,将 timeo 设置为 3000 十分之一秒),以设置指定重试次数。

    设置 hard 重试选项或指定超时足够长和重试次数足够多的 soft 选项,可防止 NFS 请求在请求的文件位于无法立即挂载的可移除卷上时发生失败。有关这些挂载选项的更多信息,请参见 Solaris mount_nfs 手册页。

    在示例中,输入 soft 挂载选项:

    #File         Device                         Mount
    #Device       to      Mount     System fsck  at     Mount
    #to Mount     fsck    Point     Type   Pass  Boot   Options
    #------------ ------  --------- ------ ----  -----  ----------------
    /devices      -       /devices  devfs  -     no     -
    ...
    qfsnfs:/qfsms -       /qfsnfs   nfs    -     yes    soft,retrans=120,timeo=3000
    
  11. 如果您使用的是 NFS 2,请将 rsize 挂载参数设置为 32768

    对于其他版本的 NFS,请输入默认值。

    rsize 挂载参数会将读取缓冲区大小设置为 32768 字节(默认为 8192 字节)。示例显示了 NFS 2 配置:

    #File         Device                         Mount
    #Device       to      Mount     System fsck  at     Mount
    #to Mount     fsck    Point     Type   Pass  Boot   Options
    #------------ ------  --------- ------ ----  -----  ----------------
    /devices      -       /devices  devfs  -     no     -
    ...
    qfsnfs2:/qfs2 -       /qfsnfs2  nfs    -     yes    ...,rsize=32768 
    
  12. 如果您使用的是 NFS 2,请将 wsize 挂载参数设置为 32768

    对于其他版本的 NFS,请输入默认值。

    wsize 挂载参数会将写入缓冲区大小设置为指定的字节数(默认为 8192 字节)。示例显示了 NFS 2 配置:

    #File         Device                         Mount
    #Device       to      Mount     System fsck  at     Mount
    #to Mount     fsck    Point     Type   Pass  Boot   Options
    #------------ ------  --------- ------ ----  -----  ----------------
    /devices      -       /devices  devfs  -     no     -
    ...
    qfsnfs2:/qfs2 -       /qfsnfs2  nfs    -     yes    ...,wsize=32768 
    
  13. 保存 /etc/vfstab 文件并退出编辑器。

    #File         Device                         Mount
    #Device       to      Mount     System fsck  at     Mount
    #to Mount     fsck    Point     Type   Pass  Boot   Options
    #------------ ------  --------- ------ ----  -----  ----------------
    /devices      -       /devices  devfs  -     no     -
    ...
    qfsnfs:/qfsms -       /qfsnfs   nfs    -     yes    soft,retrans=120,timeo=3000
    :wq
    [nfsclient1]root@solaris:~# 
    
  14. 在共享文件系统上创建挂载点目录。

    在示例中,将共享文件系统挂载到名为 /qfsnfs 的目录上:

    [nfsclient1]root@solaris:~# mkdir /qfsnfs
    [nfsclient1]root@solaris:~# 
    
  15. 创建在 /etc/vfstab 文件中指定的挂载点,并为挂载点设置访问权限。

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

    [nfsclient1]root@solaris:~# mkdir /qfsnfs
    [nfsclient1]root@solaris:~# chmod 755 /qfsnfs
    [nfsclient1]root@solaris:~# 
    
  16. 挂载共享文件系统:

    [nfsclient1]root@solaris:~# mount /qfsnfs
    [nfsclient1]root@solaris:~# 
    
  17. 如果计划使用边带数据库功能,请转至配置报告数据库

  18. 否则,请转至配置通知和日志记录

使用 SMB/CIFS 共享 Oracle HSM 文件系统

SMB 使得 Oracle HSM 可供 Microsoft Windows 主机访问并提供了互操作性功能,例如不区分大小写、DOS 属性支持以及 NFSv4 访问控制列表 (Access Control List, ACL) 支持。Oracle Solaris OS 提供了一种服务器消息块 (Server Message Block, SMB) 协议服务器和客户机实现,该实现支持包含 NT LM 0.12 和通用 Internet 文件系统 (Common Internet File System, CIFS) 在内的众多 SMB 版本 (dialect)。

Oracle HSM 支持 Windows 安全标识符 (Security Identifier, SID)。Windows 标识符不再需要使用 idmap 服务显式定义,或由 Active Directory 服务提供。

要为 Oracle HSM 文件系统配置 SMB 服务,请执行以下任务:

查看 Oracle Solaris SMB 配置和管理文档

下面几节概述了适用于 Oracle HSM 文件系统的部分 SMB 配置过程。这些内容并不全面,并不涵盖所有可能的情况。因此,请查看配置 Oracle Solaris SMB 服务器的完整说明,将服务器集成到现有的 Windows 环境,并将 SMB 共享挂载到 Solaris 系统上。有关完整说明,请参见 Oracle Solaris Information Library 中的《Managing SMB and Windows Interoperability in Oracle Solaris》。

为 SMB 服务器显式映射 Windows 标识符(可选)

虽然 Oracle HSM 现在完全支持 Windows 安全标识符 (Security Identifier, SID),但是在有些情况下,显式定义 UNIX 标识符和 SID 之间的关系仍然有一定优势。例如,在用户同时拥有 UNIX 和 Windows 标识符的异源环境中,您可能想要使用 idmap 服务或 Active Directory 服务创建显式映射。有关完整的 SMB 和 Windows 互操作性信息,请参见适用于您的 Oracle Solaris 版本的产品文档。

配置 Oracle HSM 文件系统以与 SMB/CIFS 共享

使用 SMB/CIFS 共享的 Oracle HSM 文件系统必须使用在网络文件系统 (Network File System, NFS) 版本 4 和 Oracle Solaris 11 中采用的新访问控制列表 (Access Control List, ACL) 实施。Solaris 和 NFS 的旧版本使用的 ACL 基于和 Windows ACL 实施不兼容的 POSIX 草案规范。

默认情况下,使用 Oracle HSM 创建的新文件系统会使用 Solaris 11 上的 NFS 版本 4 ACL。但是,如果您需要与 SMB/CIFS 客户机共享现有的 Oracle HSM 文件系统,则必须使用适当的过程转换现有的 POSIX 样式 ACL:

转换使用 POSIX 样式 ACL 的 Oracle HSM 非共享文件系统

执行如下操作:

  1. root 用户身份登录主机。

    在示例中,登录到主机 qfs-host

    [qfs-host]root@solaris:~# 
    
  2. 确保主机运行 Oracle Solaris 11.1 或更高版本。使用命令 uname -r

    [qfs-host]root@solaris:~# uname -r
    5.11
    [qfs-host]root@solaris:~# 
    
  3. 使用命令 umount mount-point 卸载文件系统,其中 mount-point 是 Oracle HSM 文件系统的挂载点。

    有关进一步的详细信息,请参见 umount_samfs 手册页。在下面的示例中,服务器名称为 qfs-host,文件系统为 /qfsms

    [qfs-host]root@solaris:~# umount /qfsms
    
  4. 使用 samfsck -F -A file-system 命令转换文件系统,其中 -F 选项指定对文件系统进行检查和修复,-A 选项指定转换 ACL,file-system 是您需要转换的文件系统的名称。

    如果指定 -A 选项,则必须指定 -F 选项。如果 samfsck -F -A 命令返回错误,进程会异常中止,且不会转换任何 ACL(有关这些选项的完整描述,请参见 samfsck 手册页)。

    [qfs-host]root@solaris:~# samfsck -F -A /qfsms
    
  5. 如果返回错误且 ACL 未转换,请使用 samfsck -F -a file-system 命令强制转换 ACL。

    -a 选项指定强制的转换。如果指定 -a 选项,则必须指定 -F 选项(有关这些选项的完整描述,请参见 samfsck 手册页)。

    [qfs-host]root@solaris:~# samfsck -F -a /qfsms
    
  6. 现在,针对 Windows Active Directory 域或工作组配置 SMB 服务器

转换使用 POSIX 样式 ACL 的 Oracle HSM 共享文件系统
  1. root 用户身份登录到文件系统元数据服务器。

    在示例中,登录到元数据服务器 sharedqfs-mds

    [sharedqfs-mds]root@solaris:~# 
    
  2. 确保元数据服务器运行 Oracle Solaris 11.1 或更高版本。使用命令 uname -r

    [sharedqfs-mds]root@solaris:~# uname -r
    5.11
    [sharedqfs-mds]root@solaris:~# 
    
  3. root 用户身份登录到每台 Oracle HSM 客户机,并确保每台客户机都运行 Oracle Solaris 11.1 或更高版本。

    在示例中,打开终端窗口并使用 ssh 远程登录到客户机主机 sharedqfs-client1sharedqfs-client2,以从登录标题处获取 Solaris 版本:

    [sharedqfs-mds]root@solaris:~# ssh root@sharedqfs-client1
    Password:
    Oracle Corporation      SunOS 5.11      11.1    September 2013
    [sharedqfs-client1]root@solaris:~# 
    
    [sharedqfs-mds]root@solaris:~# ssh root@sharedqfs-client2
    Password:
    Oracle Corporation      SunOS 5.11      11.1    September 2013
    [sharedqfs-client2]root@solaris:~# 
    
  4. 使用命令 umount mount-point 从每台 Oracle HSM 客户机中卸载 Oracle HSM 共享文件系统,其中 mount-point 是 Oracle HSM 文件系统的挂载点。

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

    Oracle Corporation      SunOS 5.11      11.1    September 2013
    [sharedqfs-client1]root@solaris:~# umount /sharedqfs
    [sharedqfs-client1]root@solaris:~# 
    
    Oracle Corporation      SunOS 5.11      11.1    September 2013
    [sharedqfs-client2]root@solaris:~# umount /sharedqfs
    [sharedqfs-client1]root@solaris:~# 
    
  5. 使用命令 umount -o await_clients=interval mount-point 从元数据服务器中卸载 Oracle HSM 共享文件系统,其中 mount-point 是 Oracle HSM 文件系统的挂载点,interval 是由 -o await_clients 选项以秒为单位指定的用于延迟执行的延迟时间。

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

    在示例中,从元数据服务器 sharedqfs-mds 中卸载 /sharedqfs 文件系统,同时允许客户机在 60 秒内进行卸载:

    [sharedqfs-mds]root@solaris:~# umount -o await_clients=60 /sharedqfs
    
  6. 将文件系统从 POSIX 样式 ACL 转换为 NFS 版本 4 ACL。在元数据服务器上,使用命令 samfsck -F -A file-system,其中 -F 选项指定对文件系统进行检查和修复,-A 选项指定对 ACL 进行转换,file-system 是您需要转换的文件系统的名称。

    如果指定 -A 选项,则必须指定 -F 选项。如果 samfsck -F -A file-system 命令返回错误,进程会异常中止,且不会转换任何 ACL(有关这些选项的完整描述,请参见 samfsck 手册页)。在示例中,转换名为 /sharedqfs 的 Oracle HSM 文件系统:

    [sharedqfs-mds]root@solaris:~# samfsck -F -A /sharedqfs
    
  7. 如果返回错误且 ACL 未转换,请强制转换 ACL。在元数据服务器上,使用 samfsck -F -a file-system 命令。

    -a 选项指定强制的转换。如果指定 -a 选项,则必须指定 -F 选项(有关这些选项的完整描述,请参见 samfsck 手册页)。在示例中,强制转换 Oracle HSM 文件系统 /qfsma

    [sharedqfs-mds]root@solaris:~# samfsck -F -a /sharedqfs
    
  8. 现在,针对 Windows Active Directory 域或工作组配置 SMB 服务器

针对 Windows Active Directory 域或工作组配置 SMB 服务器

Oracle Solaris SMB 服务可以使用两种互斥的模式之一进行操作:域或工作组。请根据您的环境和验证需要选择其中一种模式:

在域模式下配置 SMB 服务器
  1. 联系 Windows Active Directory 管理员并获取以下信息:

    • 在加入 Active Directory 域时您需要使用的经过验证的 Active Directory 用户帐户的名称

    • 您需要用来替代帐户的默认 Computers 容器的组织单位(如果有)

    • 要共享 Oracle HSM 文件系统的域的全限定 LDAP/DNS 域名。

  2. 登录到您要配置为 SMB/CIFS 共享的 Oracle HSM 文件系统的主机。以 root 用户身份登录。

    如果文件系统为 Oracle HSM 共享文件系统,请登录到该文件系统的元数据服务器。在下面的示例中,服务器名称为 qfssmb

    [qfssmb]root@solaris:~# 
    
  3. 开源 Samba 和 SMB 服务器不能在单个 Oracle Solaris 系统中一起使用。因此,请查看 Samba 服务是否正在运行。将 svcs 服务状态命令的输出通过管道传输到 grep 和正则表达式 samba

    在示例中,svcs 命令的输出包含该正则表达式的匹配项,因此 SMB 服务正在运行:

    [qfssmb]root@solaris:~# svcs | grep samba
    legacy_run     Nov_03   lrc:/etc/rc3_d/S90samba
    
  4. 如果 Samba 服务 (svc:/network/samba) 正在运行,请禁用该服务以及 Windows Internet 命名服务/WINS (svc:/network/wins)(如果正在运行)。使用命令 svcadm disable

    [qfssmb]root@solaris:~# svcadm disable svc:/network/samba
    [qfssmb]root@solaris:~# svcadm disable svc:/network/wins
    
  5. 现在使用 svcadm enable -r smb/server 命令启动 SMB 服务器及其依赖的任何服务。

    [qfssmb]root@solaris:~# svcadm enable -r smb/server
    
  6. 确保 Oracle HSM 主机上的系统时钟与 Microsoft Windows 域控制器的系统时钟相差不超过五分钟:

    • 如果 Windows 域控制器使用网络时间协议 (Network Time Protocol, NTP) 服务器,请配置 Oracle HSM 主机以使用相同服务器。在 Oracle HSM 主机上创建 /etc/inet/ntpclient.conf 文件,并使用命令 svcadm enable ntp 启动 ntpd 守护进程(有关完整信息,请参见 ntpd 手册页和您的 Oracle Solaris 管理文档)。

    • 否则,请运行命令 ntpdate domain-controller-name 来将 Oracle HSM 主机和域控制器同步(有关详细信息,请参见 ntpdate 手册页),或手动将 Oracle HSM 主机上的系统时钟设置为域控制器的系统时钟所显示的时间。

  7. 使用命令 smbadm join -u username -o organizational-unit domain-name 加入 Windows 域,其中 username 是 Active Directory 管理员指定的用户帐户的名称,可选的 organizational-unit 是指定的帐户容器(如果有),domain-name 是指定的全限定 LDAP 或 DNS 域名。

    在示例中,使用用户帐户加入 Windows 域 this.example.com

    [qfssmb]root@solaris:~# smbadm join -u admin -o smbsharing this.example.com
    
  8. 现在,以 SMB/CIFS 共享来共享 Oracle HSM 文件系统

在工作组模式下配置 SMB 服务器
  1. 联系 Windows 网络管理员并获取 Oracle HSM 文件系统的主机应加入的 Windows 工作组的名称。

    默认工作组名为 WORKGROUP

  2. 登录到 Oracle HSM 文件系统的主机。以 root 用户身份登录。

    如果文件系统为 Oracle HSM 共享文件系统,请登录到该文件系统的元数据服务器。在下面的示例中,服务器名称为 qfssmb

    [qfssmb]root@solaris:~# 
    
  3. 开源 Samba 和 SMB 服务器不能在单个 Oracle Solaris 系统中一起使用。因此,请查看 Samba 服务是否正在运行。将 svcs 服务状态命令的输出通过管道传输到 grep 和正则表达式 samba

    在示例中,svcs 命令的输出包含该正则表达式的匹配项,因此 SMB 服务正在运行:

    [qfssmb]root@solaris:~# svcs | grep samba
    legacy_run     Nov_03   lrc:/etc/rc3_d/S90samba
    
  4. 如果 Samba 服务 (svc:/network/samba) 正在运行,请禁用该服务以及 Windows Internet 命名服务/WINS (svc:/network/wins) 服务(如果正在运行)。使用命令 svcadm disable

    Samba 和 SMB 服务器不能在单个 Oracle Solaris 系统中一起使用。

    [qfssmb]root@solaris:~# svcadm disable svc:/network/samba
    [qfssmb]root@solaris:~# svcadm disable svc:/network/wins
    
  5. 现在使用命令 svcadm enable -r smb/server 启动 SMB 服务器及其依赖的任何服务。

    [qfssmb]root@solaris:~# svcadm enable -r smb/server
    
  6. 加入工作组。使用命令 smbadm join-w(工作组)开关以及 Windows 网络管理员指定的工作组的名称。

    在示例中,指定的工作组名为 crossplatform

    [qfssmb]root@solaris:~# smbadm join -w crossplatform
    
  7. 配置 Oracle HSM 主机来为 SMB 密码加密。在文本编辑器中打开 /etc/pam.d/other 文件,添加命令行 password required pam_smb_passwd.so.1 nowarn 并保存文件。

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

    [qfssmb]root@solaris:~# vi /etc/pam.d/other
    # Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
    #
    # PAM configuration
    #
    # Default definitions for Authentication management
    # Used when service name is not explicitly mentioned for authentication
    #
    auth definitive         pam_user_policy.so.1
    ...
    password required       pam_authtok_store.so.1
    password required pam_smb_passwd.so.1 nowarn
    :wq
    [qfssmb]root@solaris:~# 
    

    有关详细信息,请参见 pam_smb_passwd 手册页。

  8. 安装 pam_smb_passwd 模块后,使用命令 passwd local-username 为用户 local-username 生成加密版密码,以便 SMB 服务器可以登录到 Windows 工作组。

    SMB 服务器无法使用 Solaris 操作系统使用的相同加密版密码来验证用户身份。在示例中,为用户 smbsamqfs 生成加密的 SMB 密码:

    [qfssmb]root@solaris:~# passwd smbsamqfs
    
  9. 现在,以 SMB/CIFS 共享来共享 Oracle HSM 文件系统

以 SMB/CIFS 共享来共享 Oracle HSM 文件系统

使用您的 Oracle Solaris 操作系统版本的管理文档中介绍的过程,来共享 Oracle HSM 文件系统。以下步骤概述了 Solaris 11.1 的过程:

  1. 登录到您要配置为 SMB/CIFS 共享的 Oracle HSM 文件系统的主机。以 root 用户身份登录。

    如果文件系统为 Oracle HSM 共享文件系统,请登录到该文件系统的元数据服务器。在下面的示例中,服务器名称为 qfssmb

    [qfssmb]root@solaris:~# 
    
  2. 配置共享。使用命令 share -F smb -o specific-options sharepath sharename,其中 -F 开关指定 smb 共享协议,sharepath 是共享资源的路径,sharename 是您要用于共享的名称。可选的 -o 参数的值 sharing-options 可以包括以下任一项:

    • abe=[true|false]

      当共享的基于访问的枚举 (access-based enumeration, ABE) 策略为 true 时,请求访问的用户无权访问的目录条目将从返回到客户机的目录列表中去掉。

    • ad-container=cn=user,ou=organization,dc=domain-dns

      Active Directory 容器将共享访问仅限为由轻量目录访问协议 (Lightweight Directory Access Protocol, LDAP) 相对标识名 (relative distinguished name, RDN) 属性值指定的域对象,这些属性值包括:cn(用户对象类)、ou(组织单位对象类)和 dc(域 DNS 对象类)。

      有关将 Active Directory 容器与 SMB/CIFS 配合使用的完整信息,请参见《Internet Engineering Task Force Request For Comment (RFC) 2253》以及您的 Microsoft Windows 目录服务文档。

    • catia=[true|false]

      当 CATIA 字符替换为 true 时,CATIA 版本 4 文件名中的所有在 Windows 中非法的字符都会被合法的等效字符替换。有关替换列表,请参见 share_smb 手册页。

    • csc=[manual|auto|vdo|disabled]

      客户端高速缓存 (csc) 策略控制文件的客户端高速缓存(供脱机使用)。manual 策略允许客户机在用户请求时高速缓存文件,但禁止自动基于每个文件重新整合(这是默认值)。auto 策略允许客户机自动高速缓存文件,并允许自动基于每个文件重新整合。vdo 策略允许客户机自动高速缓存文件以供脱机使用,允许基于每个文件重新整合,并允许客户机在脱机时从本地高速缓存工作。disabled 策略不允许客户端高速缓存。

    • dfsroot=[true|false]

      在 Microsoft 分布式文件系统 (Distributed File System, DFS) 中,根共享 (dfsroot=true) 是指将一组广泛分布的共享文件夹组织成可更方便管理的单个 DFS 文件系统的共享。有关完整信息,请参见您的 Microsoft Windows Server 文档。

    • guestok=[true|false]

      guestok 策略为 true 时,本地定义的 guest 帐户可以访问共享。当该策略为 false 或未定义(默认值)时,guest 帐户无法访问共享。该策略可让您将 Windows Guest 用户映射到本地定义的 UNIX 用户名,例如 guestnobody

      # idmap add winname:Guest unixuser:guest
      

      然后,本地定义的帐户可以通过存储在 /var/smb/smbpasswd 中的密码进行身份验证(如果需要)。有关更多信息,请参见 idmap 手册页。

    • rw=[*|[[-]criterion][:[-]criterion]...

      rw 策略可授予或拒绝对与提供的访问列表相匹配的任何客户机的访问权限。

      访问列表包含表示全部的单个星号 (*) 或冒号分隔的客户机访问条件列表,其中每个 criterion 包含一个可选的减号 (-)(表示拒绝),后跟一个主机名、一个网络组、一个完整的 LDAP 或 DNS 域名和/或符号 @ 以及完整的 IP 地址或域名或其一部分。会从左向右评估访问列表,直到客户机满足其中一个条件。有关详细信息,请参见 share_smb 手册页。

    • ro=[*|[[-]criterion][:[-]criterion]...

      ro 策略可授予或拒绝对与访问列表相匹配的任何客户机的只读访问权限。

    • none=[*|[[-]criterion][:[-]criterion]...

      none 策略会拒绝对与访问列表相匹配的任何客户机的访问权限。如果访问列表为星号 (*),rorw 策略可覆盖 none 策略。

    在示例中,与客户机 smbclient1smbclient2 共享 /qfsms 文件系统读/写权限,与客户机 smbclient3 共享该文件系统的只读权限:

    [qfssmb]root@solaris:~# share -F smb -o rw=smbclient1:smbclient2 
    ro=smbclient3 /qfsms
    

    输入命令后,系统会自动重新启动 SMB 服务器守护进程 smbd

  3. 检查共享参数。使用命令 share -F nfs

    在示例中,命令输出表明我们已正确配置共享:

    [qfssmb]root@solaris:~# share -F smb /qfsms
    sec=sys,rw=smbclient1:smbclient2,ro=smbclient3
    [qfssmb]root@solaris:~# 
    
  4. 如果计划使用边带数据库功能,请转至配置报告数据库

  5. 否则,请转至配置通知和日志记录