搜索
首页web前端css教程RHCS之用css_tool命令创建HA集群及创建gfs2集群文件系统

准备环境

node1:192.168.139.2

node2:192.168.139.4

node4:192.168.139.8

node5:192.168.139.9


node1 作为target端

node2 node4 node5 作为initiator端


并且将node2 node4 node5安装cman+rgmanager后配置成一个三节点的RHCS高可用集群,因为gfs2为一个集群文件系统,必须借助HA高可用集群将故障节点Fence掉,及借助Message Layer进行节点信息传递。

因为要将发现并登入的target做成集成文件系统,所以必须在node2 node4 node5上安装gfs2-utils


先将原来用luci/ricci创建的集群服务stop掉(我以前实验做的一个集群服务,与此实验无关)


[root@node2 mnt]# clusvcadm -d Web_Service

Local machine disabling service:Web_Service...

[root@node2 mnt]# clustat 

Cluster Status for zxl @ Wed Dec 21 17:55:46 2016

Member Status: Quorate


 Member Name                  ID   Status

 ------ ----                  ---- ------

 node2.zxl.com                1 Online, Local, rgmanager

 node4.zxl.com       

                          2 Online, rgmanager


 Service Name        Owner (Last)      State         

 ------- ----        ----- ------      -----         

 service:Web_Service   (node2.zxl.com)    disabled 

[root@node2 mnt]#  service rgmanager stop

[root@node2 mnt]#  service cman stop

[root@node4 mnt]#  service rgmanager stop

[root@node4 mnt]#  service cman stop

[root@node4 mnt]# rm -rf /etc/cluster/cluster.conf

[root@node4 mnt]# rm -rf /etc/cluster/cluster.conf

每次配置文件改变都会有备份也删掉

[root@node2 mnt]# ls /etc/cluster/

cluster.conf.bak  cman-notify.d

[root@node2 mnt]# rm -f /etc/cluster/*



如果没有装cman,rgmanager,执行如下命令

[root@node2 mnt]#yum  -y install cman rgmanager


  用css_tool命令创建一个集群,集群名称mycluster

[root@node2 mnt]# ccs_tool create mycluster

[root@node2 mnt]# cat /etc/cluster/cluster.conf 


 

 


 

 


 

   

   

 


添加Fence设备(RHCS集群必须有)

[root@node2 mnt]# ccs_tool addfence meatware fence_manual

[root@node2 mnt]# ccs_tool lsfence

Name             Agent

meatware         fence_manual


-v 指定节点拥有票数

-n 指定节点标识符

-f 指定Fence设备名称


添加三个节点,RHCS集群至少要有三个节点

[root@node2 mnt]# ccs_tool addnode -v 1 -n 1 -f meatware node2.zxl.com

[root@node2 mnt]# ccs_tool addnode -v 1 -n 2 -f meatware node4.zxl.com

[root@node2 mnt]# ccs_tool addnode -v 1 -n 3 -f meatware node5.zxl.com

查看集群节点

[root@node2 mnt]# ccs_tool lsnode


Cluster name: mycluster, config_version: 5


Nodename                        Votes Nodeid Fencetype

node2.zxl.com                      1    1    meatware

node4.zxl.com                      1    2    meatware

node5.zxl.com                      1    3    meatware

复制配置文件,RHCS集群会借助cssd进程自动同步

[root@node2 mnt]# scp /etc/cluster/cluster.conf node4:/etc/cluster/

[root@node2 mnt]# scp /etc/cluster/cluster.conf node5:/etc/cluster/

每个节点启动cman rgmanager

[root@node2 mnt]# service cman start

[root@node2 mnt]# service rgmanager start

[root@node4 mnt]# service cman start

[root@node4 mnt]# service rgmanager start

[root@node5 mnt]# service cman start

[root@node5 mnt]# service rgmanager start

[root@node2 mnt]# clustat 

Cluster Status for mycluster @ Wed Dec 21 18:40:26 2016

Member Status: Quorate


 Member Name           ID   Status

 ------ ----           ---- ------

 node2.zxl.com         1 Online, Local

 node4.zxl.com         2 Online

 node5.zxl.com         3 Online


[root@node2 mnt]# rpm -ql gfs2-utils

/etc/rc.d/init.d/gfs2 

/sbin/fsck.gfs2

/sbin/mkfs.gfs2 \\格式化创建gfs2文件系统的

/sbin/mount.gfs2 \\挂载gfs2文件系统的

/usr/sbin/gfs2_convert


mkfs.gfs2命令的使用

-j 指定日志区域个数,有几个就能被几个节点挂载,因为格式化为集群文件系统后,每个节点都要有日志记录

-J 指定日志大小,默认128M

-p {lock_dlm|lock_nolock} 分布式锁管理|不用锁

-t 指定锁表的名称

注:一个集群可以有多个文件系统,如一个集群中共享了两个磁盘,两个磁盘可以是gfs2和ocfs2文件系统,不同的文件系统进行加锁时,要用不同的锁表进行唯一标示,所以每个锁都要有锁名称

锁表名称的格式

cluster_name:锁表名

如:mycluster:lock_sda

-D 显示详细的Debug信息


登入target,并格式化为gfs2文件系统

[root@node2 mnt]# iscsiadm -m node -T iqn.2016-12.com.zxl:store1.disk1 -p 192.168.139.2 -l

