JavaScript is required to for searching.
跳过导航链接
退出打印视图
Sun QFS 文件系统 5.3 配置和管理指南     Sun QFS and Sun Storage Archive Manager 5.3 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  文件系统概述

2.  关于主配置文件

3.  mcf 文件示例

4.  配置文件系统

5.  配置共享文件系统

6.  管理文件系统配额

7.  高级文件系统主题

8.  SAM-QFS 中的 SMB 服务

9.  配置 WORM-FS 文件系统

10.  可调参数

11.  将 QFS 文件系统与 SANergy 一起使用 (SAN-QFS)

12.  共享文件系统中的挂载选项

13.  使用 samu 操作员实用程序

samu 操作员实用程序概览

samu 操作员实用程序概述

如何启动 samu 实用程序

如何显示 samu 屏幕

如何停止 samu

samu 交互操作

标识设备

获取联机帮助

操作员显示屏幕

(a)-归档程序状态显示屏幕

导航

显示屏幕样例

字段描述

(c)-设备配置显示屏幕

导航

显示屏幕样例

字段描述

(C)-内存显示屏幕

显示屏幕样例

(d)-守护进程跟踪控制显示屏幕

显示屏幕样例

(D)-磁盘卷字典

显示屏幕样例

标志

(f)-文件系统显示屏幕

显示屏幕样例

字段描述

(F)-光盘标签显示屏幕

(h)-帮助显示屏幕

导航

显示屏幕样例

(I)-Inode 显示屏幕

导航

显示屏幕样例

(J)-预备共享内存显示屏幕

导航

显示屏幕样例

(K)-内核统计信息显示屏幕

导航

显示屏幕样例

(l)-使用信息显示屏幕

显示屏幕样例

(L)-共享内存表

显示屏幕样例

(m)-海量存储状态显示屏幕

显示屏幕样例

字段描述

(M)-共享内存显示屏幕

导航

显示屏幕样例

(n)-回写状态显示屏幕

显示屏幕样例

(N)-文件系统参数显示屏幕

导航

显示屏幕样例

(o)-光盘状态显示屏幕

导航

显示屏幕样例

字段描述

(p)-可移除介质装入请求显示屏幕

导航

显示屏幕样例

字段描述

标志

(P)-活动的服务显示屏幕

导航

显示屏幕样例

(r)-可移除介质状态显示屏幕

显示屏幕样例

字段描述

(R)-Sun SAM-Remote 信息显示屏幕

(s)-设备状态显示屏幕

导航

显示屏幕样例

字段描述

(S)-扇区数据显示屏幕

导航

(t)-磁带机状态显示屏幕

导航

显示屏幕样例

字段描述

(T)-SCSI 检测数据显示屏幕

导航

(u)-回写队列显示屏幕

导航

显示屏幕样例

字段描述

(U)-设备表显示屏幕

导航

显示屏幕样例

(v)-自动化库目录显示屏幕

导航

显示屏幕样例

字段描述

标志

(w)-暂挂回写队列

导航

显示屏幕样例

字段描述

状态代码

可移除介质设备显示屏幕状态代码

文件系统显示屏幕状态代码

操作员显示屏幕设备的状态

如何将驱动器状态从 down 更改为 on

操作员命令

设备命令

文件系统命令:I/O 管理

flush_behind 命令

force_nfs_asyncnoforce_nfs_async 命令

readahead 命令

sw_raidnosw_raid 命令

writebehind 命令

wr_throttle 命令

文件系统命令:直接 I/O 管理

dio_rd_form_mindio_wr_form_min 命令

dio_rd_ill_mindio_wr_ill_min 命令

dio_rd_consecdio_wr_consec 命令

dio_szeronodio_szero 命令

forcedirectionoforcedirectio 命令

文件系统命令:Sun QFS 共享文件系统

meta_timeo 命令

mh_writenomh_write 命令

minallocszmaxallocsz 命令

rdleasewrleaseaplease 命令

文件系统命令:其他

abrnoabr 命令

dmrnodmr 命令

invalid 时间间隔命令

mm_stripe 命令

qwritenoqwrite 命令

refresh_at_eofnorefresh_at_eof 命令

suidnosuid 命令

