跳过导航链接 | |
退出打印视图 | |
![]() |
Sun QFS 文件系统 5.3 配置和管理指南 Sun QFS and Sun Storage Archive Manager 5.3 Information Library (简体中文) |
以下主题介绍了可以从 samu 操作员实用程序的命令界面运行的操作员命令。您可以从任意显示屏幕运行这些命令。
以下各节对操作员命令类型进行了说明:
设备命令
文件系统命令:I/O 管理
文件系统命令:直接 I/O 管理
文件系统命令:Sun QFS 共享文件系统
文件系统命令:其他
其他命令
如果要在 Oracle Solaris OS 命令行中运行任何操作员命令,则必须将它们用作 samcmd 命令的参数。有关 samcmd 命令的更多信息,请参见《Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual》中的"samcmd(1M)"。
下表列出了设备命令及其操作。
表 13-7 设备命令操作
|
所有这些命令均使用以下语法:
:command eq
对于 eq,请指定设备的设备编号。
通过本节中介绍的命令,您可以动态地管理 I/O 特征。
flush_behind 命令用于设置最大的 flush_behind 值。当设置为大于 0 的值时,正在连续写入的修改页面将异步写入磁盘,以帮助 Oracle Solaris 内核层保持页面整洁。默认情况下,最大值为 0,这表示禁用 flush_behind。
:flush_behind eq value
对于 value,请指定一个以 KB 为单位的整数,并使得 0≤ value ≤8192。
对于 eq,请指定文件系统的设备编号。
这两个命令使您可以控制文件系统是否缓存写入服务器的 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 命令指定文件系统可提前读取的最大字节数。默认的 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)"。
这些命令指定文件系统是否对齐 writebehind 缓冲区。如果此文件系统上还使用软件包(例如,Solaris Volume Manager)的软件 RAID 功能,请指定 sw_raid。默认设置为 nosw_raid。
:sw_raid eq :nosw_raid eq
对于 eq,请指定文件系统的设备编号。
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 命令设置一个文件的待写千字节数。默认值为内存大小的 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 eq value
对于 eq,请指定文件系统的设备编号。
对于 value,请指定千字节数(整数)。如果 value=0,则表示没有限制。
本节介绍的命令控制 Sun QFS 文件系统上的 I/O。您可以根据 I/O 大小和历史记录更改单个文件的 I/O 类型。如果已经为文件指定了直接 I/O(例如使用 setfa 命令),则系统将忽略这些选项,并且一般文件的所有 I/O 均为直接 I/O(如果可能)。
这些命令同时适用于对齐良好的 I/O 和未对齐的 I/O。
对齐良好的 I/O 出现在文件偏移位于 512 字节边界处且 I/O 传输的长度至少为 512 字节时。
未对齐的 I/O 出现在文件偏移不在 512 字节界限处并且 I/O 传输的长度小于 512 字节时。
有关 I/O 和 I/O 管理的更多信息,请参见第 7 章。
这些命令将对齐良好的 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 切换。
这些命令将未对齐 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 切换。
这些命令设置缓冲区大小大于指定的下限时可以连续发生的 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。
有关更多信息,请参见以下各节:
这两个命令设置或清除直接 I/O 稀疏清零挂载选项。
dio_szero 命令可使得系统在访问以直接 I/O 写入的稀疏文件的未初始化区域时,其内容被清零。此行为使得稀疏文件与分页 I/O 的行为相同。默认情况下,出于性能考虑,通过直接 I/O 写入的稀疏文件不会将未初始化区域清零。默认值为 nodio_szero。
:dio_szero eq :nodio_szero eq
对于 eq,请指定文件系统的设备编号。
这些命令允许您控制是否将直接 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 共享文件系统上受支持。
meta_timeo 命令用于设置 Sun QFS 共享文件系统元数据高速缓存的时间限制。默认值为 3。有关使用此功能的更多信息,请参见保留缓存属性:(meta_timeo 选项)。
:meta_timeo eq interval
对于 eq,请指定文件系统的设备编号。
对于 interval,请指定时间(以秒为单位)。超过此时间间隔后,客户机主机系统将从元数据服务器主机获取新的元数据信息副本。
这些命令用于启用或禁用多主机读写操作。有关此功能的信息,请参见启用多台主机读写:(mh_write 选项)。
:mh_write eq :nomh_write eq
对于 eq,请指定文件系统的设备编号。
这些命令设置块分配大小的最小值和最大值。
:minallocsz eq value :maxallocsz eq value
对于 eq,请指定文件系统的设备编号。
有关 value 以及此功能的更多信息,请参见调整分配大小:(minallocsz 和 maxallocsz 选项)。
这些命令用于控制授予读取、写入和附加租约的时间。默认时间为 30 秒。有关此功能的信息,请参见在 Sun QFS 共享文件系统中使用租约:(rdlease、wrlease 和 aplease 选项)。
:rdlease eq interval :wrlease eq interval :aplease eq interval
对于 eq,请指定文件系统的设备编号。
对于 interval,请指定一个整数秒数,并使得 15 ≤ interval ≤ 600。
通过本节中介绍的命令,您可以控制租约、分配容量及其他各种文件系统特征。
这两个命令设置或清除应用程序二进制恢复 (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,请指定文件系统的设备编号。
这两个命令设置或清除定向镜像读取 (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 命令指定文件系统在文件被修改后至少将缓存的属性保留指定的秒数。仅在文件系统初始挂载时带有 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 命令将文件系统的元数据分散读写宽度设置为指定个数的 16 KB 磁盘分配单元 (disk allocation unit, DAU)。默认值是 1 个 DAU,即文件系统将一个 DAU 的元数据写入一个 LUN,然后切换至下一个 LUN。
:mm_stripe eq value
对于 eq,请指定文件系统的设备编号。
对于 value,请指定 0 或 1。如果值设置为 1(默认设置),则文件系统将一个 DAU 的元数据写入一个 LUN,然后切换至下一个 LUN。如果值设置为 0,则将元数据循环写入所有可用的元数据 LUN 上。
qwrite 和 noqwrite 命令用于控制不同线程同时对同一文件执行读写操作的能力。仅当文件系统用户需要对同一文件执行多个同步处理时,再指定 qwrite。此功能在数据库应用程序中非常有用。qwrite 功能可在驱动器级别上对多个请求进行排队,从而提高了 I/O 性能。对于 NFS 读取或文件系统写入,qwrite 参数是禁用的。
默认设置为 noqwrite,即文件系统禁止对同一文件同时执行读写操作。此模式是由 UNIX vnode 接口标准定义的。该标准仅授予一个写入器独占访问的权限,而强制其他写入器和读取器等待。
:qwrite eq :noqwrite eq
对于 eq,请指定文件系统的设备编号。
在挂载了多读取器文件系统的 Sun QFS 主机上,如果该主机挂载时使用了 reader 挂载选项,则可以使用 refresh_at_eof 和 norefresh_at_eof 命令对这些主机进行快速更新。此选项可确保系统在读取缓冲区超出文件尾部时刷新当前文件的大小。例如,如果写入器主机系统正在向文件追加写入,且读取器正在运行带有 -f 选项的 tail 命令,则可以使用此选项。默认设置为 norefresh_at_eof。
:refresh_at_eof eq :norefresh_at_eof eq
对于 eq,请指定文件系统的设备编号。
suid 和 nosuid 命令用于控制是否允许正在运行的程序自动更改其属主 ID。有关这两个挂载选项含义的更多信息,请参见 mount_ufs(1M) 手册页中的 suid 和 nosuid 挂载选项说明以及 suid(2) 手册页。
:suid eq :nosuid eq
对于 eq,请指定文件系统的设备编号。
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 的默认值如下:
128 KB/DAU(当 DAU < 128 KB 时)
1(当 DAU > 128 KB 时)
默认情况下,对于 Sun QFS 共享文件系统,value=0。
默认情况下,如果文件系统有带任何分散读写组 (gXXX) 组件的 ma 设备类型,则 value=0。
如果存在不匹配的分散读写组,则系统设置 value=0。
有关文件系统类型的更多信息,请参见Sun QFS 文件系统设计基础和第 4 章。
sync_meta 命令用于确定是否每次元数据发生更改时都将其写入磁盘。如果是在 Sun QFS 共享文件系统中使用此命令,还请参见指定元数据写入频率:(sync_meta 选项)。
:sync_meta eq value
对于 eq,请指定文件系统的设备编号。
对于 value,请指定 0 或 1,如下所示:
如果 value 的值是 0,元数据在更改后先保留到缓冲区中。对于性能要求较高的非共享 Sun QFS 文件系统,可将 value 设置为 0。在此情况下,系统执行延迟写入操作,此时元数据在写入磁盘前保留在缓冲区中。对于非共享文件系统以及未作为多读取器文件系统挂载的文件系统,此值为默认值。
如果 value 的值是 1,元数据将在每次更改后直接写入磁盘。此行为会降低性能,但提高了数据的一致性。如果 Sun QFS 文件系统作为多读取器文件系统挂载,或属于共享文件系统,则此值为默认值。对于 Sun QFS 共享文件系统,如果需要故障转移功能,必须将 value 设置为 1。
trace 命令用于启用文件系统的跟踪。notrace 命令用于禁用跟踪。这些全局指令会影响所有操作。有关文件系统跟踪的更多信息,请参见《Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual》中的"defaults.conf(4)"。
:trace eq :notrace eq
对于 eq,请指定文件系统的设备编号。
本节中介绍的命令允许您控制跟踪、访问磁盘设备以及执行多项其他任务。
clear 命令用于从可移除介质挂载请求显示屏幕中清除指定的 VSN。有关更多信息,请参见(p)-可移除介质装入请求显示屏幕。
:clear vsn :clear vsn index
对于 vsn,请指定要挂载的卷。运行此命令时,系统将中止任何等待 VSN 挂载的进程。
对于 index,请指定可移除介质显示屏幕中 VSN 的十进制序号。
devlog 命令可设置要记录的一个或多个事件。
:devlog eq :devlog eq option
对于 eq,请指定设备的设备编号。
对于 option,请指定一个或多个事件类型。可能的事件类型如下:all、date、default、detail、err、event、label、mig、module、msg、none、retry、stage、syserr 和 time。有关这些选项的信息,请参见《Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual》中的"defaults.conf(4)"。
如果不指定任何选项,系统不会更改正在为指定 eq 记录的当前事件。
diskvols 命令可设置或清除磁盘卷字典中的标志。
:diskvols volume +flag :diskvols volume -flag
其中,volume 用于指定磁盘卷字典中的卷。
其中,flag 用于指定 samu D 显示屏幕中的五个标志之一。有关磁盘卷字典和标志的信息,请参见 samu(1M) 手册页。
dtrace 命令控制一个或多个进程的 DTrace 功能。DTrace 命令指定各种跟踪选项。
:dtrace daemon-name on :dtrace daemon-name off :dtrace daemon-name.variable value
对于 daemon-name,请指定 all 关键字以影响所有进程,或者指定某个进程名称。如果指定了以下进程名称之一,跟踪命令将仅影响该指定的进程:sam-archiverd、sam-catserverd、sam-fsd、sam-rftd、sam-recycler、sam-sharefsd 和 sam-stagerd。
对于 variable 和 value,请指定以下 variable 和 value 对之一。defaults.conf(4) 手册页包含了有关这些参数的详细信息。
filevalue
指定可以写入跟踪文件的文件名称。它可以是一个完整的路径名。
optionsvalue
指定以空格分隔的跟踪选项列表。
agevalue
指定跟踪文件的轮转时限。
注 - 请勿将时限设为两分钟或更短。如果这样做,轮转永远无法实现。
sizevalue
指定轮转开始时的跟踪文件大小。
fs 命令用于设置要通过 N 显示屏幕显示的文件系统。
:fs fsname
对于 fsname,请指定要检查的文件系统的名称。
mount 命令用于选择 Sun QFS 文件系统。
:mount mount-point
对于 mount-point,请指定文件系统的挂载点。
通过 open 命令,您可以访问指定的磁盘设备。您必须先运行该命令,然后才能使用 read 命令、磁盘扇区显示屏幕 (S) 或文件标签显示屏幕 (F)。
:open eq
对于 eq,请指定设备的设备编号。
read 命令用于从当前打开的磁盘设备中读取指定的扇区。读取之前您必须打开该设备。
:read addr
其中,addr 用于指定十六进制扇区地址。
refresh 命令用于设置两次 samu 屏幕刷新的时间间隔。
:refresh i
其中,i 用于指定时间(秒)。
snap 命令用于将显示屏幕窗口的快照发送到文件。默认文件是当前工作目录中的 snapshots。为便于报告问题,请为所有 samu 实用程序显示屏幕创建快照。每一个新的快照均会添加到现有的快照文件。可以打印该文件,通过编辑器检查该文件,或将其传真给 Oracle 客户支持人员。
:snap :snap filename
对于 filename,请指定接收显示屏幕信息的文件路径。
通过 ! 命令,您可以在不退出 samu 操作员实用程序的情况下运行 shell 命令。
:! shell-command
对于 shell-command,请指定一个命令。