使用 IBM SONAS 对 AIX 数据进行信息生命周期管理

使用 IBM SONAS 减轻对 UNIX 环境下运行的业务数据进行信息生命周期管理的负担。

利用 IBM® Scaled Out Network Attached Storage(IBM SONAS) 的信息管理功能来管理 AIX 数据。IBM SONAS 提供了数据放置、迁移和删除策略来减轻对 AIX® 数据进行信息生命周期管理的负担,并且能帮助确保符合监管法规。本文详尽演示了 IBM SONAS 如何有效地履行 AIX 数据管理的责任。

Bhushan Pradip Jain, 软件工程师, IBM  

/developerworks/i/p-bpjain.jpgBhushan Pradip Jain 是在 IBM India Software Labs 工作的助理软件工程师。他在 alphaWorks 上发布了一种名为 “Policy-Driven File Encryption Explorer Based on OpenPGP” 的技术,当前从事 IBM Unified Scalable Storage。他还参与过开发 Intrusion Detection System 和实现多天线望远镜操作系统的一部分。Bhushan 在 Pune 的 College of Engineering (COEP) 获得了计算机工程学士学位。



Ujwala P Tulshigiri, 软件开发人员, IBM

http://www.ibm.com/developerworks/i/p-utulshigiri.jpgUjwala P Tulshigiri 是 IBM India Software Labs 的一名软件开发人员。她目前从事 SONAS 的 CIM 组件(Scaled Out Network Attach Storage)项目。她还参与了 Extreme Blue 实习生项目 Enabling ODF for Social Collaboration with Composite Application and Mashups 的一部分。Bhushan 在 Pune 的 College of Engineering (COEP) 获得了计算机科学学士学位。



2011 年 9 月 19 日

简介

Information Lifecycle Management (ILM) 是管理信息的各种实践和过程的总称,涵盖了从起源到消亡的所有阶段。ILM 的目标之一就是根据信息的业务价值使用经济合理的 IT 基础架构。通常的经验表明,组织会从自身决策角度出发,或者是根据数据的业务价值来保留旧的数据。但是,根据各种合规性法规(如美国的 Sarbanes-Oxley、HIPAA、FFIEC 和欧盟的 European Data Privacy Directive),组织必须保留并控制数据很长一段时间。因此,他们必须改变管理数据的方式。他们现在必须在特定时间内保存一些特定的数据。因此,为了能以最小的代价满足保存数据的规定要求,这些组织都试着以最低的成本保留最多的数据。通常,组织会将最近的和最重要的数据保存在高性能、高价格的存储设备中,而将存档数据存放在价格低廉的存储设备中。因此,组织需要知道数据如何产生,判断数据如何增长,观察数据随着时间的使用模式,并决定数据应该存放并且符合相关规则和法规的时间有多长。另外,与普通数据不同的是,还要在安全的存储设备上保存机密数据。ILM 能够解决这些问题,它使用了一种技术,能自动对生命周期各个阶段的数据进行存储。

在本文中,我们将讨论当 IBM SONAS 作为后端来存储 AIX 系统时如何将 ILM 责任转交给它。这样就能帮助各行业的各类 AIX 用户对数据分级,从而高效利用基础架构,获得最大产出。


IBM SONAS 用作后端来存储 AIX 系统数据

IBM SONAS 是具有高度伸缩性的存储系统,它通过利用卓越的存储子系统和 IBM General Parallel File System (GPFS) 来提供高性能。它通过利用其高级的扩展潜力以及自动数据放置和统一管理功能,能够让用户以最小的代价迅速扩展存储基础架构。了解更多关于 IBM SONAS 的信息,请参阅 参考资料

图 1. IBM SONAS 作为后端来存储 AIX 系统数据
IBM SONAS 作为后端来存储 AIX 系统数据