stripe 命令

sync_meta 命令

tracenotrace 命令

其他命令

clear vsn 命令

devlog 命令

diskvols 标志命令

dtrace 命令

fs 命令

mount 命令

open 命令

read 命令

refresh 命令

snap 命令

! shell-command 命令

操作员命令

以下主题介绍了可以从 samu 操作员实用程序的命令界面运行的操作员命令。您可以从任意显示屏幕运行这些命令。

以下各节对操作员命令类型进行了说明:

设备命令

下表列出了设备命令及其操作。

表 13-7 设备命令操作

命令
操作
down
停止设备 eq 上的操作。
idle
通过阻止设备 eq 的新建连接来限制访问该设备。现有操作将继续进行,直到完成。
off
逻辑上关闭设备 eq
on
逻辑上打开设备 eq
unavail
选择设备 eq,使其不可用于文件系统。例如,在进行灾难恢复时,如果您尝试装入介质以恢复文件系统,并且不希望 Sun SAM 软件尝试使用此驱动器,则可以将该驱动器的状态设置为 unavail
unload
卸载指定的可移除介质设备 eq 的已挂载介质。对于磁带盒设备,unload 命令将卸载已挂载的卡盒并弹出磁带盒。
nalloc
在设备上设置 nalloc 标志,这会禁止对该设备进行任何分配。有关更多信息,请参见按逻辑单元号 (Logical Unit Number, LUN) 进行分配控制
alloc
从设备中删除 nalloc 标志。nalloc 标志可禁止对该设备进行任何分配。on 命令也可删除该标志。有关更多信息,请参见按逻辑单元号 (Logical Unit Number, LUN) 进行分配控制

所有这些命令均使用以下语法:

 :command eq 

对于 eq,请指定设备的设备编号。

文件系统命令:I/O 管理

通过本节中介绍的命令,您可以动态地管理 I/O 特征。

flush_behind 命令

flush_behind 命令用于设置最大的 flush_behind 值。当设置为大于 0 的值时,正在连续写入的修改页面将异步写入磁盘,以帮助 Oracle Solaris 内核层保持页面整洁。默认情况下,最大值为 0,这表示禁用 flush_behind

:flush_behind eq value

对于 value,请指定一个以 KB 为单位的整数,并使得 0≤ value ≤8192

对于 eq,请指定文件系统的设备编号。

force_nfs_asyncnoforce_nfs_async 命令

这两个命令使您可以控制文件系统是否缓存写入服务器的 NFS 数据,即使 NFS 已请求将数据同步写入磁盘。force_nfs_async 命令用于缓存 NFS 数据。

force_nfs_async 命令仅在文件系统挂载为 NFS 服务器且客户机使用 noac NFS 挂载选项进行挂载的情况下有效。有关挂载 NFS 文件系统的更多信息,请参见 mount_nfs(1M) 手册页。


注意

注意 - force_nfs_async 选项违反了 NFS 协议。请谨慎使用此命令。在服务器中断的情况下,数据可能会丢失。如果存在多个 NFS 服务器,则数据将缓存在 NFS 服务器,并非所有客户机都能立即看到此数据。在 Sun QFS 共享文件系统中,可以启用多个 NFS 服务器。有关 Sun QFS 共享文件系统的更多信息,请参见第 5 章


noforce_nfs_async 命令(默认设置)则用于将数据同步写入磁盘。

:force_nfs_async eq
:noforce_nfs_async eq

对于 eq,请指定文件系统的设备编号。

readahead 命令

readahead 命令指定文件系统可提前读取的最大字节数。默认的 contig 值为 8(131072 字节)。

:readahead eq contig

对于 eq,请指定文件系统的设备编号。

对于 contig,请指定 1 KB 块的数量。该值必须是整数,并使得 1 < contig < 8192。指定的 contig 将按 8 KB 的倍数取整。

例如,以下命令将定义为设备编号 3 的文件系统的最大连续块大小设置为 262,144 字节:

:readahead 3 256

此外,还可以通过指定 readahead 指令,在 samfs.cmd 文件中配置该值。有关更多信息,请参见《Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual》中的"samfs.cmd(4)"

sw_raidnosw_raid 命令

