IBMSpectrum?Scale是可伸缩的并行文件系统,可以用于许多目的。IBM Spectrum Scale允许在文件系统中配置称为不可变文件集的不可变分区。 根据美国法规(SEC17a-4f)和德国和瑞士的税收法律法规对IBM Spectrum Scale不变文件集进行了合规性评估。
从用户的角度来看,文件集是IBM Spectrum Scale文件系统中的一个目录。不可变的文件集允许管理不可变的和仅附加的文件,类似于NetApp,Inc.发明的SnapLock方法。
不可变文件集也可以通过网络文件系统(NFS)和服务器消息块(SMB)导出。 此功能使支持SnapLock语义的应用程序可以轻松地将IBM Spectrum Scale用作不可变文件存储。
通过使用SnapLock方法,可以使用标准文件系统命令在特定的保留时间内将文件设置为不可变或仅追加。 在保留时间内,不能删除或修改不可变的文件。 保留时间到期后,可以删除不可变文件,但仍不能修改。 使用IBM Spectrum Scale提供的无限期保留,即使保留时间到期,也可以防止删除和修改文件。
借助此不变性功能,IBM Spectrum Scale可用于归档,以满足法规要求,以防止在生命周期内更改和删除文件。 相同的IBM Spectrum Scale集群也可以用于其他目的。 实际上,IBM Spectrum Scale 5.0版引入的文件审计日志记录功能使用不可变文件集来存储文件审计日志。
不支持类似SnapLock不变性功能的应用程序仍然可以从IBM Spectrum Scale不变性中受益,因为它允许将文件自动设置为不变性。 这样的应用程序可以通过NFS,SMB或集群成员将IBM Spectrum Scale用作文件存储。 IBM Spectrum Scale使文件在存储后的几分钟内变得不可变。
IBM Spectrum Scale不变性通过添加有益于归档解决方案的功能来提供更多价值。 存储分层是一项关键功能,它可以透明地将文件迁移到磁带,并节省时间成本。
IBM Spectrum Scale加密,压缩和文件审计日志记录也支持不变性功能。 此外,IBM Spectrum Scale提供了一套全面的技术来确保高可用性,数据和灾难保护。
IBM Spectrum Scale不变性简介
该IBM Red Paper出版物介绍了IBM Spectrum Scale不变性功能。 它显示了如何设置它,并介绍了管理不可变文件和仅追加文件的不同方法。
该出版物还通过解决法规要求提供了在IBM Spectrum Scale集群中实现IT安全方面的指南。 它还描述了两个用于管理不可变文件的典型用例。 一种用例涉及管理文件不变性的应用程序。 另一个用例提出了一种在IBM Spectrum Scale不可变文件集中自动将文件设置为不可变的解决方案。
不变性是指将文件与保留时间相关联,并防止在保留时间内更改或删除文件数据。 不可变文件在特定期间受一次写入多次读取保护(WORM),这也可以是不受限制的。 保留时间到期后,可以删除文件,但不能更改。
在IBM General Parallel File System 3.4版(IBM GPFS现在更名为IBM Spectrum Scale)中,为IBM Spectrum Scale文件系统中的文件和目录引入了扩展属性“不可变”和“仅追加”。 有权使用mmchattr命令设置GPFS属性的用户可以设置这些属性。
属性“ immutable”设置为“ yes”的文件无法更改,重命名或删除。 属性“append-only”设置为“ yes”的文件允许追加操作,但没有其他覆盖,重命名或删除操作。
IBM Spectrum Scale允许在任何文件或目录上设置这些属性,而不管它是否在文件集中。 此旧版功能的缺点是,有权设置属性的用户可以重置这些属性。 另外,保留时间不是使用的概念。
IBM Spectrum Scale版本4.1.1将不变性功能增强到IBM Spectrum Scale文件集。 可以使用mmchfileset命令以集成归档管理器(IAM)模式配置IBM Spectrum Scale文件集。 通过使用标准POSIX或IBM Spectrum Scale命令,可以在保留时间内将存储在这种不可变文件集中的文件设置为不可变或仅追加。
将文件设置为不可变的过程类似于SnapLock方法1,在该方法中,可以通过文件属性“最后访问日期”设置保留时间并通过移除写权限来将文件设置为不可变。
这些命令会导致为IBM Spectrum Scale文件系统中的文件隐式设置扩展的IBM Spectrum Scale属性“immutable”和“append-only”。
根据文件集的IAM模式,无法重置这些属性。 此外,保留时间的概念不允许在定义的时间段(保留或到期时间)内修改和删除文件。 保留时间到期后,可以删除文件,但不能修改文件。
根据美国法规SEC17a-4f,欧盟GDPR第21条第1节,德国和瑞士贸易法律法规,全球认可的审核员对5.0版中的IBM Spectrum Scale不变性功能进行了合规性评估。
SnapLock方法是NetApp,Inc.发明的,它是使文件在网络连接的存储系统(NAS)中不可变的最新技术。 NetApp,Inc.和其他存储供应商在其不可变的NAS系统中实现了此方法。 本出版物中引用的SnapLock方法确认它是NetApp,Inc.的商标。
IBM Spectrum Scale IAM模式
可以在IBM Spectrum Scale文件集上配置Integrated Archive Manager(IAM),以防止修改和删除文件。 它实质上限制了某些文件操作(例如更新,追加,覆盖,重命名和删除),这些操作对于存储在常规(常规)IBM Spectrum Scale文件集中的文件而言是可能的。
文件集可以视为文件系统内的逻辑分区,它允许某些独立于文件系统其余部分的操作。 从用户的角度来看,文件集是文件系统中的目录。
文件集上可用的功能包括设置配额,拍摄快照,AFM缓存和IAM模式。
尽管从属文件集没有自己的inode空间,但它们确实允许配额和IAM模式。 独立文件集在IBM Spectrum Scale文件系统中具有自己的索引节点空间,并允许快照和AFM缓存。
IAM模式定义了应用于IBM Spectrum Scale文件集中的文件的保护级别。 设置了“none”以外的IAM模式的文件集也称为不可变文件集。 否则,该文件集称为常规文件集。
设置IAM模式会使文件集不可变。 可以使用带有参数-iam-mode的mmchfileset命令来设置IAM模式。 可以将文件集设置为以下IAM模式之一:
- None: 未设置不可变性模式(默认);文件集是常规文件集。
- Advisory (ad): 允许设置保留时间和不变性,但是可以使用适当的文件权限删除文件。
- Noncompliant (nc):如果保留时间未到期,则Advisory 模式+无法删除文件。 但是,可以重置保留时间,可以删除但不能更改文件。
- Compliant (co): nc模式+保留时间无法重置。 保留时间到期后,可以删除文件,但不能更改。
- Compliant-plus (cp):包括对Compliant模式的增强。 目录不能重命名。 与SMB上的NetApp SnapLock提供更好的兼容性。 在IBM Spectrum Scale版本5.0.2及更高版本中可用。
IAM模式可以从“Advisory ”升级到“Noncompliant ”再到“Compliant ”,但不能降级。 升级IAM模式时,也可以跳过中间级别。 例如,可以一步将IAM模式从“None”升级为“Compliant”。
仅评估“Compliant” IAM模式的符合性。
可以创建一个嵌套文件集,其中一个文件集位于另一文件集内。 IAM模式不会继承。 因此,如果将文件集1配置为Compliant 模式,并且文件集1中的文件集2是常规文件集,则无法以Compliant 方式管理存储在文件集2中的文件。
不可变的文件操作
在常规文件集,常规文件系统或不可变文件集中,可以将文件设置为“immutable”或“append-only”。 常规文件集和文件系统没有设置IAM模式(IAM模式设置为none)。 不可变文件集包含IAM模式集,而不是“none”。 常规文件集和不可变文件集(假设不可变文件集以Compliant IAM模式配置)之间的主要区别在表1中列出。
常规文件集和不可变文件集之间的主要区别
文件或目录操作 | 常规文件集a | 不可变文件集b |
---|---|---|
重置immutability属性 | 允许 | 不允许 |
重置append-only属性 | 允许 | 不允许 |
使用mmchattr -i设置immutability | 允许 | 允许 |
使用mmchattr -a设置append-only | 不允许 | 允许 |
使用mmchattr -E设置保留时间不允许 | 不允许 | 允许 |
使用chmod -w设置immutability | 不允许 | 允许 |
使用chmod-|+ w设置append-only | 不允许 | 允许 |
a.常规文件集也可以是文件系统的根文件集。
b.假设文件集以Compliant IAM模式配置。
常规文件集和不可变文件集之间的根本区别在于,可以使用标准POSIX命令使不可变文件集中的文件设置immutability或append-only。 另外,可以为不可变文件集中的文件设置保留时间。
处理不可变文件集中的文件
本节介绍了创建不可变文件集以及在不可变文件集中将文件设置为immutability或append-only的步骤。 可以使用UNIX系统中可用的标准POSIX命令,使用特定的IBM Spectrum Scale命令或使用Microsoft Windows PowerShell通过SMB来管理文件immutability。
注意:当文件存储在不可变文件集中时,它们不会自动变为immutable。 相反,必须使用命令将文件设置为immutability(或append-only)并应用保留时间。
使用POSIX命令将文件设置为immutability或append-only适用于不直接与IBM Spectrum Scale命令交互的应用程序或用户。应用程序和用户可以从具有IBM Spectrum Scale文件系统访问权限的集群节点使用POSIX命令或通过NFS导出的方式来管理不可变文件。从NFS导出使用POSIX命令时,不能将文件设置为append-only。
通过使用IBM Spectrum Scale命令将文件设置为为immutability或append-only,适用于直接通过IBM Spectrum Scale提供的文件系统访问不可变文件集的应用程序和用户。 只有具有足够许可权(或特权)的用户才可以从IBM Spectrum Scale集群节点运行IBM Spectrum Scale命令。
注意:mmchattr命令可以由文件所有者用户运行(不必是管理员)。 创建和更改文件集mmcrfileset和mmchfileset需要管理特权。
使用PowerShell命令将文件设置为immutability的方法适用于通过SMB共享访问不可变文件集的应用程序或用户。 可以通过SMB将文件设置为immutability,但不能设置为append-only。 同样,在将文件设置为只读后,无法更改保留时间。
创建不可变文件集
处理不可变文件的第一步是创建不可变文件集。 此过程需要IBM Spectrum Scale集群中的管理特权。 完成以下步骤:
-
创建文件集(在本例中为独立文件集),如下例所示:
# mmcrfileset <filesystem-name> <fileset-name> --inode-space new
-
将文件集链接到现在必须不存在的IBM Spectrum Scale文件系统中的目录。 该目录是不可变的文件集路径,如以下示例所示:
# mmlinkfileset <filesystem-name> <fileset-name> -J <directory>
-
为文件设置IAM模式。 在此示例中,我们将IAM模式设置为“ compliance”:
# mmchfileset <filesystem> <fileset> --iam-mode compliant
-
使用以下命令列出文件集的IAM模式:
# mmlsfileset <filesystem> <fileset> --iam-mode
注意:从合规性角度来看,建议将集群范围的参数indefiniteRetentionProtection设置为yes。 可以使用以下命令来设置此参数(它要求集群处于脱机状态):
# mmchconfig indefiniteRetentionProtection=yes
管理不可变文件
在不可变文件集中将文件设置为immutable的过程包括以下步骤。 此过程需要对文件的适当访问权限。 也就是说,完成这些步骤的用户必须是文件所有者:
- 设置保留时间。
- 将文件设置为immutable或只读。
此过程对应于SnapLock方法。 可以使用以下方法之一将文件设置为immutable:
- 使用标准POSIX命令
- 使用IBM Spectrum Scale命令
对于在“Compliant” IAM模式下配置的不可变文件集中的不可变文件,可以延长保留时间,但不能减少保留时间。 同样,不可变文件集中的不可变文件不能重命名,覆盖,附加或删除。 如果保留时间(相对于系统日期和时间)到期,则可以删除不可变文件。
POSIX命令
从集群节点或通过NFS导出访问IBM Spectrum Scale集群内的不可变文件集时,可以使用POSIX命令。 可以使用两个POSIX命令将文件设置为不可变并分配保留时间。
保留时间编码在文件的最后访问日期中,可以使用以下POSIX命令设置或延长:
# touch -at 20300701000000 filename
对保留时间进行编码的时间戳采用以下格式:
[[CC]YY]MMDDhhmm[.ss]
在上一个示例中使用touch命令指定的时间戳记指定了以下日期和时间:01.07.2030 00:00:00。
通过使用以下POSIX命令删除写权限,可以将该文件设置为不可变的:
# chmod a-w filename
运行touch和chmod命令后,不可变文件集中的文件会隐式设置为不可变。 因此,相应地设置了IBM Spectrum Scale文件属性“immutable”和“expiration time”。 要显示文件的保留设置,可以使用以下POSIX命令:
# stat filename
File: 'filename'
Size: 1 Blocks: 0 IO Block: 1048576
Device: 23h/35d Inode: 353793 Links: 1
Access: (0444/-r--r--r--)
Access: 2030-07-01 00:00:00.000000000 +0200
Modify: 2016-05-03 14:31:59.462278718 +0200
Change: 2016-05-03 14:32:16.915516097 +0200
访问模式显示指示为只读的文件的权限。访问时间戳指示过期时间。使用相同的“touch”命令(注:需要IBM Spectrum Scale版本4.2.0.2或更高版本)可以延长保留时间。
IBM Spectrum Scale命令
IBM Spectrum Scale允许应用程序和用户使用IBM Spectrum Scale命令直接设置保留时间和immutability属性。 IBM Spectrum Scale命令可与用于此目的的不同参数一起使用。
可以使用以下IBM Spectrum Scale命令设置保留时间:
# mmchattr -E 2030-07-01@00:00:00 filename
对保留时间进行编码的时间戳具有以下格式:
YYYY-MM-DD@hh:mm:ss.
可以使用以下IBM Spectrum Scale命令设置immutable属性:
# mmchattr -i filename
运行mmchattr -E和mmchattr -i命令后,不可变文件集中的文件会隐式设置为不可变。 以下IBM Spectrum Scale命令可用于显示文件属性,将属性immutable设置为yes,并将到期时间设置为使用mmchattr -E命令指定的时间。:
# mmlsattr -L filename
file name: filename
metadata replication: 1 max 2
data replication: 1 max 2
immutable: yes
appendOnly: no
indefiniteRetention: no
expiration Time: Tue Jul 1 00:00:00 2030
flags:
storage pool name: system
fileset name: WORM
snapshot name:
creation time: Tue Dec 21 21:18:58 2015
Windows attributes: ARCHIVE
可以通过使用相同的mmchattr -E命令来延长保留时间。
PowerShell
可以使用PowerShell管理有关保留时间和只读设置的文件不变性。 使用PowerShell将文件设置为通过SMB共享不可变,要求不可变文件集或其中的一部分通过SMB导出。
可以使用以下PowerShell命令设置保留时间:
# (dir filename).LastAccessTime = "2030-07-01 00:00:00"
对保留时间进行编码的时间戳具有以下格式:YYYY-MM-DD hh:mm:ss.
要将文件设置为只读,请使用以下PowerShell命令:
# (dir filename).Attributes = "ReadOnly"
运行这些命令后,不可变文件集中的文件将隐式设置为不可变。以下PowerShell命令可用于显示文件属性:
# (dir filename | select Name,LastAccessTime,Attributes
输出显示在以下示例中。 设置属性ReadOnly并将保留时间编码为最后访问日期:
# dir filename | select Name,LastAccessTime,Attributes
Name LastAccessTime Attributes
---- -------------- ----------
filename 01.07.2030 00:00:00 ReadOnly
无限期保留
不可变文件还可以配置为不确定的保留时间。 无限期保留本质上为不可变文件定义了无限期保留。 有权使用IBM Spectrum Scale命令更改文件属性的用户可以设置和重置它。 不能使用POSIX命令设置它。
无限期保留的一种用例是删除保留功能的实现。 即使保留时间到期,删除保留也不允许删除或到期文件。 它提供了超过保留时间的另一级保护。 例如,如果应用程序或用户希望防止文件过期,则可以设置无限期的保留属性。
要释放删除保留,可以重置无限期的保留属性。 如果重置无限期的保留时间(设置为“ no”),则文件的实际保留时间优先。 如果此保留时间到期,则可以删除该文件; 如果未过期,则无法删除该文件。
以下IBM Spectrum Scale命令可用于为不可变文件设置无限期保留:
# mmchattr --indefinite-retention yes filename
要重置无限期的保留,请运行以下命令:
# mmchattr --indefinite-retention no filename
仅当文件设置为immutable或append-only时,无限期保留才有用。 否则,它将无效。
管理目录
不可变文件集中的目录不能显式设置为immutable或append-only。只要文件存储在此目录中,不可变文件集中的目录就会自动变为不可变。 表2列出了根据IAM模式在不可变文件集中的目录上的操作。
根据IAM模式在不可变文件集中的目录操作
目录操作 | Advisory, Non-Compliant, Compliant modes | Compliant-plus mode |
---|---|---|
重命名空目录 | 允许 | 不允许 |
重命名非空目录 | 不允许 | 不允许 |
删除空目录 | 允许 | 允许 |
删除非空目录 | 不允许 | 不允许 |
在目录上设置保留时间 | 不允许 | 不允许 |
设置目录为immutable | 当文件存储在目录中时,目录变得不可变。 目录与存储在目录中的不可变文件一起保持不变 | 当文件存储在目录中时,目录变得不可变。 目录与存储在目录中的不可变文件一起保持不变 |
Compliant-plus模式和其他模式之间的主要区别在于,即使文件中未存储任何文件,也无法重命名不可变文件集中的目录。
目录没有不可变属性的事实与SnapLock模式不同,在SnapLock模式中,即使是空目录也可以设置为不可变。
限制
在本节中,将说明IBM Spectrum Scale不可变文件集的一些限制,这些限制也会影响与SnapLock的兼容性。
目录
不可变文件集中的大多数POSIX文件系统命令具有与标准SnapLock方法相同的效果。 与标准SnapLock方法的主要区别之一是不可变目录的概念。
使用标准的SnapLock方法,可以将目录专门设置为不可变,这将限制应用于此目录中的文件操作。 在IBM Spectrum Scale不可变文件集中,当文件存储在目录中时,目录将隐式变为不可变。 不可变的目录不能在Compliant-plus模式下重命名。 仅当删除该目录中的所有文件时,才可以删除此类目录。
NFS导出和SMB共享
不可变的文件集也可以通过NFS或SMB导出。 此过程包括以下限制:
- 不能以append-only模式设置和管理文件。
- 使用IBM Spectrum Scale版本5.0.3.2及更高版本,可以延长保留期,并可以通过SMB导出删除过期文件。此过程需要承载NFS导出或SMB共享的文件集的IAM模式为Compliant-plus。
- 扩展属性(POSIX)不能通过NFS设置。
默认保留时间
不可变文件集不支持最小保留时间,默认保留时间和最大保留时间。 此功能是NetApps,Inc.的SnapLock功能的另一个区别,在该功能中,不可变文件系统具有最短,默认和最大保留时间。 但是,可以使用IBM Spectrum Scale策略来实现它。 有关更多信息,请参阅“将文件自动设置为不可变”。
IBM Spectrum Scale限制
在IBM Spectrum Scale集群中管理不可变文件集时,存在以下限制:
- AFM缓存、主文件集或辅助文件集不支持不可变文件集。
- 使用mmdelfileset命令无法删除以IAM模式“Compliant”配置的非空不可变文件集。
- 如果设置了集群范围的参数indefiniteRetentionProtection = yes,则无论文件系统是否包含不可变的文件集均无法删除文件系统。
注意:在不可变文件集中复制不可变文件时,即使设置了不可变性标志,目标文件也不是不可变的。 为了使文件不可变,请将文件设置为读写(chmod + w)和只读(chmod -w),并指定保留期限。
系统配置指南
本节提供解决IT安全方面的指南。 整个解决方案必须考虑IT安全性,包括创建和管理不可变文件的应用程序和用户,IBM Spectrum Scale集群,存储不可变文件的文件系统,在集群节点上运行的操作系统, 存储数据的存储系统以及基础架构环境。 从IT安全角度考虑的关键组件的概述如图1所示。
IBM Spectrum Scale集群配置了文件系统和不可变文件集。 应用程序和用户通过NFS导出或SMB共享(NFS或SMB)通过IBM Spectrum Scale文件系统客户端直接从集群节点访问不可变文件集,以存储和检索文件并管理其不可变性。
这些文件最初存储在IBM Spectrum Scale磁盘存储中。 (可选)可以使用Spectrum Archive Enterprise Edition软件将存储在磁盘上的文件迁移到以线性磁带文件系统格式(LTFS)格式化的磁带。
本节提供的配置指南适用于应用程序和用户、IBM Spectrum Scale集群节点配置和管理、IBM Spectrum Scale存储、Spectrum Archive Enterprise Edition软件和WORM磁带,以及用于IBM Spectrum Scale、Spectrum Archive以及用户和应用程序(在本出版物中随后称为应用程序)的服务器操作系统。
该指南本质上是抽象的,并为IBM Spectrum Scale和Spectrum Archive提供了适当的安全性配置和设置。 客户组织应使用安全架构师来了解其安全策略更改的含义,并从端到端查看其安全体系结构。 本出版物不保证使用漏洞不会损害系统,也不旨在暗示任何特定的审核保证(有关更多信息,请参阅“免责声明”)。
有关更多信息,请参阅IBM Spectrum Scale Security,REDP-5426。
此外,还考虑了外部审计师提供的一般建议。
用户和应用
应用程序使用不可变的文件集来读写文件,并在适当的保留时间内使文件不可变。应用程序可以通过IBM Spectrum Scale文件系统客户端、NFS或SMB访问不可变的文件集。从应用程序的角度来看,应考虑以下指导:
- 应用程序服务器使用与托管不可变文件集的IBM Spectrum Scale集群相同的时间源进行自动时间同步。
- 应用程序服务器经过强化,不允许篡改数据和元数据。请同时考虑为IBM Spectrum Scale管理和应用程序的操作系统配置提供的指导。
- 应用程序及时(在存储文件后立即)设置文件保留时间和不可变性。
- 应用程序跟踪未设置保留的文件(例如,由于故障),并在以后设置它。
- 应用程序管理文件的不变性和保留时间。建议使用GPFS命令mmchattr-i|-E|-a。通过NFS或SMB管理保留存在一些限制。
- IBM ElasticStorage?Server为存储在不可变文件集中的数据提供内部校验和。 如果不将IBM Elastic Storage Server用作不可变文件的存储,请在创建文件时考虑使用不可变文件来计算和存储校验和。使用命令mmchattr --set-attr user.chksum = checksum:value文件名,可以将校验和存储在IBM Spectrum Scale扩展属性中(例如user.cksum = checksum:value)。 定期验证存储在扩展属性中的校验和,并为此验证过程创建并保留审核协议。 对于不可变文件的保留时间,审计跟踪以不可变的方式存储。
- 根据组织标准和IBM Spectrum Scale支持的方法来实施认证和授权。
IBM Spectrum Scale
IBM Spectrum Scale文件系统提供了不可变的文件集,使用该文件集可以以不可变的方式保留文件。 独立审核员对该功能进行了合规性评估。 不变性由应用程序管理,IBM Spectrum Scale实施它。 请考虑下面针对IBM Spectrum Scale配置和管理描述的准则。
配置
- 在compatible模式下配置不可变文件集(iam -mode = compatible)。 不能将以compatible模式配置的文件集设置为non-compliant或advisory模式。
- 通过使用mmchconfig indefiniteRetentionProtection = yes命令设置集群范围的参数,禁止删除文件系统。 设置此参数后,将无法删除集群中的文件系统。 此参数也无法重置。
- 通过使用mmchconfig commandAudit = yes | syslogOnly命令为管理IBM Spectrum Scale命令实现审计日志记录。 可以在IBM Spectrum Scale日志文件或syslog文件中记录IBM Spectrum Scale管理命令。 在存储在不可变文件集中的文件的保留时间内,审计日志文件必须以不可变的方式保存。
- 通过使用IBM Spectrum Scale 5.0版或更高版本提供的审计日志记录功能来实现文件审计日志记录。 使用文件审计日志记录,所有主要文件操作(例如打开,关闭,重命名,ACL以及属性更改和删除)均记录到审计日志中。 创建的审计日志以不可变文件的形式存储在IBM Spectrum Scale文件系统的不可变文件集中。 可以配置审计日志文件的保留时间。
- 对于以前的IBM Spectrum Scale版本,请使用Varonis提供的NFS和SMB审计日志功能。
- 将文件迁移到外部池时,请确保将这些文件存储在WORM介质(例如WORM磁带)上。
- 实现基于SLA的业务连续性(使用仲裁,复制,备份和群集)。
- 根据安全策略的要求,实施IBM Spectrum Scale文件加密。