GPFS 文件系统部署步骤
GPFS 文件系统部署步骤
一、GPFS介绍
二、环境介绍
| 节点名 | 节点IP | 节点作用 | 
| gpfsnode1 | 192.168.27.61 | gpfs主节点 | 
| gpfsnode2 | 192.168.27.62 | gpfs从节点 | 
| gpfsclient | 192.168.27.63 | gpfs客户端 | 
| timeserver | 192.168.0.7 | 时间同步服务器 | 
三、安装前准备
- 配置yum源
- 配置/etc/hosts
- 配置ssh免密登录
- 关闭防火墙,selinux
- 配置时间同步
- 安装依赖包
3.1 配置yum源。
3.2 配置/etc/hosts
[root@gpfsnode1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.27.61 gpfsnode1
192.168.27.62 gpfsnode2
192.168.27.63 gpfsclient
3.3 配置ssh免密登录
[root@gpfsnode1 ~ ]# ssh-keygen -t rsa
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
[root@gpfsnode1 ~ ]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@gpfsnode2
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
Are you sure you want to continue connecting (yes/no)? yes
root@gpfsnode2's password: 这里输入gpfsnode2的密码
3.4 关闭防火墙、selinux
关闭防火墙
[root@gpfsnode1 ~] systemctl stop firewalld
设置防火墙不开机自动启动
[root@gpfsnode1 ~] systemctl disable firewalld
[root@gpfsnode1 ~] vim /etc/selinux/config SELINUX=disabled
3.5 配置时间同步
[root@gpfsnode1 ~] crontab -e
*/5 * * * * /usr/sbin/ntpdate 192.168.0.7;/usr/sbin/hwclock -w
3.6 安装依赖包
| 包名 | 功能 | 安装命令 | 
| Gcc | 代码编译包 | yum install gcc | 
| Cpp | 计算机编程语言 | yum install cpp | 
| Automake | Makefile文件编辑器 | yum install automake | 
| Kernel-devel | 内核文件开发包 | yum install kernel-devel | 
| Kernel-headers | 系统内核头文件包 | yum install kernel-headers | 
| binutils | 一组开发工具包 | yum install binutils | 
| Python | Python主安装文件 | yum install python | 
| Make | Linux系统的编译工具 | yum install make | 
| Ksh | 交互式的命令解释器和命令变成语言 | yum install ksh | 
| Gcc-c++ | 针对C++的代码编译包 | yum install gcc-c++ | 
| rpm-build | rpm安装包编译工具 | yum install rpm-build | 
四、安装GPFS文件系统
4.1 解压安装包
[root@gpfsnode1 ~]# ./Spectrum_Scale_Advanced-5.0.3.0-x86_64-Linux-install --text-only
[root@gpfsnode1 ~]# cd /usr/lpp/mmfs/5.0.3.0/gpfs_rpms
gpfs.base-5.0.3-1.*.rpm
gpfs.gpl-5.0.3-1.noarch.rpm
gpfs.compression-5.0.3-1.*.rpm
gpfs.gskit-8.0.50-86.*.rpm
gpfs.msg.en_US-5.0.3-1.noarch.rpm
gpfs.license.xxx-5.0.3-1.*.rpm(其中 xxx 是许可证类型)
gpfs.adv-5.0.3-1.*.rpm(仅限 IBM Spectrum Scale Advanced 或 Data Management Edition)
gpfs.crypto-5.0.3-1.*.rpm(仅限 IBM Spectrum Scale Advanced 或 Data Management Edition)
rpm -ivh gpfs.base-5.0.3-0.x86_64.rpm
rpm -ivh gpfs.gpl-5.0.3-0.noarch.rpm
rpm -ivh gpfs.adv-5.0.3-0.x86_64.rpm
rpm -ivh gpfs.license.adv-5.0.3-0.x86_64.rpm
rpm -ivh gpfs.gskit-8.0.50-86.x86_64.rpm
rpm -ivh gpfs.msg.en_US-5.0.3-0.noarch.rpm
rpm -ivh gpfs.crypto-5.0.3-0.x86_64.rpm
rpm -ivh gpfs.docs-5.0.3-0.noarch.rpm
4.2 配置环境变量
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/lpp/mmfs/bin
export PATH
4.3 构建 GPFS 可移植层
[root@gpfsnode1 ~]# /usr/lpp/mmfs/bin/mmbuildgpl --build-package
- GPFS 可移植性层特定于当前内核和 GPFS 版本。如果内核或 GPFS 版本发生变化,则需要构建新的 GPFS 可移植层。
- 尽管操作系统内核可能会升级到新版本,但它们在重新启动后才处于活动状态。因此,必须在重新启动操作系统后为这个新内核构建一个 GPFS 可移植层。
- 在安装新的 GPFS 可移植层之前,请确保先卸载先前版本的 GPFS 可移植层。
Wrote: /root/rpmbuild/RPMS/x86_64/gpfs.gplbin-3.10.0-229.el7.x86_64-5.0.3-x.x86_64.rpm
4.4 创建集群
[root@gpfsnode1 ~]# mmcrcluster -N /tmp/mmfs/nodefile -p gpfsnode1 -s gpfsnode2 -C gpfscluster -A -r /usr/bin/ssh -R /usr/bin/scp
gpfsnode1:quorum-manager:
gpfsnode2:quorum-manager:
[root@gpfsnode1 ~]# mmchlicense server --accept -N all
从节点使用以下命令启动 GPFS 守护进程和集群。
[root@gpfsnode1 ~]# /usr/lpp/mmfs/bin/mmstartup -N Nodename
4.5 创建NSD
%nsd:device=/dev/sdb nsd=data01 servers=gpfsnode1 usage=dataAndMetadata failureGroup=-1 pool=system
%nsd:device=/dev/sdb nsd=data02 servers=gpfsnode2 usage=dataAndMetadata failureGroup=-1 pool=system
[root@gpfsnode1 ~]# mmcrnsd -F /gpfsfile/NSDfile
查看nsd:
[root@gpfsnode1 ~]# mmlsnsd -m
[root@gpfsnode1 ~]# mmstartup -a
[root@gpfsnode1 ~]# mmgetstate -Las
4.6 创建gpfs文件系统
[root@gpfsnode1 ~]# mmcrfs gpfs -F /tmp/mmfs/nsdfile -A yes -B 1M -j hcluster -m 2 -r 2 -M 3 -R 3 -T /gpfs --metadata-block-size 256K
[root@gpfsnode1 ~]# mmcrfs gpfs -F /tmp/mmfs/nsdfile -k nfs4
4.7 挂载文件系统
[root@gpfsnode1 ~]# mmmount gpfs /gpfs -N all
查询挂载是否成功,看见文件系统为gpfs的表示挂载成功。
[root@gpfsnode1 ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/rhel-root xfs 92G 14G 78G 15% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 9.0M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 143M 872M 15% /boot
tmpfs tmpfs 378M 0 378M 0% /run/user/0
gpfs gpfs 600G 6.7G 594G 2% /gpfs
[root@gpfsnode1 ~]# mmgetstate -Las Node number Node name Quorum Nodes up Total nodes GPFS state Remarks
-------------------------------------------------------------------------------------
1 gpfsnode1 2 2 3 active quorum node
2 gpfsnode2 2 2 3 active quorum node
3 gpfsclient 2 2 3 active Summary information
---------------------
Number of nodes defined in the cluster: 3
Number of local nodes active in the cluster: 3
Number of remote nodes joined in this cluster: 0
Number of quorum nodes defined in the cluster: 2
Number of quorum nodes active in the cluster: 2
Quorum = 2, Quorum achieved
4.8 创建文件集
[root@gpfsnode1 ~]# mmcrfileset gpfs sqdb
[root@gpfsnode1 ~]# mmlinkfileset gpfs sqdb -J /gpfs/sqdbfolder
[root@gpfsnode1 ~]# mmlsfileset gpfs
4.9 其他操作
查看节点
# mmlsnode 查看集群
# mmlscluster -Lsa 增加节点(如下为增加服务端,也可以修改server的参数后增加客户端)
# mmaddnode -N gpfs04:quorum
# mmchlicense server --accept -N gpfs04 关闭所有节点
# mmshutdown -a
# mmshutdown -N nodename 查看配置
# mmlsconfig all 修改配置
# mmchconfig 使用以下命令卸载 GPFS 文件系统并停止所有节点上的 GPFS。
# mmshutdown -a 卸载gpfs分区
# mmumount gpfs 使用以下命令在可用文件系统之一上配置 CES 共享根文件系统。
# mmchconfig cesSharedRoot=/gpfs/fs0 使用以下命令在集群中的所有节点上启动 GPFS。
# mmstartup -a
# mmstartup -N nodename 使用以下命令在所需节点上启用 CES。
# mmchnode --ces-enable -N prnode1,prnode2,prnode3 使用以下命令将协议节点的 IP 地址添加到 CES。
# mmces address add --ces-ip 198.51.100.2
# mmces address add --node prnode1 --ces-ip 198.51.100.2 使用以下命令验证 CES 配置。
# mmlscluster --ces
# mmces address list
mmcrfs -T
mmchfs -T
五、添加GPFS 客户端操作
5.1 安装GPFS软件
5.2 修改Host文件
5.3 创建客户端Nodefile
gpfsclient:client
5.4 添加客户端节点
[root@gpfsclient ~]# mmaddnonde -N addnodefile
[root@gpfsclient ~]# mmchlicense client --accept -N gpfsclient
[root@gpfsclient ~]# mmstartup -N gpfsclient
[root@gpfsclient ~]# mmmount gpfs /gpfs -N gpfsclient
节点服务启动后,GPFS文件系统会自动挂载,可以通过df -h命令查看。
5.5 其他操作
[root@gpfsclient ~]# mmumount gpfs
[root@gpfsclient ~]# mmmount gpfs /gpfs -N ${CLIENT_NODE_NAME}
[root@gpfnode1 ~]# mmstartup -a
2.挂载Server端的gpfs目录。
[root@gpfnode1 ~]# mmmount gpfs /gpfs -N all
[root@gpfsclient ~]# mmstartup -N gpfsclient
卸载:mmumount gpfs
[root@gpfsclient ~]# mmmount gpfs /gpfs -N gpfsclient
结束语
搭建步骤到此结束
如果有什么建议或者不明白的地方,欢迎留言或者私信我,看见第一时间回复。
本篇文档中存在的已知问题欢迎各路大牛指出。
GPFS 文件系统部署步骤的更多相关文章
- unison + inotify 实现文件实时双向同步部署步骤
		unison + inotify 实现文件实时双向同步部署步骤 一. Unison简介 Unison是Windows.Linux以及其他Unix平台下都可以使用的文件同步工具,它能使两个文件夹(本地或 ... 
- FastDFS 分布式文件系统部署实战及基本使用
		FastDFS 分布式文件系统部署实战及基本使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. FastDFS是一个开源的高性能分布式文件系统.它的主要功能包括:文件存储,文件同步 ... 
- Storm集群安装部署步骤【详细版】
		作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: http://www.cnblogs.com/panfeng412/archive/2012/11/30/how ... 
- Hexo学习笔记--常用命令及部署步骤
		参考资料: Hexo搭建Github静态博客:http://www.cnblogs.com/zhcncn/p/4097881.htmlHexo:独立博客新玩法:http://www.aips.me/h ... 
- SharePoint2010 部署步骤“激活功能”中出现错误:无法启动计算机“PCName”上的服务SPUserCodeV4
		在SharePoint2010开发中,选择部署类型为“部署为沙盒解决方案”,在部署代码是出现如下错误提示: 部署步骤“激活功能”中出现错误:无法启动计算机“PCName”上的服务SPUserCodeV ... 
- 初窥GPFS文件系统
		作者:姜江 linuxemacs@gmail.com 原文地址:http://blog.csdn.net/jznsmail/article/details/5502840?reload 本作品采用知识 ... 
- Storm集群安装部署步骤
		本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章节以"注意事项"的形式给出. 1. Sto ... 
- Thinkphp框架部署步骤
		Thinkphp框架部署步骤 thinkphp框架部署起来简单,但是由于步骤较多也容易遗忘: 这是安装了集成环境后的一个www根目录结构: 然后需要在这个目录下面创建一个文件夹做项目:thinkphp ... 
- GlusterFS分布式文件系统部署及基本使用(CentOS 7.6)
		GlusterFS分布式文件系统部署及基本使用(CentOS 7.6) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Gluster File System 是一款自由软件,主要由 ... 
- Lustre文件系统部署和应用探索
		1. Lustre文件系统概述 2. Lustre文件系统部署 2.1 基本环境 本篇博客将在KVM虚拟机中部署Lustre文件系统. 操作系统版本为CentOS6.5_x86_64.Lustre软件 ... 
随机推荐
- error: You must be logged in to the server (Unauthorized) 问题处理
			故障现象: 执行kubectl 命令时: 提示"error: You must be logged in to the server (Unauthorized)" 分析: 权限问 ... 
- c++结对编程
			|| |:--|:--| |Github项目|Github地址 |结对伙伴|伙伴地址1伙伴地址2 PSP表格 ||| |:--|:--|:--|:--| |PSP2.1|Personal Softwa ... 
- MySQLdb._exceptions.OperationalError: (2026, 'SSL connection error: unknown error number')
			MySQLdb._exceptions.OperationalError: (2026, 'SSL connection error: unknown error number') 问题发生在我远程连 ... 
- [Leetcode 108]有序数组转BST二叉搜索树Convert Sorted Array to Binary Search Tree
			题目 https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/ Given an integer array ... 
- 优先使用C++的别名声明(using)来替换typedef
			C++98中,我们如果想用简写的方式表达一个类型,那么可以使用typedef关键字: typedef std::unique_ptr<std::unordered_map<std::str ... 
- Docker 环境规划 (Docker安装)
			一.环境规划 支持Java.dotNet.Vue项目构建 二.切换系统镜像源 1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.rep ... 
- ARM-linux的Windows交叉编译环境搭建
			交叉编译Arm Linux平台的QT5库 1.准备交叉编译环境 环境说明:Windows10 64位 此过程需要: (1)Qt库开源代码,我使用的是5.13.0版本: (2)Perl语言环境5.12版 ... 
- 寄存器与RAM的区别
			转自:https://blog.csdn.net/qq_18191333/article/details/106912668 概述 寄存器是"存储设备",主要用于存储和检查微型计算 ... 
- Mac 系统下 xxx.py 在终端运行
			1.在文件中添加注释首先在你所要运行的python文件里首行添加一个特殊的注释(我使用的是python 3.7.3) #!/usr/bin/env python3 注意:如果是python3的话,&q ... 
- EF 操作实例
			一.Linq语法 List操作 1.1 有参 public List<GoodsInfo> ShowInfo(string GName,int?Gid) { //true ... 