这些命令指定文件系统是否对齐 writebehind 缓冲区。如果此文件系统上还使用软件包(例如,Solaris Volume Manager)的软件 RAID 功能,请指定 sw_raid。默认设置为 nosw_raid

:sw_raid eq
:nosw_raid eq

对于 eq,请指定文件系统的设备编号。

writebehind 命令

writebehind 命令指定文件系统可延后写入的最大字节数。默认的 contig 值为 8(131072 字节)。

:writebehind eq contig

对于 eq,请指定文件系统的设备编号。

对于 contig,请指定 1 KB 块的数量。该值必须是整数,并使得 1 < contig < 8192。

例如,以下命令将定义为设备编号 50 的文件系统的最大连续块大小设置为 262,144 字节:

:writebehind 50 256

此外,还可以通过指定 writebehind 指令在 samfs.cmd 文件中配置该值。有关更多信息,请参见《Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual》中的"samfs.cmd(4)"

wr_throttle 命令

wr_throttle 命令设置一个文件的待写千字节数。默认值为内存大小的 2%(千字节数)。

如果无法计算该百分比,请将值设置为 100 MB。确定 Oracle Solaris 上的内存大小:

npages = sysconf(_SC_PHYS_PAGES);

pagesizeb = sysconf(_SC_PAGESIZE);

fprintf(fp, "Memory size:\t\t%.1f MBytes 
(%.1f M2Bytes, %ld pages, %ld bytes/page)\n", ( /
(float)npages * (float)pagesizeb) / 1000000.0, ((float)npages * (float)pagesizeb) /
 / 1048576.0, npages, pagesizeb);

确定内存大小后,请将 wr_throttle 的值设置为总内存大小的 2%,如下表中所示。

内存大小
wr_throttle 的值
1 GB
20 MB
4 GB
80 MB
16 GB
320 MB
64 GB
1.3 GB
:wr_throttle eq value

对于 eq,请指定文件系统的设备编号。

对于 value,请指定千字节数(整数)。如果 value=0,则表示没有限制。

文件系统命令:直接 I/O 管理

本节介绍的命令控制 Sun QFS 文件系统上的 I/O。您可以根据 I/O 大小和历史记录更改单个文件的 I/O 类型。如果已经为文件指定了直接 I/O(例如使用 setfa 命令),则系统将忽略这些选项,并且一般文件的所有 I/O 均为直接 I/O(如果可能)。

这些命令同时适用于对齐良好的 I/O 和未对齐的 I/O。

有关 I/O 和 I/O 管理的更多信息,请参见第 7 章

dio_rd_form_mindio_wr_form_min 命令

这些命令将对齐良好的 I/O 的下限设置为指定的 1024 字节块数。使用 dio_rd_form_min 命令可设置读取操作次数,使用 dio_wr_form_min 命令可设置写入操作次数。默认情况下,最小块数为 256。

:dio_rd_form_min eq value
:dio_wr_form_min eq value

对于 eq,请指定文件系统的设备编号。

对于 value,请为下限指定 1024 字节块的数量(整数)。如果 value=0,则表示禁用自动 I/O 切换。

dio_rd_ill_mindio_wr_ill_min 命令

这些命令将未对齐 I/O 的下限设置为指定的 1024 字节块数。使用 dio_rd_ill_min 命令可设置读取操作次数,使用 dio_wr_ill_min 命令可设置写入操作次数。默认情况下,最小块数为 256。

:dio_rd_ill_min eq value
:dio_wr_ill_min eq value

对于 eq,请指定文件系统的设备编号。

对于 value,请为下限指定 1024 字节块的数量(整数)。如果 value=0,则表示禁用自动 I/O 切换。

dio_rd_consecdio_wr_consec 命令

这些命令设置缓冲区大小大于指定的下限时可以连续发生的 I/O 传输次数。默认情况下,value=0,表示不再根据 I/O 大小进行默认的直接读取操作。

:dio_rd_consec eq value
:dio_wr_consec eq value

对于 eq,请指定文件系统的设备编号。

对于 value,请指定连续 I/O 传输(缓冲区大小大于指定的下限)的次数。指定的下限是 dio_rd_form_min(用于对齐读取操作)或 dio_rd_ill_min(用于非对齐读取操作)的 value