IBM SONAS 能够让多个客户端连接和访问 SONAS 系统上的数据。图 1 演示了一个设置示例,其中 SONAS 系统作为 AIX 主机的后端 NAS 过滤器。IBM SONAS 系统(Version 1.1.1.0-19)充当一个文件服务器,使用 NFS 协议导出路径。该 IBM SONAS 系统拥有 almari.in.ibm.com 域名,可解析成 3 个 IP 地址(9.122.122.151 至 9.122.122.153)。在本文中,我们将会使用一个 AIX 系统(playstation.in.ibm.com),该系统配置为 IBM SONAS 系统中的 NFS 客户端。关于将 SONAS 系统配置成 AIX 后端的基础知识,在 developerWorks 文章 “用于 AIX 和 Linux 环境的 IBM SONAS 存储” 中有所探讨(请参阅 参考资料)。最终用户可从该主机中访问文件,而这些文件实际存储在 IBM SONAS 中。我们将会看到 AIX 中创建的文件在 IBM SONAS 系统中如何根据已定义的策略自动放置、迁移和删除。

我们首先使用 cliuser 通过 ssh 进入 SONAS 集群 almari.in.ibm.com 的管理节点,再执行 SONAS CLI 命令。然后使用 mkexport 命令在 IBM SONAS 系统 almari.in.ibm.com 上创建 NFS 输出,并在 AIX 主机上加载 NFS 输出。

cliuser 是一个特殊用户,只能执行 SONAS CLI 命令,并且只能在 chroot 范围内使用。

代码 1:在 IBM SONAS 上创建输出并在 AIX 客户端上加载
-bash-3.2# hostname
playstation.in.ibm.com

-bash-3.2# ssh cliuser@almaric1.in.ibm.com
cliuser@almaric1.in.ibm.com's password:

[almari.in.ibm.com]$ lscluster
ClusterId            	      Name              PrimaryServer SecondaryServer
12402779238933128657 almari.in.ibm.com strg001st001  strg002st001

[almari.in.ibm.com]$ mkexport Sonas_Test /ibm/gpfs0/Sonas_Test 
--nfs "*(rw,no_root_squash)"
EFSSG0019I The export Sonas_Test has been successfully created.

[almari.in.ibm.com]$ lsexport -v
Name       	Path                  Protocol  Active Timestamp       
Options
Sonas_Test /ibm/gpfs0/Sonas_Test      NFS       true   9/6/10 7:00 PM 
*(rw,no_root_squash,fsid=2135594380)

[almari.in.ibm.com]$ logout
Connection to almaric1.in.ibm.com closed.

-bash-3.2# mkdir /mnt/Sonas

-bash-3.2# mount 9.122.122.151:/ibm/gpfs0/Sonas_Test /mnt/Sonas 

-bash-3.2# mount
node mounted mounted over vfs date options
-------- --------------- --------------- ------ ------------ ---------------
/dev/hd4 / jfs2 Jul 26 19:22 rw,log=/dev/hd8
.....9.122.122.151 /ibm/gpfs0/Sonas_Test /mnt/Sonas nfs3 Sep 06 19:24 
.....

IBM SONAS 的信息生命周期管理

IBM SONAS 能让我们创建三种类型的策略:放置策略、迁移策略和删除策略。我们可以将这三种策略应用到在 IBM SONAS 主机的共享目录下创建的文件上并使用各种 SONAS CLI 策略命令来设置不同种类的策略。

  • 放置策略:

    该策略定义了用于确定池的规则,可根据文件名、路径、所有者等文件属性将用户新建的文件放置于相应池中。例如,如果有一些被频繁访问的文件属于某个特定的目录,我们会将其存储到执行较快的池中。不常访问或不太重要的文件会放到执行慢的池中。

  • 迁移策略:

    该策略定义了文件在池间迁移的规则,可根据访问时间、修改时间、文件名、路径、所有者等文件属性将文件从某个池迁移另一个池。例如,如果有一些文件在过去的一个月中都没被访问,那说明对这些文件的需求不积极,那么我们可以将其移到成本较低的池中,尽管使用该策略会降低一些性能。

  • 删除策略:

    该策略定义了从系统中删除文件的规则,可根据访问时间、修改时间、文件名、路径、所有者等文件属性对系统中的文件进行删除。例如,如果有一些文件属于离职的用户,而且其他人也不用,那么我们可以通过此策略删除这些文件。