[root@node2 mnt]# mkfs.gfs2 -j 2 -p lock_dlm -t mycluster:lock_sde1 /dev/sde1

Are you sure you want to proceed? [y/n] y


Device:                 /dev/sde1

Blocksize:               4096

Device Size              3.00 GB (787330 blocks)

Filesystem Size:           3.00 GB (787328 blocks)

Journals:                2

Resource Groups:           13

Locking Protocol:          "lock_dlm"

Lock Table:              "mycluster:lock_sde1"

UUID:                  9ebdc83b-9a61-9a4a-3ba7-9c80e59a0a2d

格式化完成,挂载测试

[root@node2 mnt]# mount -t gfs2 /dev/sde1 /mnt

[root@node2 mnt]# cd /mnt

[root@node2 mnt]# ll

total 0

[root@node2 mnt]# cp /etc/issue ./

[root@node2 mnt]# ll

total 8

-rw-r--r--. 1 root root 47 Dec 21 19:06 issue


ok,换node4

[root@node4 ~]# iscsiadm -m node -T iqn.2016-12.com.zxl:store1.disk1 -p 192.168.139.2 -l

node4不用再次格式化,直接挂载

[root@node4 ~]# mount -t gfs2 /dev/sdc1 /mnt

[root@node4 ~]# cd /mnt

[root@node4 mnt]# ll \\可以看到node1复制的文件

total 8

-rw-r--r--. 1 root root 47 Dec 21 19:06 issue

node4创建一个文件a.txt,会立马通知给其他节点,让其看到,这就是集群文件系统gfs2的好处

[root@node4 mnt]# touch a.txt

[root@node2 mnt]# ll

total 16

-rw-r--r--. 1 root root  0 Dec 21 19:10 a.txt

-rw-r--r--. 1 root root 47 Dec 21 19:06 issue


在加一个节点node5

[root@node5 ~]# iscsiadm -m node -T iqn.2016-12.com.zxl:store1.disk1 -p 192.168.139.2 -l

挂载不上去,因为只创建了两个集群日志文件,有几个日志几个节点就能挂载

[root@node5 ~]# mount -t gfs2 /dev/sdc1 /mnt

Too many nodes mounting filesystem, no free journals

添加日志

[root@node2 mnt]# gfs2_jadd -j 1 /dev/sde1 \\-j 1 增加一个日志

Filesystem:            /mnt

Old Journals           2

New Journals           3

[root@node2 mnt]# gfs2_tool journals /dev/sde1 \\此命令可以查看有几个日志,每个默认大小128M

journal2 - 128MB

journal1 - 128MB

journal0 - 128MB

3 journal(s) found.

[root@node5 ~]# mount -t gfs2 /dev/sdc1 /mnt \\node5挂载成功

[root@node5 ~]# cd /mnt 

[root@node5 mnt]# touch b.txt

[root@node4 mnt]# ll

total 24

-rw-r--r--. 1 root root  0 Dec 21 19:10 a.txt

-rw-r--r--. 1 root root  0 Dec 21 19:18 b.txt

-rw-r--r--. 1 root root 47 Dec 21 19:06 issue


gfs2集群文件系统一般支持的集群数量不能超过16个,超过后,性能直线下降

更多RHCS之用css_tool命令创建HA集群及创建gfs2集群文件系统相关文章请关注PHP中文网!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
在JavaScript应用程序中包括CSS的许多方法在JavaScript应用程序中包括CSS的许多方法Apr 19, 2025 am 10:08 AM

欢迎来到前端发展之地中一个引起争议的话题!我敢肯定,大多数阅读此书都遇到了您的博览会

引入NetLify分析引入NetLify分析Apr 19, 2025 am 10:07 AM

您在附带项目中工作一段时间。您认为它很酷!您决定将其释放到世界上。然后……顺利进行。否则进展不顺利。等待,

五星级评分的五种方法五星级评分的五种方法Apr 19, 2025 am 10:04 AM

在喜欢和社会统计的世界中,评论是留下反馈的非常重要的方法。用户通常喜欢以前知道他人的意见

如果您不知道CSS,哪些CSS很棒,这是最有意义的?如果您不知道CSS,哪些CSS很棒,这是最有意义的?Apr 19, 2025 am 09:56 AM

彼得·保罗(Peter-Paul)发布了这个问题:

用剪贴路径动画用剪贴路径动画Apr 19, 2025 am 09:52 AM

剪辑路径是我们通常知道在那里的CSS属性之一,但出于任何原因可能不会经常到达。从某种意义上说有点令人生畏

将GraphQL操场与Gatsby一起使用将GraphQL操场与Gatsby一起使用Apr 19, 2025 am 09:51 AM

我假设你们中的大多数人已经听说过盖茨比,至少很松散地知道,这基本上是一个用于React站点的静态站点生成器。通常

类型或测试:为什么不呢?类型或测试:为什么不呢?Apr 19, 2025 am 09:50 AM

时不时地,关于键入JavaScript的价值的辩论会引起辩论。 “只写更多测试!”大喊一些对手。 “用类型替换单位测试!”

GIT的图形用户界面GIT的图形用户界面Apr 19, 2025 am 09:46 AM

如今,Lemme汇集了Guis的主要参与者。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器