有关更多信息,请参见以下各节:

dio_szeronodio_szero 命令

这两个命令设置或清除直接 I/O 稀疏清零挂载选项。

dio_szero 命令可使得系统在访问以直接 I/O 写入的稀疏文件的未初始化区域时,其内容被清零。此行为使得稀疏文件与分页 I/O 的行为相同。默认情况下,出于性能考虑,通过直接 I/O 写入的稀疏文件不会将未初始化区域清零。默认值为 nodio_szero

:dio_szero eq
:nodio_szero eq

对于 eq,请指定文件系统的设备编号。

forcedirectionoforcedirectio 命令

这些命令允许您控制是否将直接 I/O 用作默认的 I/O 模式。默认情况下,I/O 模式被缓冲并使用分页缓存。forcedirectio 命令为所有传输启用直接 I/O。noforcedirectio 命令用于恢复默认设置,即缓冲 I/O。

当指定直接 I/O 时,系统在用户的缓冲区和磁盘之间直接传输数据。仅在将文件系统用于大型块对齐的连续 I/O 的情况下,才应使用直接 I/O。

:forcedirectio eq
:noforcedirectio eq

对于 eq,请指定文件系统的设备编号。

有关 I/O 的更多信息,请参见第 7 章

文件系统命令:Sun QFS 共享文件系统

本节中介绍的文件系统命令仅在 Sun QFS 共享文件系统上受支持。

meta_timeo 命令

meta_timeo 命令用于设置 Sun QFS 共享文件系统元数据高速缓存的时间限制。默认值为 3。有关使用此功能的更多信息,请参见保留缓存属性:(meta_timeo 选项)

:meta_timeo eq interval

对于 eq,请指定文件系统的设备编号。

对于 interval,请指定时间(以秒为单位)。超过此时间间隔后,客户机主机系统将从元数据服务器主机获取新的元数据信息副本。

mh_writenomh_write 命令

这些命令用于启用或禁用多主机读写操作。有关此功能的信息,请参见启用多台主机读写:(mh_write 选项)

:mh_write eq
:nomh_write eq

对于 eq,请指定文件系统的设备编号。

minallocszmaxallocsz 命令

这些命令设置块分配大小的最小值和最大值。

:minallocsz eq value
:maxallocsz eq value

对于 eq,请指定文件系统的设备编号。

有关 value 以及此功能的更多信息,请参见调整分配大小:(minallocszmaxallocsz 选项)

rdleasewrleaseaplease 命令

这些命令用于控制授予读取、写入和附加租约的时间。默认时间为 30 秒。有关此功能的信息,请参见在 Sun QFS 共享文件系统中使用租约:(rdleasewrleaseaplease 选项)

:rdlease eq interval
:wrlease eq interval
:aplease eq interval

对于 eq,请指定文件系统的设备编号。

对于 interval,请指定一个整数秒数,并使得 15 ≤ interval ≤ 600

文件系统命令:其他

通过本节中介绍的命令,您可以控制租约、分配容量及其他各种文件系统特征。

abrnoabr 命令

这两个命令设置或清除应用程序二进制恢复 (application binary recovery, ABR) 挂载选项。

这些命令仅限于在 Oracle RAC 环境中与 Sun QFS 异步 I/O (asynchronous I/O, AIO) 配合使用。这些挂载选项禁用或启用软件镜像的 ABR。它们仅适用于在支持 ABR 的 Solaris Volume Manager 镜像卷上构建的 Sun QFS 文件系统。

:abr eq
:noabr eq

对于 eq,请指定文件系统的设备编号。

dmrnodmr 命令

这两个命令设置或清除定向镜像读取 (direct mirror read, DMR) 挂载选项。

这些命令仅限于在 Oracle Real Application Cluster (RAC) 环境中与 Sun QFS AIO 配合使用。这些挂载选项禁用或启用软件镜像的 DMR。它们仅适用于在支持 DMR 的 Solaris Volume Manager 镜像卷上构建的 Sun QFS 文件系统。

:dmr eq
:nodmr eq

对于 eq,请指定文件系统的设备编号。

invalid 时间间隔命令

