twt运营
作者twt运营·2016-10-27 09:09
软件开发工程师·twt

GPFS 的安装配置要点与安全设置

字数 2981阅读 2782评论 0赞 1

一、GPFS 简介

GPFS 是 IBM 很早就推出的一款产品,它提供了一个真正共享文件系统的功能,具有高性能和高可伸缩性。在高性能计算、数据库(oracle rac、 db2 puerscale)、 分布式计算等领域有着广泛的应用。

GPFS 根据存储的访问关系分为三种主要的架构:SAN 架构、NSD架构、基于以上 2 种架构的混合架构。三种架构的本质区别就是数据流的走向,SAN 架构数据直接通过 SAN 网络落到存储;NSD 架构 client 端的数据会先流向 IO SERVER 然后通过 SERVER 落到存储。每种架构都有各自的应用场景,比如集群中要求所有节点都要获得访问数据的最高性能,那么 SAN 架构就是最佳配置。如果基于成本(SAN 成本、license 成本)的考虑,NSD 架构就是最好的选择。当然还有些更复杂的情况比如跨地域的 GPFS 集群就自然会考虑到混合架构。

二、GPFS 的安装配置要点

GPFS 的安装配置可以很简单也可以很复杂。建议初学者从简单的架构开始配置,等到理解了相关概念之后再做更高级的配置。本文以两节点的 SAN 架构为例简单介绍一下 GPFS 的整个安装配置过程。当然安装配置的文章在互联网上也可以找到,因此我只重点说明一下大概流程和值得注意的地方,以便初学者更好的理解。Step by step 的详细过程大家可以参考 IBM 官方文档。

2.1 准备工作

2.1.1 节点的准备

准备 2 个节点,2 个节点的 OS 版本可以不一样,甚至可以是异构的 OS。这里以 AIX 系统为例。

2.1.2 共享存储的属性设置

SAN 架构下的共享存储要求每个节点都能正常访问存储,因此每个节点在认盘后都需要修改磁盘的属性:reserve_policy=no_reserve。在使用多路径软件的情况下,比如 EMC 的 powerpath,直接修改 hdiskpower 盘的属性即可。

2.1.3 ssh 的配置

GPFS 的 mm 命令是全局性的,因此要配置集群中各节点间的信任关系,简单的说就是 ssh 到各节点不需要输入 root 密码。ssh的配置不在这里细讲了, 大家可以在互联网上找到详细的配置过程。值得一提的是 ssh 登陆本机也需要进行密匙的配置,即 ssh 本机也不要输入 root 密码,否则配置 GPFS 的时候会有各种麻烦。这点在很多网络文档上没有提及包括 IBM 的官方文档,所以学习任何技术一定要先理解概念,在理解的基础上再进一步的去实践。依样画葫芦不一定在技术上行得通,特别是遇到问题的时候。

2.2 GPFS 软件安装

软件的安装没有什么特别注意的地方,各节点安装的文件集、补丁包一致即可。

2.3 GPFS 集群配置

mmcrcluster 是创建集群的命令,其中有几个重要参数需要我们指定。比如,仲裁管理器(quorum manager)。两个节点的情况下,我们建议都设置为 quorum manager。多个节点的情况下,一般取半数节点的过半数。GPFS 为了保证它的高可用性和数据完整性有套自己的检测机制。该机制主要有三种类型:1.file system descriptor quorum:这是系统内置的无需配置。2.node quorum:适用于多个节点。3:tiebreaker quorum: 适用于两个节点。比如,专有网络的建立。IBM 最佳实践的做法是 GPFS 的守护进程通信和管理命令通信各用一个网络。我们可以用 mmchnode 来修改管理节点名称,需要注意的是你的 hosts 文件要有对应的网络解析。最后集群创建好后记得分配相关的 license,具体的 license 类别根据你实际的架构分配。比如两节点的 SAN 架构网络我们可以分配server license 给两个节点。到此一个简单的 GPFS 集群就配置完成了,用 mmlscluster 命令可以查看集群的信息。

2.4 配置 NSD 和文件系统

单单建立好集群,对于用户和应用来说没有任何用处。下一步我们需要分配存储并建立文件系统。

2.4.1 NSD 配置

在前期的准备工作中,两个节点都已经认到了共享存储。我们只需手工编辑一个文件,将共享盘和 NSD 名称作一个一一映射的关系,并指出 NSD 存放数据的类型(仅元数据、仅数据、元数据和数据)。最后用 mmcrnsd 命令带上我们编辑的文件作为参数完成 NSD 设备的创建。在两个节点 SAN 的架构中,为了保证在一个节点故障的情况下,另一个节点还能正常提供对外服务,我们需要指定一个仲裁盘。任何 NSD 设备都可以做为仲裁盘。

2.5 文件系统的创建

NSD 的创建为创建文件系统打好了基础,文件系统就是建立在 NSD 设备上的。同样我们可以编辑换一个文件指定文件系统创建在哪些 NSD 上,并将这个文件作为参数传给 mmcrfs 命令。这里需要重点关注一个参数是块大小的设置,因为创建文件系统的时候一旦指定了这个参数就不能修改了,除非重建文件系统。文件系统的可选参数还有很多,比如复制、存储池等这里不再一一介绍。文件系统创建好后不会自动 mount,需要我们用 mmmount 命令手工 mount,该命令会拉起集群所有节点的 GPFS 文件系统。

三、安全配置

大家是否记得在前面配置 GPFS 集群的准备工作中,我们配置了互信的 SSH 通讯,节点间的 root 用户登录不需要输入密码。从安全的最佳实践来说应该是禁止 root 用户远程登录的。怎样解决这样的矛盾?我们可以通过修改 SSH 配置,一方面保持集群内节点继续使用 root 互信通信,同时阻止对其他用户和节点使用这种互信的通讯连接。SSH 的配置文件为 sshd_config,现在通过一个范例来进行说明。

PermitRootLogin  no

Match Address  ip

PermitRootLogin  yes

以上 3 个条目取自 SSH 的配置文件。Match address 指定的地址是唯一可以用 root 用户登录的地址,其余的 IP 地址均不能以root 用户远程登录这台主机。这种设置很好的解决了我们刚才说的矛盾,集群节点的 IP 地址都可以纳入分段的 match address 条目。同理,集群其他节点的 SSH 配置也可以这样设置。

我们还可以通过专门的加密密匙身份认证来禁用 root 用户的密码认证。具体来看一下配置。

PermitRootLogin  no

Match Address  ip

PermitRootLogin  without_password

该配置禁用了 root 用户的密码验证,让加密密匙身份认证成为 root 用户的唯一可用选项,减小了 root 密码被攻破的风险。这种配置比起第一种配置更具安全性。修改完 ssh 的配置后要记得重启 sshd 服务让配置生效。

扩展阅读:

GPFS + DB2 PureScale双活实践案例-民生银行

TSM+GPFS 实现Lanfree配置

PPT|GPFS+双活数据中心实施方案

基于IBM-GPFS技术的具体应用研究

PPT|GPFS 文件配置优化 (FPO)

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广