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软件 ...
随机推荐
- 后台调用 WEBAPI 几种方式
示例是调用谷歌短网址的API. 1. HttpClient方式: public static async void DoAsyncPost() { DateTime dateBegin = DateT ...
- XML_DTD_20200415
<!-- xml的注释写法 --> 格式良好的xml语言必须具备的几个条件 1.必须有xml声明语句,声明版本号与编码字符集 2.必须有且仅有一个根元素 3.标签大小写敏感 4.属性值 ...
- Python笔记(1)——字符串(Python编程:从入门到实践)
字符串 一.使用方法修改字符串大小写 1. 方法:变量.tittle():首字母大学显示字符串中的每个英文单词 2. 方法:变量.upper():字符串全改为大写 3. 方法:变量.lower():将 ...
- Websocket是什么?
一. WebSocket是什么? Websocket是一种网络通信协议,是一个在计算机里专门在[两点]之间传输数据的约定和规范. 二. 为什么存在WebSocket? 因为 HTTP 协议有一个缺陷: ...
- 解决Tomcat 启动,http://localhost:8080无法访问 问题
注意:1:tomact能正常启动 2 : 通过startup启动后可以正常访问8080界面: 3: 通过eclipse启动后无法正常访问8080界面: Tomcat能在eclipse里面能正常启动,但 ...
- Linux CentOS Docker Asp.net Core MVC 模板项目的部署
本文只是记录 .net core 3.1 项目的基本部署方法,灵活应对不同情况与需求 工具:VS 2019 Linux CentOS 7 x64 Xshell Xftp Docker 安 ...
- IO在指定目录建文件
path= "d:\\Project\\log\\log.txt"; File file = new File(path); //创建文件目录 if(!file.getParent ...
- Iview Table 图片、超链接
columns = [ { title: "照片", key: "attach_url", align:'center', width: 170, render ...
- JS和PHP中能转为布尔false的值的对比
实际开发中经常会使用到JS和PHP中的变量转布尔值进行条件判断,下面对两种语言中转布尔类型结果为false的值进行对比,加深记忆和方便引用. 除了下表列出项,其它的值均转成真值true . 转布尔值后 ...
- 使用Jmeter进行https接口测试时,如何导入证书?
转载:https://www.cnblogs.com/tester-zhangxiaona/p/12295473.html