invalid 命令指定文件系统在文件被修改后至少将缓存的属性保留指定的秒数。仅在文件系统初始挂载时带有 reader 挂载选项的情况下,才可以指定此命令。有关挂载选项的信息,请参见《Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual》中的"mount_samfs(1M)"

:invalid eq interval

对于 eq,请指定文件系统的设备编号。

对于 interval,请指定文件修改后保留原属性的秒数。例如,假定 interval=30。如果运行 ls 命令,在写入器主机上创建文件之后的 30 秒内,您可能不会看见新创建的文件显示在该命令的输出中。

mm_stripe 命令

mm_stripe 命令将文件系统的元数据分散读写宽度设置为指定个数的 16 KB 磁盘分配单元 (disk allocation unit, DAU)。默认值是 1 个 DAU,即文件系统将一个 DAU 的元数据写入一个 LUN,然后切换至下一个 LUN。

:mm_stripe eq value

对于 eq,请指定文件系统的设备编号。

对于 value,请指定 01。如果值设置为 1(默认设置),则文件系统将一个 DAU 的元数据写入一个 LUN,然后切换至下一个 LUN。如果值设置为 0,则将元数据循环写入所有可用的元数据 LUN 上。

qwritenoqwrite 命令

qwritenoqwrite 命令用于控制不同线程同时对同一文件执行读写操作的能力。仅当文件系统用户需要对同一文件执行多个同步处理时,再指定 qwrite。此功能在数据库应用程序中非常有用。qwrite 功能可在驱动器级别上对多个请求进行排队,从而提高了 I/O 性能。对于 NFS 读取或文件系统写入,qwrite 参数是禁用的。

默认设置为 noqwrite,即文件系统禁止对同一文件同时执行读写操作。此模式是由 UNIX vnode 接口标准定义的。该标准仅授予一个写入器独占访问的权限,而强制其他写入器和读取器等待。

:qwrite eq
:noqwrite eq

对于 eq,请指定文件系统的设备编号。

refresh_at_eofnorefresh_at_eof 命令

在挂载了多读取器文件系统的 Sun QFS 主机上,如果该主机挂载时使用了 reader 挂载选项,则可以使用 refresh_at_eofnorefresh_at_eof 命令对这些主机进行快速更新。此选项可确保系统在读取缓冲区超出文件尾部时刷新当前文件的大小。例如,如果写入器主机系统正在向文件追加写入,且读取器正在运行带有 -f 选项的 tail 命令,则可以使用此选项。默认设置为 norefresh_at_eof

:refresh_at_eof eq
:norefresh_at_eof eq

对于 eq,请指定文件系统的设备编号。

suidnosuid 命令

suidnosuid 命令用于控制是否允许正在运行的程序自动更改其属主 ID。有关这两个挂载选项含义的更多信息,请参见 mount_ufs(1M) 手册页中的 suidnosuid 挂载选项说明以及 suid(2) 手册页。

:suid eq
:nosuid eq

对于 eq,请指定文件系统的设备编号。

stripe 命令

stripe 命令将文件系统的分散读写宽度设置为指定个数的磁盘分配单元 (disk allocation unit, DAU)。分散读写宽度指定了在转到下一个 LUN 之前,系统以 value 乘以 DAU 字节的结果计算写入当前 LUN 的字节数。您可以使用 sammkfs -a 命令,在文件系统初始化时设置该文件系统上 DAU 的大小。

:stripe eq value

对于 eq,请指定文件系统的设备编号。

对于 value,请指定一个整数,并使得 0 < value < 255。如果 value=0,文件将在每个分片上进行循环分配。在具有 ms 设备类型的文件系统以及具有 ma 设备类型(没有分散读写组 (gXXX) 组件)的文件系统上,value 的默认值如下:

默认情况下,对于 Sun QFS 共享文件系统,value=0

默认情况下,如果文件系统有带任何分散读写组 (gXXX) 组件的 ma 设备类型,则 value=0

如果存在不匹配的分散读写组,则系统设置 value=0

有关文件系统类型的更多信息,请参见Sun QFS 文件系统设计基础第 4 章

sync_meta 命令

