本章介绍以下主题:
用户可以通过熟悉的“标准 UNIX 文件系统”界面进行交互是 Oracle Hierarchical Storage Manager and StorageTek QFS Software 的一项重要优势。大多数用户甚至不需要知道差异。但是,在必要时,Oracle HSM 文件系统可以向高级用户提供更强大的功能。Oracle HSM文件属性允许用户优化文件系统处理单个文件和目录的行为。如果用户了解自己的工作负荷以及数据特性,则可以极大地提高各个文件的性能。例如,用户可以根据给定文件或目录中数据的特性指定直接 I/O 或缓冲 I/O。用户可以预分配文件系统空间,以便大型文件能以更加连续的方式写入,并可在写入特定文件或目录时指定分散读写宽度。
setfa
命令可对新的和现有的文件和目录设置这些文件属性。该命令可以创建不存在的指定文件或目录。当应用于目录时,该命令可对该目录中的所有文件和子目录设置指定属性。后续创建的文件和目录会继承这些属性。
下面概述了一些基本任务(有关其他信息,请参见 setfa
手册页)。
登录到文件系统主机。
user@solaris:~#
要将文件重置为默认属性值,请使用命令 setfa
-d
file
,其中 file
是文件的路径和名称。
在该示例中,将文件 /samfs1/data/2014/03/series3.15
重置为默认值:
user@solaris:~# setfa -d /samfs1/data/2014/03/series3.15
要以递归方式将某个目录及其所有内容重置为默认值,请使用命令 setfa
-r
directory
,其中 directory
是目录的路径和名称。
在该示例中,将子目录 /samfs1/data/2014/02
重置为默认值:
user@solaris:~# setfa -r /samfs1/data/2014/02/
在此处停止。
为文件预分配空间可保证在写入文件时有足够的空间按顺序写出整个文件。以连续块形式读写大型文件可以减少与寻找块以及缓冲较小、较分散的数据块有关的开销,从而提高效率和整体性能。因此,预分配最适合写入数量可预测的较大数据块。文件关闭时,预分配但未使用的空间仍属于文件,在删除整个文件之前,不会释放此空间用于其他用途。
登录到文件系统主机。
user@solaris:~#
如果需要预分配空间来写入已包含数据的现有文件,请使用命令 setfa
-L
number-bytes
file
,其中 k
是一个整数或整数加 k
(表示千字节)、m
(表示兆字节)或 g
(表示千兆字节),而 file
则是文件的名称。
命令 setfa
-L
使用标准分配。该命令支持分散读写。预分配的文件可以增长至超过其预分配大小。在该示例中,将预分配 121 MB 给现有的文件 tests/series119b
:
user@solaris:~# setfa -L 121m tests/series119b
如果需要预分配空间以写入未分配存储块的新文件,请使用命令 setfa
-l
number-bytes
file
,其中:
l
是小写字母 "L"。
number-bytes
是整数或整数加 k
(表示千字节)、m
(表示兆字节)或 g
(表示千兆字节)。
file
是文件的名称。
命令 setfa
-l
可预分配指定的字节数。结果文件的大小固定在为其预分配的大小,不能高出也不能小于其预分配大小。在该示例中,将创建文件 data/2014/a3168445
,并为其内容预分配 2 GB 的空间:
user@solaris:~# setfa -l 2g data/2014/a3168445
在此处停止。
默认情况下,Oracle HSM 文件系统使用在挂载时为文件系统指定的分配方法。但是,用户可以为指定的目录或文件指定一个首选分配方法:循环分配或者具有指定分散读写宽度的分散读写分配。
登录到文件系统主机。
user@solaris:~#
要指定循环分配,请将分散读写宽度指定为 0
(零)。使用命令 setfa
-s
0
directory-or-file
,其中 directory-or-file
是要使用指定的分配方法写入的目录或文件的名称。
分散读写宽度为 0
(零)时,指定无分散读写的循环分配。文件系统在下一个可用设备上开始写入文件。文件系统在同一个设备上为文件写入连续的磁盘分配单元 (disk allocation unit, DAU),直到文件完成或者设备空间耗尽。如果设备空间耗尽,文件系统将移到下一个可用设备,然后继续写入磁盘分配单元。该过程会重复到文件完成。在该示例中,为写入到 data/field-reports
目录的所有文件指定循环分配:
user@solaris:~# setfa -s 0 data/field-reports
要指定分散读写分配,请指定分散读写宽度。使用命令 setfa
-s
stripe-width
directory-or-file
,其中 stripe-width
为 [1–255
] 范围内的一个整数,directory-or-file
是要使用指定分配方法写入的目录或文件的名称。
如果分散读写宽度在 [1–255
] 范围内,即指定分散读写分配。文件系统以并行方式向多个设备写入分散读写宽度中指定的磁盘分配单元 (DAU) 数量,直到文件完成。在该示例中,为写入到相应目录中的所有文件指定分散读写宽度为 1
的分散读写分配(即写入到 data/field-reports
目录 data/2014/
的所有文件的文件分配),这样文件系统将向每个可用设备写入一个磁盘分配单元,直到文件完成:
user@solaris:~# setfa -s 1 data/2014/
在此处停止。
用户可以指定循环分配或分散读写分配应从哪个分散读写组设备开始。Oracle HSM 分散读写组是在多个物理卷上分散读写数据的逻辑卷。使用循环文件分配时,会在指定的分散读写组上写入整个文件。使用分散读写分配时,会在指定的分散读写组上进行第一次分配。
登录到文件系统主机。
user@solaris:~#
要将整个文件写入特定的分散读写组,请使用循环分配。使用命令 setfa
-s
0
-g
stripe-group-number
,其中 stripe-group-number
为 [0-127
] 范围内的一个整数,用于标识指定的分散读写组。
在本示例中,我们在写入文件 reports/site51
时指定从分散读写组 0
开始的循环分配:
user@solaris:~# setfa -s 0 -g0 reports/site51
要在从指定分散读写组开始的多个分散读写组上分散读写文件,请使用分散读写分配。使用命令 setfa
-s
stripe-width
-g
stripe-group-number
,其中 stripe-width
为 [1–255
] 范围内的一个整数,用于指定一定数量的磁盘分配单元;stripe-group-number
是在 [0-127
] 范围内的整数,用于标识指定的分散读写组。
在本示例中,我们为文件 assessments/site52
指定分散读写分配。我们为每个组指定三个磁盘分配单元(从分散读写组 21
开始):
user@solaris:~# setfa -s 3 -g21 assessments/site52
在此处停止。
与其他 Solaris 和 Linux 文件系统一样,Oracle HSM 文件系统支持扩展文件属性。扩展属性存放由用户或应用程序(而非文件系统本身)与某个文件关联的任意元数据。扩展属性已用来存放文件摘要、作者姓名、源应用程序的名称以及文本文件使用的字符编码。
从 发行版 6.1 开始,Oracle HSM 存储小型扩展属性文件,这些文件在元数据分区内的扩展 inode 中(而不是数据分区中的块)包含 464 个或更少字符。当使用扩展属性且文件系统元数据存储在较快的设备(如闪存)上时,新方法会显著提高文件系统性能。
每当您创建新文件系统或者从恢复点 (samfsdump
) 文件恢复旧文件系统时,扩展文件属性会自动启用。有关使用扩展属性的更多信息,请参见 Solaris fsattr(5)
和 Linux xattr(7)
手册页。
Oracle HSM 文件系统特别适合处理超大文件。本节介绍以下主题:
在处理特大型文件时,请特别注意可用的磁盘高速缓存大小。如果尝试写入的文件比磁盘高速缓存大,则非归档文件系统将返回 ENOSPC
错误,而归档文件系统则会等待可能永远也不会变得可用的空间,从而导致应用程序受阻。
Oracle HSM 提供了两种可能的备选方法来增加磁盘高速缓存的大小:
文件分段,使用户在任何给定时间仅将大型文件的一部分回写到磁盘。
将可移除介质文件用于大型数据集,从而使用户绝不会将数据回写到磁盘。
为文件设置 Oracle HSM 分段属性时,文件系统会将文件分成指定大小的段,并管理访问请求,从而使得在任何给定时间只有当前需要的段位于磁盘上。文件的剩余部分位于可移除介质上。
对大型文件分段有多项优势:
用户可以创建和访问大于可用磁盘高速缓存大小的文件。
由于在任何给定时间只有一些段位于高速缓存中,因此只需要选择适合磁盘高速缓存的段大小。整个文件可以增长到介质能容纳的任何大小。
用户可以更快地访问从磁盘高速缓存中释放的大型文件。将大型文件的一部分回写到磁盘比等待整个文件回写要快得多。
文件分段后,归档的速度和效率都会提升,因为仅重新归档每个文件发生更改的部分。
可以在挂载到多个驱动器的可移除介质卷上分散读写文件。随后,可以继续以并行方式进行归档和回写操作,从而进一步提高性能。
存在两项限制:
不能在共享文件系统中进行文件分段。
不能将二进制可执行文件分段,因为 Solaris 内存映射函数 mmap()
无法将分段文件中的字节映射到进程的地址空间。
要创建分段文件,请执行如下操作:
登录到文件系统主机。
user@solaris:~#
选择或者在必要时创建需要分段的文件。
要将单个文件分段,请使用命令 segment
[
-s
stage_ahead
]
-l
segment_size
file-path-name
,其中:
stage_ahead
(可选)是一个整数,用于指定在访问给定段时要读取的连续额外段的数量。恰当地选择值可以提高系统页面高速缓存的利用率,从而提高 I/O 性能。默认值为 0
(禁用)。
segment_size
是一个整数及单位,放在一起来指定每个分段的大小。支持的单位包括 k
(千字节)、m
(兆字节)以及 g
(千兆字节)。最小大小为一兆字节(1m
或 1024k
)。
file-path-name
是文件的路径和文件名。
有关完整的详细信息,请参见 segment
手册页。在示例中,使用 1.5 兆字节 (1536k
) 段大小对文件 201401.dat
分段:
user@solaris:~# segment -l 1536k 201401.dat
要以递归方式对某个目录及其所有子目录中的文件分段,请使用命令 segment
[
-s
stage_ahead
]
-l
segment_size
-r
directory-path-name
,其中 directory-path-name
是起始目录的路径和名称。
在示例中,使用 1 兆字节 (1m
) 段大小对 /hsm/hsmfs1/data
目录及其子目录中的所有文件分段:
user@solaris:~# segment -l 1m -r /hsm/hsmfs1/data
在此处停止。
通过将分段文件分配给指定了多个驱动器的归档集,可以为分段文件配置分散读写 I/O。执行如下操作:
以 root
用户身份登录主机。
root@solaris:~#
在文本编辑器中打开文件 /etc/opt/SUNWsamfs/archiver.cmd
。
在示例中,使用 vi
编辑器打开该文件:
root@solaris:~# vi /etc/opt/SUNWsamfs/archiver.cmd # Configuration file for Oracle HSM archiving file systems ...
要在多个驱动器上分散读写分段文件,请为包含分段文件的每个归档集的每个副本指定至少使用两个驱动器。在 archiver.cmd
文件中,找到 params
部分。确保每个副本的参数包含 -drives
number
参数,其中 number
是二 (2
) 或更多。进行所需的更改,保存文件,然后关闭编辑器。
在该示例中,archiver.cmd
文件为所有配置的归档集的全部三个副本指定了两个驱动器:
root@solaris:~# vi /etc/opt/SUNWsamfs/archiver.cmd # Configuration file for Oracle HSM archiving file systems ... ... #----------------------------------------------------------------------- # Copy Parameters params allsets -sort path -offline_copy stageahead -reserve set allsets.1 -startage 10m -drives 2 allsets.2 -startage 24h -drives 2 allsets.3 -startage 48h -drives 2 endparams ... :wq root@solaris:~#
检查 archiver.cmd
文件中的错误。使用命令 archiver
-lv
。
archiver
-lv
命令将 archiver.cmd
文件输出到屏幕,如果未发现错误将生成一个配置报告。否则,将记录所有错误并停止。
root@solaris:~# archiver -lv Reading '/etc/opt/SUNWsamfs/archiver.cmd'. ... Total space available: 300T root@solaris:~#
指示 Oracle HSM 软件重新读取 archiver.cmd
文件并相应地重新配置自身。使用 /opt/SUNWsamfs/sbin/samd
config
命令。
root@solaris:~# samd config
在此处停止。
Oracle HSM 可移除介质文件完全位于可移除介质上,因此从来不会占用文件系统磁盘高速缓存中的空间。文件系统将可移除介质文件直接读取到内存中。因此,存储介质根本不会限制文件的大小。超过单个介质磁带容量的可移除文件可能会成为多磁带卷溢出文件。文件系统按顺序读取数据并将其写入介质。
在大多数方面,可移除介质文件就像是典型的 UNIX 文件。其具有权限、用户名、组名和文件大小。用户或应用程序请求可移除介质文件时,系统会自动挂载对应的卷,用户从内存中访问数据,就像数据在磁盘上一样。但是,可移除介质文件不同于其他 Oracle HSM 文件的地方主要在两个方面:Oracle Hierarchical Storage Manager 软件从不对其归档,并且在 NFS 中不支持这类文件。
Oracle Hierarchical Storage Manager 软件不管理可移除介质文件。永远不会归档或释放这类文件,也永远不会回收包含它们的介质。当需要将可移除介质用于归档以外的目的时,可移除介质文件很有用。这类文件非常适合创建可移除的灾难恢复卷,用于备份 Oracle HSM 配置文件和元数据转储文件。还可以从外部卷(由其他应用程序创建的卷)读取数据,即以只读方式装入卷并将文件作为可移除介质文件读取到内存中。
由于无法释放可移除介质文件,并且不能回收关联的卷,因此,通常应将可移除介质文件单独放在专用卷上,而不应将它们与归档副本混合存放。
登录到文件系统主机。
user@solaris:~#
为可移除介质文件选择 Oracle HSM 文件系统、路径和文件名。
创建了可移除介质文件之后,文件系统将使用来自可移除介质的数据响应对此路径和文件名的请求。
创建可移除介质文件。使用命令 request
-m
media-type
-v
volume-specifier
data-file
,其中 mediatype
是附录 A中列出的两字符介质类型代码之一,data-file
是为可移除介质文件选择的路径和名称,volume-specifier
是以下对象之一:
卷序列号或以斜杠分隔的卷序列号列表
在第一个示例中,在 LTO (li
) 卷 VOL080
上创建了 file1
:
user@solaris:~# request -m li -v VOL080 /hsm/hsmfs1/data/file1
在第二个示例中,在 LTO (li
) 卷 VOL080
、VOL082
和 VOL098
上创建了 file2
:
user@solaris:~# request -m li -v VOL081/VOL082/VOL098 /hsm/hsmfs1/data/file2
-l
volume-list-file
,其中 volume-list-file
是文件的路径和名称;在每一行上,列出一个卷序列号以及可选的空格和十进制或十六进制数值,该数值指定在指定卷上的开始位置(十六进制数值带 0x
前缀)。
在示例中,使用 vi
编辑器在文件 vsnsfile3
中列出的 LTO (li
) 卷上创建 file3
:
user@solaris:~# vi vsnsfile3 VOL180 VOL181 VOL182 :wq user@solaris:~# request -m li -v -l vsnsfile3 /hsm/hsmfs1/data/file3
在此处停止。
登录到文件系统主机。
user@solaris:~#
确保外部磁带有条码、启用写保护、以只读方式打开并且定位到 0
。
为可移除介质文件选择 Oracle HSM 文件系统、路径和文件名。
创建了可移除介质文件之后,文件系统将使用来自外部磁带的数据响应对此路径和文件名的请求。
使用 -N
(外部介质)选项创建可移除介质文件。使用命令 request
-m
media-type
-N
-v
volume-serial-number
data-file
,其中:
mediatype
为附录 A中列出的由两个字符表示的介质类型代码之一。
volume-serial-number
是外部磁带的卷序列号。
data-file
是可移除介质文件的路径和名称。
在该示例中,为外部 LTO (li
) 卷 FOR991
创建了一个可移除介质文件:
user@solaris:~# request -m li -N -v FOR991 /hsm/hsmfs1/foreignfile
在此处停止。
Linear Tape File System 是自描述磁带格式,可将顺序访问磁带介质上的数据组织到文件系统中,以便可以像文件位于随机访问磁盘上一样对其进行访问。Oracle HSM 提供对 LTFS 的广泛支持。该软件支持在 Oracle HSM 文件系统中使用 LTFS 文件,并提供了创建、访问和管理 LTFS 介质的工具。
本节介绍以下主题:
Oracle HSM 软件会自动识别 LTFS 介质。因此,可以使用 samimport
命令导入 LTFS 卷,就像导入其他任何介质一样。有关其他信息,请参见导入和导出可移除介质和 samimport
手册页。
Oracle HSM 软件可以将 Linear Tape File System (LTFS) 目录和文件连接到 Oracle HSM 文件系统,使这些目录和文件可以当作 Oracle HSM 文件进行访问和管理。该软件将 LTFS 元数据从 LTFS 卷复制到 Oracle HSM 文件系统中的空目录。使用此元数据,Oracle HSM 就像管理归档的 Oracle HSM 文件一样管理 LTFS 介质和文件。用户依次访问 LTFS 文件或者同时访问这些 LTFS 文件时,只要 LTFS 元数据就位,就将 LTFS 文件从 LTFS 介质回写到 Oracle HSM 磁盘高速缓存供使用。将应用 Oracle HSM 文件系统的归档和空间管理策略,就像对待任何 Oracle HSM 文件一样。
本节介绍以下任务:
将 LTFS 文件连接到 Oracle HSM 文件系统时,Oracle HSM 软件会将文件系统元数据从 LTFS 卷复制到 Oracle HSM 文件系统中的指定目录。然后,在用户访问这些文件时,将其回写到磁盘高速缓存。要连接 LTFS 文件,请执行如下操作:
登录到文件系统主机。
user@solaris:~#
在承载 LTFS 文件的 Oracle HSM 文件系统中,创建用于存放 LTFS 元数据的目录。
在示例中,在文件系统挂载点 /hsm/hsmfs1
下创建了目录 ltfs1/
:
user@solaris:~# mkdir /hsm/hsmfs1/ltfs1 user@solaris:~#
将 LTFS 文件连接到 Oracle HSM 文件系统。使用命令 samltfs
attach
LTFS-media-type
.
LTFS-volume-serial-number
SAMQFS-directory
,其中:
LTFS-media-type
是存放 LTFS 数据的介质类型的两字符介质类型代码(请参见附录 A)。
LTFS-volume-serial-number
是 LTFS 卷的六字符卷序列号(使用字母数字)。
指定的介质类型和卷序列号用于标识目录列为 LTFS 卷的卷。
在 Oracle HSM 目录中,LTFS 介质是无标签的并标记为 non-SAM
和 tfs
。
SAMQFS-directory
是将存放 LTFS 元数据的目录的路径和名称。
在该示例中,连接了 LTO (li
) 卷 TFS233
:
user@solaris:~# samltfs attach li.TFS233 /hsm/hsmfs1/ltfs1 user@solaris:~#
在此处停止。
将 LTFS 文件获取 到 Oracle HSM 文件系统中时,Oracle HSM 软件会将文件系统元数据从 LTFS 卷复制到 Oracle HSM 文件系统中的指定目录,并立即将所有文件回写到磁盘高速缓存。要获取 LTFS 文件,请执行如下操作:
登录到文件系统主机。
user@solaris:~#
在承载 LTFS 文件的 Oracle HSM 文件系统中,创建用于存放 LTFS 元数据的目录。
在示例中,在文件系统挂载点 /hsm/hsmfs1
下创建了目录 ltfs2/
:
user@solaris:~# mkdir /hsm/hsmfs1/ltfs2 user@solaris:~#
将 LTFS 文件获取到 Oracle HSM 文件系统中。使用命令 samltfs
ingest
LTFS-media-type
.
LTFS-volume-serial-number
SAMQFS-directory
,其中:
LTFS-media-type
是存放 LTFS 数据的介质类型的两字符介质类型代码(请参见附录 A)。
LTFS-volume-serial-number
是 LTFS 卷的六字符卷序列号(使用字母数字)。
指定的介质类型和卷序列号用于标识目录列为 LTFS 卷的卷。
在 Oracle HSM 目录中,LTFS 介质是无标签的并标记为 non-SAM
和 tfs
。
SAMQFS-directory
是存放 LTFS 元数据的目录的路径和名称。
在该示例中,获取了 LTO (li
) 卷 TFS234
:
user@solaris:~# samltfs ingest li.TFS234 /hsm/hsmfs1/ltfs2 user@solaris:~#
在此处停止。
Oracle HSM 软件还可以在主机上装入和卸载 LTFS 介质,以及使用 Oracle HSM defaults.conf
文件中指定的 LTFS 挂载点挂载或卸载 LTFS 文件系统。
登录到文件系统主机。
user@solaris:~#
将 LTFS 卷装入磁带机并在 defaults.conf
文件中指定的挂载点上挂载文件系统。使用命令 samltfs
load
LTFS-media-type
.
LTFS-volume-serial-number
,其中:
LTFS-media-type
是存放 LTFS 数据的介质类型的两字符介质类型代码(请参见附录 A)。
LTFS-volume-serial-number
是 LTFS 卷的六字符卷序列号(使用字母数字)。
指定的介质类型和卷序列号用于标识目录列为 LTFS 卷的卷。
在 Oracle HSM 目录中,LTFS 介质是无标签的并标记为 non-SAM
和 tfs
。
在该示例中,装入 LTO (li
) 卷 TFS434
并将其挂载到 defaults.conf
文件中指定的目录 /mnt/ltfs
下:
user@solaris:~# samltfs load li.TFS234
在此处停止。
登录到文件系统主机。
user@solaris:~#
卸载 LTFS 文件系统,并从磁带机中卸载对应的卷。使用命令 samltfs
unload
LTFS-media-type
.
LTFS-volume-serial-number
,其中:
LTFS-media-type
是存放 LTFS 数据的介质类型的两字符介质类型代码(请参见附录 A)。
LTFS-volume-serial-number
是 LTFS 卷的六字符卷序列号(使用字母数字)。
指定的介质类型和卷序列号用于标识目录列为 LTFS 卷的 LTFS 卷。
在 Oracle HSM 目录中,LTFS 介质是无标签的并标记为 non-SAM
和 tfs
。
在该示例中,卸载 LTFS 文件系统并卸载 LTO (li
) 卷 TFS435
:
user@solaris:~# samltfs unload li.TFS435
在此处停止。
Oracle HSM 软件提供了创建、清除和验证 LTFS 介质所需的基本工具:
登录到文件系统主机。
user@solaris:~#
对 LTFS 文件系统的可移除介质卷进行分区和格式化。使用命令 samltfs
mkltfs
media-type
.
volume-serial-number
,其中:
media-type
是 LTFS 兼容介质类型的两字符介质类型代码(请参见附录 A)。
volume-serial-number
是使用字母数字的六字符卷序列号。
在该示例中,对 LTO (li
) 卷 VOL234
分区并将其格式化为 LTFS 卷:
user@solaris:~# samltfs mkltfs li.VOL234
在此处停止。
登录到文件系统主机。
user@solaris:~#
清除 LTFS 卷并将其恢复为一般用途。使用命令 samltfs
unltfs
media-type
.
volume-serial-number
,其中:
media-type
是 LTFS 兼容介质类型的两字符介质类型代码(请参见附录 A)。
volume-serial-number
是使用字母数字的六字符卷序列号。
在该示例中,清除 LTFS 文件系统数据和元数据,并删除 LTO (li
) 卷 VOL234
上的分区:
user@solaris:~# samltfs unltfs li.VOL234
在此处停止。
登录到文件系统主机。
user@solaris:~#
检查 LTFS 文件系统的完整性。使用命令 samltfs
ltfsck
LTFS-media-type
.
LTFS-volume-serial-number
,其中:
LTFS-media-type
是存放 LTFS 数据的介质类型的两字符介质类型代码(请参见附录 A)。
LTFS-volume-serial-number
是 LTFS 卷的六字符卷序列号(使用字母数字)。
指定的介质类型和卷序列号用于标识目录列为 LTFS 卷的 LTFS 卷。
在 Oracle HSM 目录中,LTFS 介质是无标签的并标记为 non-SAM
和 tfs
。
在该示例中,检查 LTO (li
) 卷 VOL234
上的 LTFS 文件系统:
user@solaris:~# samltfs ltfsck li.VOL234
在此处停止。
要显示 LTFS 的配置和状态,请使用命令 samltfs
status
。
user@solaris:~# samltfs status
本节介绍以下主题:
系统属性通过将 Oracle HSM 文件与可使用 Microsoft Windows 文件系统解释的非 UNIX 元数据关联来支持 SMB/CIFS 文件共享。本节首先简要介绍 Oracle HSM 支持的系统属性。然后,提供以下任务的基本说明:
系统属性是布尔(true 或 false)值,它由值为 true
的属性 name
或者值为 false
的名称求反 no
name
表示。Oracle HSM 为了支持 SMB/CIFS 文件共享提供了以下系统属性:
appendonly
表示用户只能将数据附加到文件。noappendonly
表示此限制无效。
archive
表示文件自上次复制或备份以来已发生更改。noarchive
表示文件自上次复制或备份以来未发生更改。Oracle HSM 当前不使用此属性。
hidden
表示默认情况下文件不在文件列表中显示。nohidden
表示默认情况下显示文件。
immutable
表示不能更改或删除目录或文件及其内容。noimmutable
表示可以更改或删除目录或文件。
nodump
表示不能备份文件。nonodump
表示可以备份文件。Oracle Solaris 不使用此属性。
nounlink
表示不能删除或重命名文件或目录及其内容。nonounlink
表示可以删除或重命名文件或目录及其内容。
offline
表示已从 Oracle HSM 文件系统释放文件。Microsoft Windows 系统不预览文件。nooffline
表示文件处于联机状态,并且尚未从 Oracle HSM 文件系统释放。
readonly
表示不能删除或修改文件。noreadonly
表示可以删除或修改文件。在应用于目录时,将忽略该属性。
sparse
表示存储的文件仅包含非零数据,并且零已缩减到在不支持稀疏文件的文件系统中访问此文件或者将此文件复制到此类系统时,文件系统可以恢复零的范围中。nosparse
表示文件不是稀疏文件。
system
表示文件对 Microsoft Windows 操作系统很重要,不得更改或删除,并且默认情况下不应在列表中显示。nosystem
表示文件不是系统文件。
要查看 Oracle HSM 文件的系统属性,请使用 Solaris 命令 ls
-/v
file
,其中 file
是文件的路径和名称。
在示例中,列出了文件 /hsm/hsmfs1/documents/master-plan.odt
的系统属性:
user@solaris:~# ls -/v /hsm/hsmfs1/documents/master-plan.odt -rw-r--r-- 1 root root 40560 Mar 4 15:52 /hsm/hsmfs1/documents/master-plan.odt {archive,nohidden,noreadonly,nosystem,noappendonly,nonodump,noimmutable,nonounlink, nooffline,nosparse} user@solaris:~#
要将文件的系统属性值更改为指定的值,请使用 Solaris 命令 chmod
S+v{
attributes
)
,其中 attributes
是 Oracle HSM 支持的系统属性的逗号分隔列表。
有关语法和可用选项的全面说明,请参见 chmod
手册页。在该示例中,将归档属性从 noarchive
(false) 更改为 archive
(true):
root@solaris:~# ls -/v /hsm/hsmfs1/documents/master-plan.odt -r-xr-xr-x 1 root root 40561 Mar 4 15:52 /hsm/hsmfs1/documents/master-plan.odt {noarchive,nohidden,readonly,nosystem,noappendonly,nonodump,noimmutable, nonounlink,offline,nosparse} root@solaris:~# chmod S+v{archive} /hsm/hsmfs1/documents/master-plan.odt root@solaris:~# ls -/v /hsm/hsmfs1/documents/master-plan.odt -r-xr-xr-x 1 root root 40561 Mar 4 15:52 /hsm/hsmfs1/documents/master-plan.odt {archive,nohidden,readonly,nosystem,noappendonly,nonodump,noimmutable, nonounlink,offline,nosparse}
访问控制列表 (Access Control List, ACL) 是定义文件或目录访问权限的表。该表中的每个记录或访问控制条目 (Access Control Entry, ACE) 定义特定用户、组或者一类用户或组的访问权限。默认情况下,使用 Oracle HSM 发行版 6.1 创建的新文件系统使用在网络文件系统 (Network File System, NFS) 版本 4 和 Solaris 11 中引入的访问控制列表 (Access Control List, ACL) 实施。
Solaris ACL 管理、语法和用法的全面介绍不在本文档的范围内。有关完整信息,请参见 Oracle Solaris 11.1 信息库(位于 docs.oracle.com
中)中提供的《Oracle Solaris 11.1 管理:ZFS 文件系统》一书中的“使用 ACL 和属性保护 Oracle Solaris ZFS 文件”一章。另请参见 Solaris ls
和 chmod
手册页。