Oracle® Hierarchical Storage Manager and StorageTek QFS Software 安装和配置指南 发行版 6.0 E56770-02 |
|
上一页 |
下一页 |
Oracle HSM 文件系统可以使用多种方法在多台主机之间共享。每种方法都在某些情况下有特定的优势,而在其他情况下有明显的缺点。因此您选择的方法取决于您的特定要求。共享方法包括:
Oracle HSM 通过配置同时挂载文件系统的一台服务器以及一台或多台客户机,将文件系统供多台主机使用。然后,文件数据将通过高性能的本地路径 I/O 直接从磁盘设备传递到主机,而不会发生与 NFS 和 CIFS 共享相关的网络和中间服务器延迟。一次只能有一台主机作为活动元数据服务器,但可将任意数量的客户机配置为潜在元数据服务器,以用于冗余用途。对文件系统挂载点的数量没有限制。
Oracle HSM 在多读取器/单写入器配置和共享配置(归档或不归档)中,都支持对高性能 (ma
) 和通用 (ms
) 文件系统进行多主机访问。只有一些限制:
块 (b
–) 特殊文件不受支持。
字符 (c
–) 特殊文件不受支持。
FIFO 命名管道 (p
–) 特殊文件不受支持。
分段文件不受支持。
您不能在分段文件环境中实现 Oracle HSM 共享文件系统。
强制性锁定不受支持。
如果设置了强制锁定,则系统会返回 EACCES
错误。但系统支持咨询锁定。有关建议性锁定的更多信息,请参见 fcntl
手册页。
Oracle HSM 软件主机可以使用两种配置中的任一种访问文件系统数据,在任何给定的应用中,每种配置都有其自己的优势和限制。
在多读取器单写入器配置中,一台主机会以读取/写入访问权限挂载文件系统,所有其他主机会以只读访问权限挂载文件系统。配置就是设置挂载点的简单操作。由于单台主机对文件进行所有更改,因此可确保文件一致性和数据完整性,而无需执行其他文件锁定或一致性检查。为实现最佳性能,所有主机会直接从磁盘读取元数据以及数据。但所有主机都必须有权访问文件系统元数据,因此,ma
文件系统中的所有主机都必须有权访问数据和元数据设备。
在共享配置中,所有主机可使用租约读取、写入和附加文件数据,从而允许单台主机在给定的时间段内以给定方式访问文件。元数据服务器会发放读取、写入和附加租约,并管理续订和冲突的租约请求。共享文件系统可提供更高灵活性,但配置要复杂一些且需要更多文件系统开销。所有主机会直接从磁盘读取文件数据,但客户机通过网络访问元数据。因此,没有元数据设备访问权限的客户机可以共享 ma
文件系统。
要配置从多个主机对数据的访问,请选择以下两种方法之一:
要配置单写入器多读取器文件系统,请执行以下任务:
执行如下操作:
以 root
帐户登录到将用作 writer
的主机。
在本示例中,writer
主机名为 swriterfs-mds-writer
:
[swriterfs1-mds-writer]root@solaris:~#
在将用作 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
保存 /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:~#
运行 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:~#
指示 Oracle HSM 服务重新读取 mcf
文件并相应地重新配置自身。使用命令 samd
config
。
[swriterfs1-mds-writer]root@solaris:~#samd
config
Configuring SAM-FS [swriterfs1-mds-writer]root@solaris:~#
使用 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
...
备份操作系统的 /etc/vfstab
文件。
[swriterfs1-mds-writer]root@solaris:~#cp
/etc/vfstab
/etc/vfstab.backup
[swriterfs1-mds-writer]root@solaris:~#
将新的文件系统添加到操作系统的 /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
在 /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
对 /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
保存 /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:~#
创建在 /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:~#
挂载新文件系统:
[swriterfs1-mds-writer]root@solaris:~#mount
/swriterfs1
[swriterfs1-mds-writer]root@solaris:~#
创建共享文件系统后,请配置读取器。
reader 是以只读方式挂载文件系统的主机。对于您要配置为 reader 的每个主机,请执行如下操作:
以 root
用户身份登录主机。
在本示例中,reader
主机名为 swriterfs-reader1]
:
[swriterfs-reader1]root@solaris:~#
在终端窗口中,使用 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/c1
t0d0s0 301 mm sharefs - /dev/dsk/c1
t3d0s0 302 mr sharefs - /dev/dsk/c1
t3d0s1 303 mr sharefs -
从 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 -
确保所有设备的 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 sharefson
/dev/dsk/c1t0d0s0 301 mm sharefson
/dev/dsk/c1t3d0s0 302 mr sharefson
/dev/dsk/c1t3d0s1 303 mr sharefson
:wq
[swriterfs1-reader1]root@solaris:~#
运行 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:~#
备份操作系统的 /etc/vfstab
文件。
[swriterfs1-reader1]root@solaris:~#cp
/etc/vfstab /etc/vfstab.backup
[swriterfs1-reader1]root@solaris:~#
将单写入器多读取器文件系统添加到主机操作系统的 /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
在 /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
使用逗号作为分隔符添加所需的任何其他挂载选项,并对 /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:~#
创建在 /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:~#
挂载新文件系统:
[swriterfs1-reader1]root@solaris:~#mount
/swriterfs1
[swriterfs1-reader1]root@solaris:~#
重复该过程,直到所有读取器主机已配置为以只读方式挂载文件系统。
如果计划使用边带数据库功能,请转至配置报告数据库。
否则,请转至配置通知和日志记录。
Oracle HSM 共享文件系统可向多台 Oracle HSM 主机授予文件的读取、写入和附加访问权限。所有主机都会挂载该文件系统且可直接连接存储设备。此外,元数据服务器 (metadata server, MDS) 这台主机可独占控制文件系统元数据,并在尝试访问相同文件的主机之间起中介作用。该服务器通过以太网本地网络为客户机主机提供元数据更新,并通过发放、续订和撤销读取、写入和附加租约来控制文件访问。高性能 ma
或通用 ms
类型的非归档和归档文件系统都可共享。
要配置共享文件系统,请执行以下任务:
要配置元数据服务器以支持共享文件系统,请执行下列任务:
在活动元数据服务器和潜在元数据服务器上,您必须创建一个 hosts 文件,在其中列出共享文件系统的服务器和客户机的网络地址信息。hosts 文件与 mcf
文件一起存储在 /etc/opt/SUNWsamfs/
目录中。在共享文件系统的初始创建过程中,sammkfs -S
命令使用该文件中存储的设置配置共享。因此,现在请使用下面的过程创建该文件。
以 root
用户身份登录服务器。
在示例中,服务器名为 sharefs-mds
:
[sharefs-mds]root@solaris:~#
使用文本编辑器在元数据服务器上创建文件 /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 #------------------ ---------------------- ------- --- ----------
在两列中添加元数据服务器的主机名和 IP 地址或域名,以空格字符分隔。
# /etc/opt/SUNWsamfs/hosts.sharefs # Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------------ ---------------------- ------- --- ----------sharefs-mds
10.79.213.117
添加第三列,用空格字符将其与网络地址隔开。在该列中,输入 1
(活动元数据服务器的序号)。
在此示例中,只有一台元数据服务器,因此输入 1
:
# /etc/opt/SUNWsamfs/hosts.sharefs
# Server On/ Additional
#Host Name Network Interface Ordinal Off Parameters
#------------------ ---------------------- ------- --- ----------
sharefs-mds 10.79.213.117 1
添加第四列,用空格字符将其与网络地址隔开。在此列中,输入 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
添加第五列,用空格字符将其与网络地址隔开。在此列中,输入关键字 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
如果您计划包括一台或多台主机作为潜在元数据服务器,请为每台主机创建一个条目。每次递增服务器序号。但不要包括 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
为每台客户机主机添加一行,每行中的服务器序号值都为 0
。
服务器序号为 0
表示该主机是一台客户机。在示例中,添加两台客户机 sharefs-client1
和 sharefs-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 0sharefs-client1
10.79.213.133
0
0sharefs-client2
10.79.213.147
0
0
保存 /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:~#
在共享文件系统配置中包括的所有潜在元数据服务器上放置 /etc/opt/SUNWsamfs/hosts.
family-set-name
新文件的一个副本。
现在,在活动服务器上创建共享文件系统。
执行如下操作:
以 root
用户身份登录服务器。
在示例中,服务器名为 sharefs-mds
:
[sharefs-mds]root@solaris:~#
在元数据服务器 (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
在 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
保存 /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:~#
运行 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:~#
指示 Oracle HSM 服务重新读取 mcf
文件并相应地重新配置自身。更正报告的任何错误并根据需要重复。
[sharefs-mds]root@solaris:~#samd
config
[sharefs-mds]root@solaris:~#
使用 sammkfs -S
命令和文件系统的系列集名称创建文件系统,如配置高性能 ma
文件系统中所述。
sammkfs
命令读取 hosts.
family-set-name
和 mcf
文件,并创建具有指定属性的共享文件系统。在示例中,该命令会从 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:~#
接下来,在活动服务器上挂载共享文件系统。
以 root
用户身份登录服务器。
在示例中,服务器名为 sharefs-mds
:
[sharefs-mds]root@solaris:~#
备份操作系统的 /etc/vfstab
文件。
[sharefs-mds]root@solaris:~#cp
/etc/vfstab /etc/vfstab.backup
[sharefs-mds]root@solaris:~#
将新的文件系统添加到操作系统的 /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
在 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
对 /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
保存 /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:~#
创建在 /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:~#
挂载新文件系统:
[sharefs-mds]root@solaris:~# mount /sharefs
[sharefs-mds]root@solaris:~#
如果您的主机配置了多个网络接口,可能需要使用本地 Hosts 文件来路由网络通信。
否则,在元数据服务器上创建共享文件系统后,请开始配置文件系统客户机以进行共享。
客户机包括仅配置为客户机的主机以及配置为潜在元数据服务器的主机。在大多数方面,配置客户机与配置服务器基本相同。每台客户机与服务器包括的设备完全相同,只是挂载选项和设备的具体路径会更改(控制器编号由每台客户机主机分配,因此可能有所不同)。
要配置一台或多台客户机以支持共享文件系统,请执行下列任务:
针对每个客户机,执行如下操作:
在客户机上,以 root
用户身份登录。
在示例中,服务器名为 sharefs-client1
:
[sharefs-client1]root@solaris:~#
在终端窗口中,输入命令 samfsconfig
device-path
,其中 device-path
是命令应当从其开始搜索文件系统磁盘设备的位置(例如 /dev/dsk/*
或 /dev/zvol/dsk/rpool/*
)。
samfsconfig
命令检索共享文件系统的配置信息。
[sharefs-client1]root@solaris:~#samfsconfig
/dev/dsk/*
如果主机对文件系统的元数据设备具有访问权限并因此适合用作潜在的元数据服务器,则 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/c1
t0d0s0 301 mm sharefs - /dev/dsk/c1
t3d0s0 302 mr sharefs - /dev/dsk/c1
t3d0s1 303 mr sharefs -
如果主机对文件系统的元数据设备没有访问权限,则 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 -
从 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 -
如果主机对文件系统的元数据设备具有访问权限,请将 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 -
如果主机对文件系统的元数据设备没有访问权限,请为共享文件系统添加一行并包括 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 -
如果主机对文件系统的元数据设备没有访问权限,请为元数据设备添加一行。将 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 sharednodev
301
mm
sharefs
on
# /dev/dsk/c4t3d0s0 302 mr sharefs - # /dev/dsk/c4t3d0s1 303 mr sharefs -
如果主机对文件系统的元数据设备没有访问权限,请取消注释数据设备的条目。
[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
-
确保所有设备的 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 sharednodev
301 mm sharefs on /dev/dsk/c4t3d0s0 302 mr sharefs on /dev/dsk/c4t3d0s1 303 mr sharefs on:wq
[sharefs-client2]root@solaris:~#
运行 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:~#
此时,如果您的主机配置了多个网络接口,您可能需要使用本地 Hosts 文件来路由网络通信。
针对每个客户机,执行如下操作:
在 Solaris 客户机上,以 root
用户身份登录。
在示例中,服务器名为 sharefs-client1
:
[sharefs-client1]root@solaris:~#
备份操作系统的 /etc/vfstab
文件。
[sharefs-client1]root@solaris:~#cp
/etc/vfstab /etc/vfstab.backup
[sharefs-client1]root@solaris:~#
在文本编辑器中打开 /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
使用逗号作为分隔符添加所需的任何其他挂载选项,并对 /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:~#
创建在 /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:~#
挂载共享文件系统:
[sharefs-client1]root@solaris:~#mount
/sharefs
[sharefs-client1]root@solaris:~#
如果共享文件系统包括 Linux 客户机,请在 Linux 客户机上创建共享文件系统。
如果您要配置 Oracle HSM 共享的归档文件系统,请转至下一个任务:为共享文件系统配置归档存储。
否则,请在此处停止。您已配置 Oracle HSM 共享文件系统。
针对每个客户机,执行如下操作:
在 Linux 客户机上,以 root
用户身份登录。
在本示例中,Linux 客户机主机名为 sharefs-clientL
:
[sharefs-clientL][root@linux ~]#
在终端窗口中,输入命令 samfsconfig
device-path
,其中 device-path
是该命令应开始搜索文件系统磁盘设备的位置(如 /dev/*
)。
samfsconfig
命令检索共享文件系统的配置信息。因为 Linux 主机对文件系统的元数据设备没有访问权限,samfsconfig
无法找到元数据设备,因此无法将其发现的 Oracle HSM 设备纳入文件系统配置中。命令输出在 Missing
Slices
下列出了 Ordinal
0
(元数据设备),未包括标识文件系统系列集的行,并且注释掉了数据设备的列表。
在示例中,Linux 主机 sharefs-clientL
的 samfsconfig
输出类似于以下内容:
[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 -
从 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 -
在 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 -
在 mcf
文件中,为文件系统的元数据设备插入行。因为 Linux 主机对元数据设备没有访问权限,因此将 Equipment
Identifier
字段设置为 nodev
(无设备),将其余字段设置为它们在元数据服务器上的同一值:
# Equipment Equipment Equipment Family Device Additional # Identifier Ordinal Type Set State Parameters #------------------ --------- --------- --------- ------ --------------- sharefs 300 ma sharefs on sharednodev
301
mm
sharefs
on
# /dev/sda4 302 mr sharefs - # /dev/sda5 303 mr sharefs -
在 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
-
确保所有设备的 Device
State
字段设置为 on
,保存 mcf
文件。
# Equipment Equipment Equipment Family Device Additional # Identifier Ordinal Type Set State Parameters #------------------ --------- --------- --------- ------ --------------- sharefs 300 ma sharefson
shared nodev 301 mm sharefson
/dev/sda4 302 mr sharefson
/dev/sda5 303 mr sharefson
:wq
[sharefs-clientL][root@linux ~]#
运行 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 ~]#
针对每个客户机,执行如下操作:
在 Linux 客户机上,以 root
用户身份登录。
在本示例中,Linux 客户机主机名为 sharefs-clientL
:
[sharefs-clientL][root@linux ~]#
备份操作系统的 /etc/fstab
文件。
[sharefs-clientL][root@linux ~]#cp
/etc/fstab /etc/fstab.backup
在文本编辑器中打开 /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 defaultssharefs
/sharefs
samfs
在文件的第四列中,添加必需的 shared
挂载选项。
#File
#Device Mount System Mount Dump Pass
#to Mount Point Type Options Frequency Number
#-------- ------- -------- ------------------------- --------- ------
...
/proc /proc proc defaults
sharefs /sharefs samfs shared
在文件的第四列中,使用逗号作为分隔符添加所需的任何其他挂载选项。
Linux 客户机支持以下其他挂载选项:
rw
、ro
retry
meta_timeo
rdlease
、wrlease
、aplease
minallocsz
、maxallocsz
noauto
、auto
在示例中,添加选项 noauto
:
#File
#Device Mount System Mount Dump Pass
#to Mount Point Type Options Frequency Number
#-------- ------- -------- ------------------------- --------- ------
...
/proc /proc proc defaults
sharefs /sharefs samfs shared,noauto
在文件的其余两列中输入零 (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,noauto0
0
:wq
[sharefs-clientL][root@linux ~]#
创建 /etc/fstab
文件中指定的挂载点,并为挂载点设置访问权限。
挂载点权限必须与元数据服务器上的权限相同,并与所有其他客户机保持一致。用户必须具有执行 (x
) 权限才能转到挂载点目录并访问挂载的文件系统中的文件。在示例中,创建 /sharefs
挂载点目录并将权限设置为 755
(-rwxr-xr-x
):
[sharefs-clientL][root@linux ~]#mkdir
/sharefs
[sharefs-clientL][root@linux ~]#chmod
755
/sharefs
挂载共享文件系统。使用命令 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 ~]#
如果您要配置 Oracle HSM 共享的归档文件系统,请转至下一个任务:为共享文件系统配置归档存储
如果计划使用边带数据库功能,请转至配置报告数据库。
否则,请转至配置通知和日志记录。
单个主机不需要本地 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 文件,请使用下面概述的过程:
在每个活动元数据服务器主机和潜在元数据服务器主机上,编辑共享文件系统的全局 hosts 文件,以使其按照所需的方法路由服务器和主机通信。
对于本节中的示例,共享文件系统 sharefs2nic
包括一台活动元数据服务器 sharefs2-mds
和一台潜在元数据服务器 sharefs2-mds_alt
,每台都具有两个网络接口。还有两台客户机 sharefs2-client1
和 sharefs2-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-mds172.16.0.129
1 0 server sharefs2-mds_alt172.16.0.130
2 0 sharefs2-client1sharefs2-client1
0 0 sharefs2-client2sharefs2-client2
0 0:wq
[sharefs2-mds]root@solaris:~#
在每台活动元数据服务器和潜在元数据服务器上创建一个本地 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-mds172.16.0.129
1 0 server sharefs2-mds_alt172.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-mds172.16.0.129
1 0 server sharefs2-mds_alt172.16.0.130
2 0:wq
[sharefs2-mds_alt]root@solaris:~#exit
[sharefs2-mds]root@solaris:~#
在每台客户机上创建一个本地 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-mdssharefs2-mds
1 0 server sharefs2-mds_altsharefs2-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-mdssharefs2-mds
1 0 server sharefs2-mds_altsharefs2-mds_alt
2 0:wq
[sharefs2-client2]root@solaris:~#exit
[sharefs2-mds]root@solaris:~#
如果您在完成服务器配置的同时启动了此过程,请转至在活动服务器上挂载共享文件系统。
如果您在配置客户机时启动该过程,现在应在 Solaris 客户机上挂载共享文件系统。
要为 Oracle HSM 共享文件系统设置归档存储,请执行以下任务:
在共享归档文件系统中,所有潜在元数据服务器必须有权访问库和磁带机。如果您决定将磁带 I/O 分布到共享归档文件系统的主机上,一台或多台客户机也将需要访问驱动器。因此,您必须配置其中的每台主机,以使用一致的方式对每个驱动器进行寻址。
Solaris 操作系统按照启动时发现设备的顺序连接系统设备树中的驱动器。该顺序可能会也可能不会反映其他文件系统主机发现设备的顺序或设备在可移动介质库中的物理安装顺序。因此,您需要使用与将设备绑定到其他主机相同的方式将其永久绑定到每台主机,顺序与其在可移除介质库中的安装顺序相同。
下面的过程概述了必需的步骤(有关创建永久绑定的完整信息,请参见 Solaris devfsadm
和 devlinks
手册页以及适用于您的 Solaris 操作系统版本的管理文档):
以 root
用户身份登录到活动元数据服务器。
[sharefs-mds]root@solaris:~#
如果您不知道库中驱动器的当前物理顺序,请按确定驱动器在库中的安装顺序所述创建映射文件。
在示例中,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
文件。
在示例中,使用 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. ...
使用 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:cbn1
/dev/rmt/1
cbn -> ../../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
继续在 /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:cbn3
/dev/rmt/2cbn -> ../../devices/pci@8,.../st@w500104f000c086e1
,0:cbn4
/dev/rmt/3cbn -> ../../devices/pci@8,.../st@w500104f000b6d98d
,0:cbn
然后,我们将设备地址映射到接下来的三个 Solaris 设备节点(rmt/61
、rmt/62
和 rmt/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:~#
删除 /dev/rmt
中指向磁带设备的所有现有链接。
[sharefs-mds]root@solaris:~# rm /dev/rmt/*
根据 /etc/devlink.tab
文件中的条目创建新的永久磁带设备链接。使用命令 devfsadm -c tape
。
devfsadm
命令每次运行时,都会使用 /etc/devlink.tab
文件指定的配置为该文件中指定的设备创建新的磁带设备链接。-c tape
选项将命令限制为仅为磁带类设备创建新链接:
[sharefs-mds]root@solaris:~# devfsadm -c tape
在共享文件系统配置中的每个潜在元数据服务器和数据移动器上创建相同的永久磁带设备链接。将相同的行添加至 /etc/devlink.tab
文件,删除 /dev/rmt
中的链接,并运行 devfsadm
-c
tape
。
在示例中,潜在元数据服务器是 sharefs-mds_alt
,数据移动器客户机是 sharefs-client1
。因此,编辑这两者中的 /etc/devlink.tab
文件,使其与活动服务器 sharefs-mds
中的文件匹配。然后,删除 sharefs-mds_alt
和 sharefs-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:~#
针对活动元数据服务器以及每台潜在元数据服务器和数据移动器客户机,执行如下操作:
以 root
用户身份登录主机。
[sharefs-host]root@solaris:~#
在文本编辑器中打开 /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 ...
在 /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 #----------------------- --------- --------- --------- ------ ----------------
要添加归档磁带存储,请先添加一个库条目。在设备标识符字段中,输入库的设备 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
将设备类型设置为 rb
(一个通用 SCSI 连接磁带库),为磁带库系列集提供一个名称,并将设备状态设置为 on
。
在本示例中,我们将使用库 library1
:
# Archival storage for copies: # # Equipment Equipment Equipment Family Device Additional # Identifier Ordinal Type Set State Parameters #----------------------- --------- --------- --------- ------ ---------------- /dev/scsi/changer/c1t0d5 900rb
library1
on
在 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
接下来,针对每个磁带机添加一个条目。使用我们在使用永久绑定将磁带机连接到服务器和数据移动器主机 过程中生成的永久设备标识符。
# 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
最后,如果您希望自行配置 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 onhistorian
999
hy
-
-
.../historian_cat
保存 mcf
文件并关闭编辑器。
...
/dev/rmt/3cbn 904 tp library1 on
historian 999 hy - - .../historian_cat
:wq
[sharefs-host]root@solaris:~#
运行 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:~#
指示 Oracle HSM 服务重新读取 mcf
文件并相应地重新配置自身。更正报告的任何错误并根据需要重复。
[sharefs-host]root@solaris:~#samd
config
Configuring SAM-FS [sharefs-host]root@solaris:~#
重复该过程,直到所有活动元数据服务器和潜在元数据服务器以及所有数据移动器客户机都已配置为使用归档存储。
如果需要,将磁带 I/O 分布到共享归档文件系统的主机上。
如果计划使用边带数据库功能,请转至配置报告数据库。
否则,请转至配置通知和日志记录。
从 Oracle HSM 发行版 6.0 开始,在 Oracle Solaris 11 或更高版本上运行的共享归档文件系统的任何客户机都可以连接磁带机并代表文件系统执行磁带 I/O。将磁带 I/O 分布在这些数据移动器主机上可以大大降低服务器开销,提高文件系统性能,并且在扩展 Oracle HSM 实施时可以更灵活。当归档需求增加时,现在可以选择用更强大的系统替换 Oracle HSM 元数据服务器(垂直扩展)或者将负载分布在更多的客户机上(水平扩展)。
要将磁带 I/O 分布到共享归档文件系统的主机上,请执行如下操作:
将要用于分布式 I/O 的所有设备连接到文件系统元数据服务器和将处理磁带 I/O 的所有文件系统客户机。
如果您尚未完成该操作,请针对将用作数据移动器的每台客户机,使用永久绑定将磁带机连接到服务器和数据移动器主机。然后返回此处。
以 root
用户身份登录到共享的归档文件系统的元数据服务器。
在本示例中,服务器的主机名是 samsharefs-mds
:
[samsharefs-mds]root@solaris:~#
确保元数据服务器运行的是 Oracle Solaris 11 或更高版本。
[samsharefs-mds]root@solaris:~#uname -r
5.11
[samsharefs-mds]root@solaris:~#
确保用作数据移动器的所有客户机运行的是 Oracle Solaris 11 或更高版本。
在示例中,使用 ssh
远程登录到客户机主机 samsharefs-client1
和 samsharefs-client2
并从登录标题处获取 Solaris 版本:
[samsharefs-mds]root@solaris:~#ssh root@samsharefs-client1
Password: Oracle Corporation SunOS5.11
11.1 September 2013 [samsharefs-client1]root@solaris:~#exit
[samsharefs-mds]root@solaris:~#ssh root@samsharefs-client2
Password: Oracle Corporation SunOS5.11
11.1 September 2013 [samsharefs-client2]root@solaris:~#exit
[samsharefs-mds]root@solaris:~#
在元数据服务器上,在文本编辑器中打开 /etc/opt/SUNWsamfs/defaults.conf
。如果需要,取消注释 #distio = off
行,如果它根本不存在,则添加该行。
默认情况下,distio
处于 off
(禁用)状态。
在示例中,在 vi
编辑器中打开文件并添加行 distio = on
:
[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
接下来,选择应当参与分布式 I/O 的设备类型。要将设备类型 dev
用于分布式 I/O,请将 dev
_distio = on
行添加到 defaults.conf
文件。要将设备类型 dev
从分布式 I/O 中排除,请添加 dev
_distio = off
行。保存文件。
默认情况下,允许 StorageTek T10000 驱动器和 LTO 驱动器参与分布式 I/O(ti_distio = on
且 li_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 = onli_distio = off
:wq
[samsharefs-mds]root@solaris:~#
在用作数据移动器的每台客户机上,编辑 defaults.conf
文件,使其与服务器上的该文件匹配。
在用作数据移动器的每台客户机上,在文本编辑器中打开 /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
如果在用作数据移动器的客户机上配置了元数据服务器上的 /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:~#
如果在用作数据移动器的客户机上未配置元数据服务器上的 /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:~#
如果您需要为特定的归档集副本启用或禁用分布式磁带 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:~#
运行 sam-fsd
命令以检查配置文件中是否有错误。更正发现的任何错误。
sam-fsd
命令会读取 Oracle HSM 配置文件并初始化文件系统。如果遇到错误,该命令将停止。在示例中,在服务器 sharefs-mds
上运行命令:
[sharefs-mds]root@solaris:~# sam-fsd
告知 Oracle HSM 服务读取修改的配置文件,并相应重新配置自身。更正报告的任何错误并根据需要重复。
[sharefs-mds]root@solaris:~#samd
config
要验证是否已成功激活分布式 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 2samsharefs-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
...
如果计划使用边带数据库功能,请转至配置报告数据库。
否则,请转至配置通知和日志记录。
多台主机可以使用网络文件系统 (Network File System, NFS) 或服务器消息块 (Server Message Block, SMB)/通用 Internet 文件系统 (Common Internet File System, CIFS) 来访问 Oracle HSM 文件系统,以取代或补充 Oracle HSM 软件对多主机文件系统访问的本机支持(请参见使用 Oracle HSM 软件从多台主机访问文件系统)。下面几节概述了基本配置步骤:
执行以下任务:
配置 NFS 服务器和客户机以共享 WORM 文件和目录(如果需要)。
如果您使用 NFS 来共享 Oracle HSM 共享文件系统,需要确保 Oracle HSM 软件会控制对文件的访问而不受 NFS 的干扰。这通常没有问题,因为在 NFS 服务器代表其客户机访问文件时,它是作为 Oracle HSM 共享文件系统的客户机进行操作的。但是,如果 NFS 版本 4 服务器配置为将读写访问控制委托给其客户机,则可能会发生问题。委托比较有吸引力,因为服务器只需要为阻止可能的冲突而进行干涉。服务器的部分工作负荷会分布于 NFS 客户机,网络流量也会减小。但是,委托会授予独立于 Oracle HSM 服务器的权限(特别是写访问权限),该权限也用于控制从其自身的共享文件系统客户机进行的访问。为防止冲突和可能的文件损坏,您必须禁用委托。请执行如下操作。
登录到您要配置为 NFS 共享的 Oracle HSM 文件系统的主机。以 root
用户身份登录。
如果文件系统为 Oracle HSM 共享文件系统,请登录到该文件系统的元数据服务器。在下面的示例中,服务器名称为 qfsnfs
。
[qfsnfs]root@solaris:~#
如果您使用的是 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
如果您使用的是 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:~#
如果您要共享的 Oracle HSM 文件系统支持一次写入多次读取 (Write-Once Read-Many, WORM) 功能,则现在配置 NFS 服务器和客户机以共享 WORM 文件和目录。
登录到您想使用 NFS 进行共享的 Oracle HSM 文件系统的主机。以 root
用户身份登录。
如果文件系统为 Oracle HSM 共享文件系统,请登录到该文件系统的元数据服务器。在下面的示例中,服务器名称为 qfsnfs
,客户机名称为 nfsclient1
。
[qfsnfs]root@solaris:~#
如果您要共享的 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:~#
如果未在运行 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:~#
您必须配置网络文件系统 (Network File System, NFS) 服务器,使其不要在文件系统成功挂载到主机上之前尝试共享 Oracle HSM 文件系统,客户机才能成功使用 NFS 挂载 Oracle HSM 文件系统。在 Oracle Solaris 10 和操作系统的后续版本下,服务管理工具 (Service Management Facility, SMF) 会管理引导时文件系统的挂载。如果您不使用下面的过程配置 NFS,QFS 挂载或 NFS 共享中的一个会成功,另一个会失败。
登录到您要配置为 NFS 共享的 Oracle HSM 文件系统的主机。以 root
用户身份登录。
如果文件系统为 Oracle HSM 共享文件系统,请登录到该文件系统的元数据服务器。在下面的示例中,服务器名称为 qfsnfs
。
[qfsnfs]root@solaris:~#
重定向 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:~#
在文本编辑器中打开该清单文件并找到 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> ...
紧接着 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:~#
使用 svccfg
validate
命令验证清单文件。
[qfsnfs]root@solaris:~#svccfg
validate
/var/tmp/server.xml
如果 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:~#
在 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
使用 svccfg
delete
nfs/server
命令删除现有的 NFS 服务器配置。
[qfsnfs]root@solaris:~#svccfg
delete
nfs/server
使用 svccfg
import
命令将清单文件导入到服务管理工具 (Service Management Facility, SMF) 中。
[qfsnfs]root@solaris:~#svccfg
import
/var/tmp/server.xml
使用 svcadm
enable
nfs/server
命令重新启用 NFS。
NFS 已配置为使用更新的配置。
[qfsnfs]root@solaris:~#svcadm
enable
nfs/server
确认 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 ...
使用您的 Oracle Solaris 操作系统版本的管理文档中介绍的过程,来共享 Oracle HSM 文件系统。以下步骤概述了 Solaris 11.1 的过程:
登录到您想使用 NFS 进行共享的 Oracle HSM 文件系统的主机。以 root
用户身份登录。
如果文件系统为 Oracle HSM 共享文件系统,请登录到该文件系统的元数据服务器。在下面的示例中,服务器名称为 qfsnfs
。
[qfsnfs]root@solaris:~#
输入命令行 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
的只读权限。
在本示例中,我们以读取/写入方式与客户机 nfsclient1
和 nfsclient2
共享 /qfsms
文件系统,以只读方式与 nfsclient3
共享该文件系统(请注意,下面的命令是作为单行输入的-使用反斜杠对换行符进行转义):
[qfsnfs]root@solaris:~#share
-F
nfs
-o
rw=
nfsclient1:nfsclient2
\ro=nfsclient3
/qfsms
输入命令后,系统会自动重新启动 NFS 服务器守护进程 nfsd
。有关其他选项和详细信息,请参见 share_nfs
手册页。
使用命令行 share
-F
nfs
检查共享参数。
在示例中,命令输出表明我们已正确配置共享:
[qfsnfs]root@solaris:~#share
-F
nfs
/qfsms sec=sys,rw=nfsclient1:nfsclient2,ro=nfsclient3 [qfsnfs]root@solaris:~#
在客户机系统中,将 NFS 服务器的文件系统挂载到近便的挂载点。针对每个客户机,执行如下操作:
以 root
用户身份登录客户机。
在示例中,NFS 客户机名称为 nfsclient1
:
[nfsclient1]root
@solaris:~#
备份操作系统的 /etc/vfstab
文件。
[nfsclient1]root@solaris:~#cp
/etc/vfstab
/etc/vfstab.backup
[nfsclient1]root
@solaris:~#
在文本编辑器中打开 /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 - ...
在 /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
在 /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 -
在 /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
在 /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 文件系统进行挂载。
在 /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 -
在 /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
在 /etc/vfstab
文件的最后一列中,输入 hard
和 intr
NFS 挂载以强制进行无限次不间断的重试,或输入 soft
、retrans
和 timeo
挂载选项(将 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
如果您使用的是 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
如果您使用的是 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
保存 /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:~#
在共享文件系统上创建挂载点目录。
在示例中,将共享文件系统挂载到名为 /qfsnfs
的目录上:
[nfsclient1]root@solaris:~#mkdir
/qfsnfs
[nfsclient1]root
@solaris:~#
创建在 /etc/vfstab
文件中指定的挂载点,并为挂载点设置访问权限。
用户必须具有执行 (x
) 权限才能转到挂载点目录并访问挂载的文件系统中的文件。在示例中,创建 /qfsnfs
挂载点目录并将权限设置为 755
(-rwxr-xr-x
):
[nfsclient1]root@solaris:~#mkdir
/qfsnfs
[nfsclient1]root@solaris:~#chmod
755
/qfsnfs
[nfsclient1]root
@solaris:~#
挂载共享文件系统:
[nfsclient1]root@solaris:~#mount
/qfsnfs
[nfsclient1]root
@solaris:~#
如果计划使用边带数据库功能,请转至配置报告数据库。
否则,请转至配置通知和日志记录。
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 HSM 文件系统的部分 SMB 配置过程。这些内容并不全面,并不涵盖所有可能的情况。因此,请查看配置 Oracle Solaris SMB 服务器的完整说明,将服务器集成到现有的 Windows 环境,并将 SMB 共享挂载到 Solaris 系统上。有关完整说明,请参见 Oracle Solaris 11.1 Information Library 中的《Managing SMB and Windows Interoperability in Oracle Solaris 11.1》。
虽然 Oracle HSM 现在完全支持 Windows 安全标识符 (Security Identifier, SID),但是在有些情况下,显式定义 UNIX 标识符和 SID 之间的关系仍然有一定优势。例如,在用户同时拥有 UNIX 和 Windows 标识符的异源环境中,您可能想要使用 idmap
服务或 Active Directory 服务创建显式映射。有关完整的 SMB 和 Windows 互操作性信息,请参见适用于您的 Oracle Solaris 版本的产品文档。
使用 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:
执行如下操作:
以 root
用户身份登录主机。
在示例中,登录到主机 qfs-host
[qfs-host]root@solaris:~#
确保主机运行 Oracle Solaris 11.1 或更高版本。使用命令 uname
-r
。
[qfs-host]root@solaris:~#uname
-r
5.11 [qfs-host]root@solaris:~#
使用命令 umount
mount-point
卸载文件系统,其中 mount-point
是 Oracle HSM 文件系统的挂载点。
有关进一步的详细信息,请参见 umount_samfs
手册页。在下面的示例中,服务器名称为 qfs-host
,文件系统为 /qfsms
:
[qfs-host]root@solaris:~#umount
/qfsms
使用 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
如果返回错误且 ACL 未转换,请使用 samfsck
-F
-a
file-system
命令强制转换 ACL。
-a
选项指定强制的转换。如果指定 -a
选项,则必须指定 -F
选项(有关这些选项的完整描述,请参见 samfsck
手册页)。
[qfs-host]root@solaris:~#samfsck
-F
-a
/qfsms
以 root
用户身份登录到文件系统元数据服务器。
在示例中,登录到元数据服务器 sharedqfs-mds
:
[sharedqfs-mds]root@solaris:~#
确保元数据服务器运行 Oracle Solaris 11.1 或更高版本。使用命令 uname
-r
。
[sharedqfs-mds]root@solaris:~#uname
-r
5.11 [sharedqfs-mds]root@solaris:~#
以 root
用户身份登录到每台 Oracle HSM 客户机,并确保每台客户机都运行 Oracle Solaris 11.1 或更高版本。
在示例中,打开终端窗口并使用 ssh
远程登录到客户机主机 sharedqfs-client1
和 sharedqfs-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:~#
使用命令 umount
mount-point
从每台 Oracle HSM 客户机中卸载 Oracle HSM 共享文件系统,其中 mount-point
是 Oracle HSM 文件系统的挂载点。
有关进一步的详细信息,请参见 umount_samfs
手册页。在示例中,从两台客户机(sharedqfs-client1
和 sharedqfs-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:~#
使用命令 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
将文件系统从 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
如果返回错误且 ACL 未转换,请强制转换 ACL。在元数据服务器上,使用 samfsck
-F
-a
file-system
命令。
-a
选项指定强制的转换。如果指定 -a
选项,则必须指定 -F
选项(有关这些选项的完整描述,请参见 samfsck
手册页)。在示例中,强制转换 Oracle HSM 文件系统 /qfsma
:
[sharedqfs-mds]root@solaris:~#samfsck
-F
-a
/sharedqfs
Oracle Solaris SMB 服务可以使用两种互斥的模式之一进行操作:域或工作组。请根据您的环境和验证需要选择其中一种模式:
如果您需要向 Active Directory 域用户授予 Solaris SMB 服务的访问权,请在域模式下配置 SMB 服务器。
如果您需要向本地 Solaris 用户授予 SMB 服务的访问权,但没有 Active Directory 域或不需要向 Active Directory 域用户授予该服务的访问权,请在工作组模式下配置 SMB 服务器。
联系 Windows Active Directory 管理员并获取以下信息:
在加入 Active Directory 域时您需要使用的经过验证的 Active Directory 用户帐户的名称
您需要用来替代帐户的默认 Computers
容器的组织单位(如果有)
要共享 Oracle HSM 文件系统的域的全限定 LDAP/DNS 域名。
登录到您要配置为 SMB/CIFS 共享的 Oracle HSM 文件系统的主机。以 root
用户身份登录。
如果文件系统为 Oracle HSM 共享文件系统,请登录到该文件系统的元数据服务器。在下面的示例中,服务器名称为 qfssmb
。
[qfssmb]root@solaris:~#
开源 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
如果 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
现在使用 svcadm
enable
-r
smb/server
命令启动 SMB 服务器及其依赖的任何服务。
[qfssmb]root@solaris:~#svcadm
enable
-r
smb/server
确保 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 主机上的系统时钟设置为域控制器的系统时钟所显示的时间。
使用命令 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
联系 Windows 网络管理员并获取 Oracle HSM 文件系统的主机应加入的 Windows 工作组的名称。
默认工作组名为 WORKGROUP
。
登录到 Oracle HSM 文件系统的主机。以 root
用户身份登录。
如果文件系统为 Oracle HSM 共享文件系统,请登录到该文件系统的元数据服务器。在下面的示例中,服务器名称为 qfssmb
。
[qfssmb]root@solaris:~#
开源 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
如果 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
现在使用命令 svcadm
enable
-r
smb/server
启动 SMB 服务器及其依赖的任何服务。
[qfssmb]root@solaris:~#svcadm
enable
-r
smb/server
加入工作组。使用命令 smbadm
join
和 -w
(工作组)开关以及 Windows 网络管理员指定的工作组的名称。
在示例中,指定的工作组名为 crossplatform
。
[qfssmb]root@solaris:~#smbadm
join
-w
crossplatform
配置 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.1password
required
pam_smb_passwd.so.1
nowarn
:wq
[qfssmb]root@solaris:~#
有关详细信息,请参见 pam_smb_passwd
手册页。
安装 pam_smb_passwd
模块后,使用命令 passwd
local-username
为用户 local-username
生成加密版密码,以便 SMB 服务器可以登录到 Windows 工作组。
SMB 服务器无法使用 Solaris 操作系统使用的相同加密版密码来验证用户身份。在示例中,为用户 smbsamqfs
生成加密的 SMB 密码:
[qfssmb]root@solaris:~#passwd
smbsamqfs
使用您的 Oracle Solaris 操作系统版本的管理文档中介绍的过程,来共享 Oracle HSM 文件系统。以下步骤概述了 Solaris 11.1 的过程:
登录到您要配置为 SMB/CIFS 共享的 Oracle HSM 文件系统的主机。以 root
用户身份登录。
如果文件系统为 Oracle HSM 共享文件系统,请登录到该文件系统的元数据服务器。在下面的示例中,服务器名称为 qfssmb
。
[qfssmb]root@solaris:~#
配置共享。使用命令 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 用户名,例如 guest
或 nobody
:
# 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
策略会拒绝对与访问列表相匹配的任何客户机的访问权限。如果访问列表为星号 (*
),ro
和 rw
策略可覆盖 none
策略。
在示例中,与客户机 smbclient1
和 smbclient2
共享 /qfsms
文件系统读/写权限,与客户机 smbclient3
共享该文件系统的只读权限:
[qfssmb]root@solaris:~#share
-F
smb
-o
rw=
smbclient1:smbclient2
ro=smbclient3
/qfsms
输入命令后,系统会自动重新启动 SMB 服务器守护进程 smbd
。
检查共享参数。使用命令 share -F nfs
。
在示例中,命令输出表明我们已正确配置共享:
[qfssmb]root@solaris:~#share
-F
smb
/qfsms
sec=sys,rw=smbclient1:smbclient2,ro=smbclient3 [qfssmb]root@solaris:~#
如果计划使用边带数据库功能,请转至配置报告数据库。
否则,请转至配置通知和日志记录。