sync_meta 命令用于确定是否每次元数据发生更改时都将其写入磁盘。如果是在 Sun QFS 共享文件系统中使用此命令,还请参见指定元数据写入频率:(sync_meta 选项)

:sync_meta eq value

对于 eq,请指定文件系统的设备编号。

对于 value,请指定 01,如下所示:

tracenotrace 命令

trace 命令用于启用文件系统的跟踪。notrace 命令用于禁用跟踪。这些全局指令会影响所有操作。有关文件系统跟踪的更多信息,请参见《Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual》中的"defaults.conf(4)"

:trace eq
:notrace eq

对于 eq,请指定文件系统的设备编号。

其他命令

本节中介绍的命令允许您控制跟踪、访问磁盘设备以及执行多项其他任务。

clear vsn 命令

clear 命令用于从可移除介质挂载请求显示屏幕中清除指定的 VSN。有关更多信息,请参见(p)-可移除介质装入请求显示屏幕

:clear vsn
:clear vsn index

对于 vsn,请指定要挂载的卷。运行此命令时,系统将中止任何等待 VSN 挂载的进程。

对于 index,请指定可移除介质显示屏幕中 VSN 的十进制序号。

devlog 命令

devlog 命令可设置要记录的一个或多个事件。

:devlog eq
:devlog eq option

对于 eq,请指定设备的设备编号。

对于 option,请指定一个或多个事件类型。可能的事件类型如下:alldatedefaultdetailerreventlabelmigmodulemsgnoneretrystagesyserrtime。有关这些选项的信息,请参见《Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual》中的"defaults.conf(4)"

如果不指定任何选项,系统不会更改正在为指定 eq 记录的当前事件。

diskvols 标志命令

diskvols 命令可设置或清除磁盘卷字典中的标志。

:diskvols volume +flag
:diskvols volume -flag

其中,volume 用于指定磁盘卷字典中的卷。

其中,flag 用于指定 samu D 显示屏幕中的五个标志之一。有关磁盘卷字典和标志的信息,请参见 samu(1M) 手册页。

dtrace 命令

dtrace 命令控制一个或多个进程的 DTrace 功能。DTrace 命令指定各种跟踪选项。

:dtrace daemon-name on
:dtrace daemon-name off
:dtrace daemon-name.variable value

对于 daemon-name,请指定 all 关键字以影响所有进程,或者指定某个进程名称。如果指定了以下进程名称之一,跟踪命令将仅影响该指定的进程:sam-archiverdsam-catserverdsam-fsdsam-rftdsam-recyclersam-sharefsdsam-stagerd

对于 variablevalue,请指定以下 variablevalue 对之一。defaults.conf(4) 手册页包含了有关这些参数的详细信息。

fs 命令

fs 命令用于设置要通过 N 显示屏幕显示的文件系统。

:fs fsname

对于 fsname,请指定要检查的文件系统的名称。

mount 命令

mount 命令用于选择 Sun QFS 文件系统。

:mount mount-point

对于 mount-point,请指定文件系统的挂载点。

open 命令

通过 open 命令,您可以访问指定的磁盘设备。您必须先运行该命令,然后才能使用 read 命令、磁盘扇区显示屏幕 (S) 或文件标签显示屏幕 (F)。

:open eq

对于 eq,请指定设备的设备编号。

read 命令

read 命令用于从当前打开的磁盘设备中读取指定的扇区。读取之前您必须打开该设备。

:read addr

其中,addr 用于指定十六进制扇区地址。

refresh 命令

refresh 命令用于设置两次 samu 屏幕刷新的时间间隔。

:refresh i

其中,i 用于指定时间(秒)。

snap 命令

snap 命令用于将显示屏幕窗口的快照发送到文件。默认文件是当前工作目录中的 snapshots。为便于报告问题,请为所有 samu 实用程序显示屏幕创建快照。每一个新的快照均会添加到现有的快照文件。可以打印该文件,通过编辑器检查该文件,或将其传真给 Oracle 客户支持人员。

:snap 
:snap filename

对于 filename,请指定接收显示屏幕信息的文件路径。

! shell-command 命令

通过 ! 命令,您可以在不退出 samu 操作员实用程序的情况下运行 shell 命令。

:! shell-command

对于 shell-command,请指定一个命令。