跳过导航链接 | |
退出打印视图 | |
![]() |
Sun QFS 文件系统 5.3 配置和管理指南 Sun QFS and Sun Storage Archive Manager 5.3 Information Library (简体中文) |
通过使用 mount 命令、在 /etc/vfstab 文件中输入挂载选项或在 samfs.cmd 文件中输入挂载选项,您可以指定大多数的挂载选项。例如,以下 /etc/vfstab 文件包括了共享文件系统的 mount 选项:
sharefs1 - /sfs samfs - no shared,mh_write
通过使用 samu(1M) 操作员实用程序,您可以动态更改某些挂载选项。有关这些选项的更多信息,请参见第 13 章。
有关这些挂载选项中任一项的更多信息,请参见《Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual》中的"mount_samfs(1M)"或其描述中提及的交叉引用。
bg 挂载选项指定,如果初次挂载操作失败,随后的挂载尝试应在后台进行。在默认情况下,bg 是无效的,挂载都将继续在前台进行。
retry 挂载选项可指定系统应尝试挂载文件系统的次数。默认值为 10000。
shared 挂载选项可将文件系统声明为 Sun QFS 共享文件系统。该选项必须在 /etc/vfstab 文件中指定,以便将文件系统挂载为 Sun QFS 共享文件系统。samfs.cmd 文件或 mount 命令中有该选项并不会导致产生错误,但它不会将文件系统挂载为共享文件系统。
mount 命令的 minallocsz 和 maxallocsz 选项可指定空间容量(单位为 KB)。这些选项设置块分配大小的最小值。如果文件不断增大,元数据服务器将在得到附加租约授权后分配块。使用 -o minallocsz= n 指定此分配的初始大小。元数据服务器可根据应用程序的访问模式增加块分配的大小,但最大不超过 -o maxallocsz= n 的设置。
可以在 mount 命令行、/etc/vfstab 文件或 samfs.cmd 文件中指定这些 mount 选项。
租约可授予共享主机对文件执行操作的权限(只要租约有效)。元数据服务器可向每个共享主机(包括自身)发出租约。根据具体情况,可对租约进行续借以允许客户机主机继续操作文件。可能的文件操作如下:
读取租约,允许读取现有文件数据。
写入租约,允许覆盖现有文件数据。
附加租约,允许扩展文件大小,以及对新分配的块执行写操作。
共享主机可以根据需要更新租约。对于最终用户而言,租约是透明的。下表显示了可用于为每种租约类型指定持续时间的挂载选项。
表 12-1 与租约相关的 mount(1M) 选项
|
这三种租约均允许您指定范围为 15 ≤ n ≤ 600 的 n 值。每种租约的默认时间均为 30 秒。不能在租约有效期间截取文件。有关设置这些租约的更多信息,请参见《Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual》中的"mount_samfs(1M)"。
如果由于当前元数据服务器停机而更改元数据服务器,您必须在转换时间中增加租约时间,因为只有当所有的租约都已过期,备用元数据服务器才能采取控制。
设置较短的租约时间将导致客户机主机与元数据服务器之间的通信量增大。这是因为租约到期后都必须进行续借。
默认情况下,Sun QFS 共享文件系统中的多台主机可同时读取同一文件。如果所有主机都未对该文件执行写操作,则可以在所有主机上对 I/O 进行分页。在任意时刻,只有一台主机可对文件执行附加操作或写操作。
mh_write 选项可控制多台主机对同一文件的写访问权限。如果在元数据服务器主机上指定了 mh_write 挂载选项,则 Sun QFS 共享文件系统可允许多台主机同时对同一文件进行读写。如果未在元数据服务器主机上指定 mh_write,则在任意时刻,都只有一台主机可对文件执行写操作。
在默认情况下,mh_write 选项是禁用的,即任意时刻都只有一台主机可对文件执行写操作。该操作的时间长度由 wrlease 挂载选项设置的持续时间决定。如果元数据服务器上的 Sun QFS 共享文件系统在挂载时启用了 mh_write 选项,则多台主机可同时对同一文件进行读写。
下表描述了在元数据服务器上启用 mh_write 选项对多台主机访问文件的影响。
表 12-2 基于 mh_write 选项的文件访问
|
mh_write 选项不更改锁定行为。无论 mh_write 是否有效,文件锁定行为都不变。mh_write 选项的影响如下:
当 mh_write 有效时,所有主机可同时对同一文件进行读写。
当 mh_write 无效时,在指定时间间隔,只有一台主机可对指定文件执行写操作。此时,其他所有主机都不能对此文件执行读操作。
Sun QFS 共享文件系统可维护不同主机之间的一致性。当主机第一次执行读或写系统调用时,它将取得一份租约,该租约允许主机在一定时间内对文件执行读或写操作。由于该租约的存在,其他未启用 mh_write 选项的主机便不能访问该文件。特别地,租约可以比产生该租约的系统调用持续更长的时间。
当 mh_write 无效时,Sun QFS 共享文件系统将针对数据的读写提供类似 POSIX 系统的操作方式。但是,对于元数据,访问时间的变化可能不会立即在其他主机上反映出来。文件的更改在写入租约将要结束时都被推入磁盘。当获得读取租约时,系统使所有过时的高速缓存页无效,这样就可以显示新写入的数据。
当 mh_write 有效时,操作情形可能不很一致。如果同时存在读取器和写入器,Sun QFS 共享文件系统将所有访问此文件的主机切换到直接 I/O 模式。因此,其他主机可立即看到页对齐 I/O。但是,非页对齐 I/O 将导致显示过时的数据,甚至将过时数据写入文件。这是因为禁用了可阻止这种情况发生的常规租约机制。
只有当多台主机需要同时对同一文件执行写操作,且应用程序执行页对齐 I/O 时,您才应当指定 mh_write 选项。在其他情况下,指定该选项可能会发生数据不一致,这是因为,即使使用 flock()(与 mh_write 配合使用)在主机间协调,也无法保证一致性。
有关 mh_write 的更多信息,请参见 《Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual》中的"mount_samfs(1M)"。
min_pool 挂载选项可为 Sun QFS 共享文件系统设置最小并发线程数。Oracle Solaris 系统上的默认设置为 min_pool=64。此设置意味着 Oracle Solaris 上的线程池中将始终至少具有 64 个活动线程。您可以根据 Sun QFS 共享文件系统的活动,在 8 到 2048 范围内调整 min_pool 设置的值。
必须在 samfs.cmd 文件中设置 min_pool 挂载选项。如果在 /etc/vfstab 文件或命令行中设置,此挂载选项将被忽略。
注 - min_pool 挂载选项将取代以前的 nstreams 挂载选项。在 5.0 版软件中,将完全删除 nstreams 选项。
meta_timeo 挂载选项可决定系统在两次元数据信息校验之间的等待时间。默认情况下,系统每三秒刷新一次元数据信息。例如,如果在具有几个新创建文件的 Sun QFS 共享文件系统中输入 ls 命令,可能要等三秒后才能返回有关所有文件的信息。该选项的语法为 meta_timeo= n,指定范围为 0 ≤ n ≤ 60 之间的一个值。
在默认情况下,系统使用循环文件分配方法对 Sun QFS 共享文件系统中的数据文件进行分配。要指定将文件数据分散读写到多个磁盘上,可以在元数据主机和所有潜在元数据主机上指定 stripe 挂载选项。请注意,在默认情况下,非共享文件系统使用分散读写方法分配文件数据。
在循环分配中,文件以循环方式在每个分片或分散读写组上创建。可按分片或分散读写组的大小实现对文件的最大处理速度。有关文件分配方法的更多信息,请参见Sun QFS 文件系统设计基础。
可以将 sync_meta 选项设置为 sync_meta=1 或 sync_meta=0。
默认设置为 sync_meta=1,这意味着每当元数据更改时,Sun QFS 共享文件系统即将文件元数据写入磁盘。此设置虽然降低了数据处理性能,但可确保数据一致性。如果您要更改元数据服务器,则必须采用这种设置。
如果设置 sync_meta=0,则 Sun QFS 共享文件系统会先将元数据写入缓冲区,然后再写入磁盘。这种延迟写入可提高性能,但如果突发计算机中断,则会降低数据的一致性。
如果要使用可选 WORM 软件包,则使用 worm_capable 挂载选项可使文件系统支持 WORM 文件。def_retention 挂载选项使用 def_retention=MyNdOhPm 格式设置默认保持期。
在此格式中,M、N、O 和 P 为非负整数,y、d、h 和 m 分别代表年数、天数、小时数和分钟数。可以使用这些单位的任意组合。例如,1y5d4h3m 表示 1 年 5 天 4 小时零 3 分钟,30d8h 表示 30 天零 8 小时,300m 表示 300 分钟。此格式与以前软件版本中的公式向下兼容,在以前软件版本的公式中,保持期是以分钟为单位来指定的。
有关 WORM 功能的更多信息,请参见第 9 章。