使用以下命令进行 SONAS 策略创建和管理。

  • mkpolicy

    通过使用 mkpolicy 命令可以创建一条策略并设置其规则。

  • chkpolicy

    chkpolicy 验证某个策略设置的规则。它会验证策略规则的语法并检查这些规则中涉及的池或信息是否确实存在。

  • setpolicy

    使用 setpolicy 命令可以为文件系统设置放置策略。

  • runpolicy

    使用 runpolicy 可以为文件系统中已有的文件应用迁移或删除策略。

  • lspolicy

    lspolicy 命令会列举出 SONAS 主机上创建的所有策略,并检查哪些策略应用到文件系统中。

在以下章节中,我们将讨论如何对 ILM 使用这些命令。

下一步,我们将讨论如何创建和使用这些策略,它们可以帮助您利用数据分级,但对于创建显性分级的讨论已超出本文所涉及的范围。


信息生命周期管理:数据放置

在本节中,我们将讨论如何使用 IBM SONAS 放置策略来确保特定类型的文件存放在特定的池中。使用 secret 和 system 这两种不同池来配置 IBM SONAS 上的 gpfs0 文件系统,如 lspool 命令的输出结果所示。secret 池是使用具有更高安全性和更高性能的磁盘配置的,因此我们可以将所有重要和机密的文件放在该池中,而将次要的文件放在性能较低的 system 池中。我们可以通过使用 mkpolicy 命令来创建一个名为 “Placement” 策略来完成此项设置。该策略有一条名为 “Place_Confidential” 的规则,它会将所有名称包含 “Confidential-” 前缀的文件放入 secret 存储池中。chkpolicy 命令会验证策略的所有规则并检查在 gpfs0 文件系统中是否确实存在名为 secret 的有效存储池。如果该命令执行失败,则表示在 gpfs0 中没有 secret 存储池。我们一旦创建了策略,就必须运行 setpolicy 命令来激活它。lspolicy 命令可以检查当前设置的策略。

代码 2:通用的 SONAS Policy 命令
-bash-3.2# hostname
playstation.in.ibm.com

-bash-3.2# ssh cliuser@almaric1.in.ibm.com
cliuser@almaric1.in.ibm.com's password:

[almari.in.ibm.com]$ lspool
Filesystem Name Size Usage Available fragments Available blocks Disk list
...
gpfs0 secret 7.05 TB 0.0% 248 kB 7.05 TB array0_sata_60001ff0732e40988c40003
gpfs0 system 7.05 TB 2.8% 37.72 MB 6.86 TB array0_sata_60001ff0732e40d88cd0007
...

[almari.in.ibm.com]$ mkpolicy Placement -R "RULE 'Place_Confidential' SET POOL 'secret' 
WHERE name like 'Confidential-%'"
EFSSG1000I The command completed successfully.

[almari.in.ibm.com]$ lspolicy -P Placement
Policy Name Declaration Name    Default Declarations
Placement   Place_Confidential  N       RULE 'Place_Confidential' SET POOL 'secret' 
WHERE name like 'Confidential-%'

[almari.in.ibm.com]$ chkpolicy gpfs0 -P Placement
EFSSG1000I The command completed successfully.

[almari.in.ibm.com]$ setpolicy gpfs0 -P Placement
EFSSG1000I The command completed successfully.

[almari.in.ibm.com]$ lspolicy -A
Cluster Device Policy Set Name Policies Applied Time Who applied it?
...
almari.in.ibm.com gpfs0 Placement Placement 9/6/10 6:45 PM root
...

[almari.in.ibm.com]$ logout
Connection to almaric1.in.ibm.com closed.

既然已经将策略应用到 IBM SONAS 系统,我们现在可以在加载目录 “/mnt/Sonas/” 下的 AIX NFS 客户端(playstation.in.ibm.com)中创建名称前缀为 “Confidential-” 的新文件。如果要确认这些文件是否确实放置到 SONAS 系统的 secret 池中,我们使用 root 用户连接到 SONAS 系统并对创建的文件执行 GPFS 命令 mmlsattr。它会告诉我们文件是否确实放置到了 secret 池中。这样,就可以使用此策略对各个池中数据的自动放置进行管理了。

请注意,cliuser 没有执行 GPFS 命令 mmlsattr 的权限。我们使用该命令来检查文件是否确实存储到了特定池中。

代码 3:IBM SONAS 中的文件放置策略
-bash-3.2# hostname
playstation.in.ibm.com

-bash-3.2# cd /mnt/Sonas/

-bash-3.2# echo "Confidential Sales File" > Confidential-Sales.txt

-bash-3.2# echo "Confidential Development File" > Confidential-Development.txt

-bash-3.2# echo "Confidential Report File" > Confidential-Report.txt

-bash-3.2# ls
Confidential-Development.txt Confidential-Report.doc Confidential-Sales.txt 

-bash-3.2# ssh root@almaric1.in.ibm.com
root@almaric1.in.ibm.com's password:

[root@almari.mgmt001st001 ~]# cd /ibm/gpfs0/Sonas_Test

[root@almari.mgmt001st001 Sonas_Test]# ls
Confidential-Development.txt Confidential-Report.doc Confidential-Sales.txt

[root@almari.mgmt001st001 Sonas_Test]# mmlsattr -L Confidential-Development.txt
file name:Confidential-Development.txt
metadata replication:1 max 2
data replication:1 max 2
immutable: no
flags:storage pool name: secret
fileset name: root
snapshot name:

[root@almari.mgmt001st001 Sonas_Test]# logout
Connection to almaric1.in.ibm.com closed.

信息生命周期管理:数据迁移

在本节中,我们将讨论如何使用 IBM SONAS 迁移策略来利用分级存储池迁移文件。假设我们想要将所有扩展名为 .txt 的文件迁移到 system 池。要完成此任务,我们需要通过使用 mkpolicy 命令创建数据迁移策略,并且使用 chkpolicy 命令来设置并验证其规则。对于迁移策略,不需要对 SONAS 系统设置迁移策略;我们只要使用 runpolicy 命令对将要迁移的文件运行策略即可。执行此策略后,已存于 system 池中的 *.txt 文件和存于 secret 池中扩展名不是 .txt 的文件都不会受到影响;但是 secret 池中后缀名为 “.txt” 的文件会被迁移到 system 池中。我们此前创建的 Confidential-Development.txt 文件将会迁移到 system 池中。为了确定文件确实已迁移,我们作为 root 用户登录到管理服务器,并对之前创建的文件运行 mmlsattr GPFS 命令。 输出结果显示 Confidential-Development.txt 文件的存储池改为 system,而 Confidential-Report.doc 文件的存储池仍然是 secret。因此,迁移策略成功地将符合特定规则的相关文件移动到了新池中。

代码 4:IBM SONAS 中的文件迁移策略
-bash-3.2# hostname
playstation.in.ibm.com

-bash-3.2# ssh cliuser@almaric1.in.ibm.com
cliuser@almaric1.in.ibm.com's password:

[almari.in.ibm.com]$ mkpolicy Migration -R "RULE 'Place_txt' SET POOL 'system' ; RULE 
'Migrate_txt' MIGRATE TO POOL 'system' WHERE name like '%.txt'"
EFSSG1000I The command completed successfully.

[almari.in.ibm.com]$ lspolicy -P Migration
Policy Name Declaration Name Default Declarations
Migration   Place_txt        N       RULE 'Place_txt' SET POOL 'system'
Migration   Migrate_txt      N       RULE 'Migrate_txt' MIGRATE TO POOL 'system' WHERE 
name like '%.txt'

[almari.in.ibm.com]$ chkpolicy gpfs0 -P Migration
EFSSG1000I The command completed successfully.

[almari.in.ibm.com]$ runpolicy gpfs0 -P Migration
[I] GPFS Current Data Pool Utilization in KB and %
secret 24189440 7574913024 0.319336%
system 30284032 7574913024 0.399794%
[I] 2120151 of 100000256 inodes used: 2.120146%.
[I] Loaded policy rules from /var/opt/IBM/sofs/PolicyFiles/policy1282223388136.
...
EFSSA0094I A command was executed on node int001st001.
EFSSG1000I The command completed successfully.

[almari.in.ibm.com]$ logout
Connection to almaric1.in.ibm.com closed.

-bash-3.2# ssh root@almaric1.in.ibm.com
root@almaric1.in.ibm.com's password:

[root@almari.mgmt001st001 ~]# cd /ibm/gpfs0/Sonas_Test

[root@almari.mgmt001st001 Sonas_Test]# ls
Confidential-Development.txt Confidential-Report.doc Confidential-Sales.txt

[root@almari.mgmt001st001 Sonas_Test]# mmlsattr -L Confidential-Development.txt
file name: Confidential-Development.txt
metadata replication: 2 max 2
data replication: 2 max 2
immutable: no
flags:
storage pool name: system
fileset name: root
snapshot name:

[root@almari.mgmt001st001 Sonas_Test]# mmlsattr -L Confidential-Report.doc
file name: Confidential-Report.doc
metadata replication: 2 max 2
data replication: 2 max 2
immutable: no
flags:
storage pool name: secret
fileset name: root
snapshot name:

信息生命周期:数据删除

为了降低管理负担,我们需要不时地删除无用和不相关的文件。我们将探讨如何使用删除策略对满足条件的文件进行自动删除。我们创建策略来设置条件。假设我们要删除所有名称前缀为 Confidential- 的文件。我们使用 mkpolicy 命令创建一条名为 Deletion 的策略,并使用 chkpolicy 命令来执行验证。与迁移策略一样,不需要对 SONAS 系统设置删除策略。可以根据需要使用 runpolicy 命令来删除文件。我们之前创建的所有文件在执行这条策略后都会被删除,因为它们都满足条件。当我们试着列出 AIX 客户端上的 NFS 加载目录时,输出结果为空,这表示执行此策略后所有文件都被删除。因此,我们确实已经删除所有满足条件的文件。

代码 5:IBM SONAS 中的文件删除策略
-bash-3.2# hostname
playstation.in.ibm.com

-bash-3.2# ssh cliuser@almaric1.in.ibm.com
cliuser@almaric1.in.ibm.com's password:

[almari.in.ibm.com]$ mkpolicy Deletion -R "RULE 'Place_data' SET POOL 'system'; RULE 
 'Delete_Confidential' DELETE WHERE name like 'Confidential-%'"
EFSSG1000I The command completed successfully.

[almari.in.ibm.com]$ lspolicy -P Deletion
Policy Name Declaration Name   Default Declarations
Deletion    Place_data           N     RULE 'Place_data' SET POOL 'system'
Deletion    Delete_Confidential  N     RULE 'Delete_Confidential' DELETE WHERE name 
like 'Confidential-%'

[almari.in.ibm.com]$ chkpolicy gpfs0 -P Deletion
EFSSG1000I The command completed successfully.

[almari.in.ibm.com]$ runpolicy gpfs0 -P Deletion
[I] GPFS Current Data Pool Utilization in KB and %
secret 24189440 7574913024 0.319336%
system 30284288 7574913024 0.399797%
[I] 2120154 of 100000256 inodes used: 2.120149%.
[I] Loaded policy rules from /var/opt/IBM/sofs/PolicyFiles/policy1282224298452.
...
EFSSA0094I A command was executed on node mgmt001st001.
EFSSG1000I The command completed successfully.

[almari.in.ibm.com]$ logout
Connection to almaric1.in.ibm.com closed.

-bash-3.2# cd /mnt/Sonas/

-bash-3.2# ls

-bash-3.2#

结束语

通过使用 IBM SONAS 的放置、迁移和删除策略,我们可以在将管理员责任转交给 IBM SONAS 的同时,确保以最小代价自动遵从法规。因此,将 IBM SONAS 作为后端来存储 AIX 或其他 UNIX® ,可帮助我们实现信息生命周期管理,并且以经济高效的方式遵从相关法规。

致谢

本文作者诚挚感谢 IBM Corporation 的 Sandeep R. Patil(rsandeep@in.ibm.com)对本文提供有价值的见解、看法、鼓励,并帮助向社区、用户和参与者传递本文主题。

参考资料

学习

获得产品和技术

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=AIX and UNIX
ArticleID=758313
ArticleTitle=使用 IBM SONAS 对 AIX 数据进行信息生命周期管理
publish-date=09192011