当前位置: 首页 > news >正文

RHCE学习13RHCS集群(RHCS+GFS2+ISCSI)

简单介绍:

RHCS(REDHAT CLUSTER SUITE:红帽群集套件)是一款能够提供高性能、高可靠性、负载均衡、高可用性的集群工具集,一个集群通常有两个或两个以上的计算机(称为“节点”或”成员“)共同执行一个任务。

GFSGoogle File SystemGFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。是RHCS为集群系统提供的一个存储解决方案,它允许集群的多个节点在块级别上共享存储,多个节点同时挂载一个文件系统分区,而使文件系统数据不受破坏,单一的ext2或ext3无法做到。

为了实现多个节点对一个文件系统同时进行读写操作,GFS使用锁管理器(DLM)来管理I/O操作:当一个写进程操作一个文件时,此文件被锁定,其它进程无法进行读写操作,操作完成后,RHCS底层机制会把此操作在其它节点上可见。


132131524.jpg

环境概述:

node1.rhcs:192.168.0.202

node1.rhcs:192.168.0.202

Luci+iscsi共享存储:192.168.0.204

VTP:192.168.0.206

一、配置iscsi共享存储+Luci集群web管理

1、创建LVM卷,方便以后扩展

1
2
3
4
fdisk  –l  #查看磁盘分区状况;
pvcreate  /dev/sdb  #pvdisplay
vgcreate vg1  /dev/sdb  #vgdisplay
lvcreate -n halv -L 10G myvg  #lvdisplay -L:指定创建逻辑卷的大小

2、创建iscsi-target共享卷

1
2
3
4
5
6
7
8
9
10
yum –y  install  scsi-target-utils
vi  /etc/tgt/targets .conf
<target iqn.2013-10.com. test :target>
  backing-store  /dev/myvg/mylv  #此处以逻辑卷作iscsi存储
  initiator-address 192.168.0.202  #允许两个节点都访问此ISCSI存储的LUN
  initiator-address 192.168.0.203
< /target >
service tgtd start
chkconfig tgtd on
tgt-admin -show或tgtadm --lld iscsi -- op  show --mode target  #查看存储的实际访问状况

3、安装Luci-Web管理工具

1
2
3
yum  install  -y luci
service luci start
chkconfig luci on

https://192.168.0.204:8084 #访问luci管理页面!

二、在两台集群节点安装集群软件并连接iscsi共享存储

1、安装集群软件

1
2
3
4
5
6
7
8
yum  install  -y ricci cman rgmanager lvm2-cluster gfs2-utils
service acpid stop
service NetworkManager stop  #rhcs集群不支持networkmanager管理,需要停掉
chkconfig acpid off
chkconfig NetworkManager off
service ricci start
chkconfig ricci on
passwd  ricci  #设置ricci用户密码,在luci添加节点里面填写的密码

2、连接iscsi存储

1
2
3
4
5
6
7
8
9
yum  install  -y iscsi-initiator-utils
Service iscsi start
chkconfig iscsi on
iscsiadm -m discovery -t st –p 192.168.1.227   #发现iscsi共享卷,默认端口3260
iscsiadm -m node -l iqn.2013-10.com. test :target  #登陆iscsi存储
fdisk  –l  #会看到/dev/sdb这个iscsi磁盘
iscsiadm -m node –l  #login session
iscsiadm -m node –u  #logout session
iscsiadm -m session  #view session

3、节点创建LVM卷 (节点1创建即可,节点2会自动同步)

集群软件必须都安装启动(clvmd cman )了,要不然会报错如下:

132108987.png

1
2
3
4
5
6
pvcreate  /dev/sda1
vgcreate -c y havg  /dev/sda1  #-c y :让vg支持cluster
vgdisplay  #查看是否支持cluster,会显示cluster yes
lvmconf -- enable -cluster  #启动集群
service clvmd restart  #重新加载集群
lvcreate -n halv -L 10G myvg

4、创建GFS2集群文件系统

1
mkfs.gfs2 -p lock_dlm -t webcluster:target -j 3  /dev/myvg1/halv

-p:定义为 DLM锁方式如果不加此参数,挂载的分区就像ext4格式,信息不能同步。

-t:集群名和自定义标志名,也可以是共享卷名

-j:GFS分区中最多支持多少个节点同时挂载通常设定值为节点数+1

132215644.png

在两个节点上分别挂载:

132237619.png

5、开机自动挂载及测试

1
2
vi  /etc/fstab
/dev/myvg1/halv  /data  gfs2 _netdev,defaults 0 0

也可以用blkid命令查看其UUID,然后用UUID来挂载此ISCSI磁盘

1
UUID=xxxxxxxxxxxx  /mnt/data1  gfs2 _netdev,defaults 0 0

测试是否同步:在节点1/data目录下创建index.html会自动同步到节点2/data下,然后修改apache根目录为/data,很简单,略!

三、登陆Luri创建集群

https://192.168.0.204:8084 #登陆Luci配置页面,输入本机root和密码进入

132348190.png

进入Manage Clusters

132417302.png

点击Create集群

132456392.png

132519817.png

点击Create Cluster

开始创建集群,加入集群的两个节点会重新启动,重启完毕后,集群就创建成功!

132544293.png

点击Fence Devices创建fence设备,因为不是用的服务器,没有fence设备,我随意建了一个SRF,实际生产环境中,必须使用fence硬件设备。

Add添加fence设备

132642968.png

回到nodes菜单下,添加fence设备,两个节点配置一样,点击某个节点,出现节点详情后点击add fence method添加一个method, 
点击add fence instance,添加刚才设定的SRF。

132717127.png

132835526.png

配置完成!

四、创建集群服务组

Web高可用需要两个资源:虚拟ip(192.168.0.206)和/etc/init.d/httpd

点击Resources

133036135.png

点击Add添加资源,两个节点配置基本一样。


133104665.png

添加故障域,并设备节点优先级(注意如果要做双机互备,就要添加两个故障域),一个节点可以在多个故障域中:

133126205.png

133216490.png

新建服务组,添加刚才新建的两个资源进服务组,我的service group服务组死活点Add都没反应,坑爹,以下是大致步骤:

点击“service”选项,单击“add”按钮,如下图所示:

133317328.png

点击上图的”add a resource”按钮,添加资源,设置虚拟IP

134534696.png

启动服务组

134600120.png

测试

133454714.png


通过上图可以看出节点192.168.1.232是活跃的,正在接管资源响应用户的访问请求。或在192.168.1.232主机上执行下面的命令


133520616.png

五、管理命令

clustat #查看每个节点集群活动状

133547927.png

ccs_test connect #检测是否连接成功

133605710.png

ccs_tool检测运行状态是否正常

133622770.png

target如果有外连接会停止失败,只有杀死tgtd进程。

133655168.png

提示:

1、每个节点上必须启动clvmd服务,不然无法挂载/dev/myvg1/halv到/data

2、确保每个节点的cman、rgmanager、ricci、modclusterd、clvmd服务能正常启动,若不能启动则要手动将服务启动起来;并设置开机自动启动。

1
2
3
Service cman status (start,stop)
Service rgmanager status (start,stop)
Service clvmd status (start,stop)

3、动态查看群集服务日志

1
tail  –f  /var/log/messages



本文转自 李振良OK 51CTO博客,原文链接:http://blog.51cto.com/lizhenliang/1304249,如需转载请自行联系原作者

相关文章:

  • 【BZOJ】2733: [HNOI2012]永无乡
  • 网络通信原理及要素
  • python脚本采集服务器数据通过API提交到django web服务器,然后展示在页面上
  • Linux下搭建NFS服务器
  • shell整理(38)===凯撒加密和解密
  • 使用embulk从Oracle抽取数据到trafodion
  • dubbo 服务中间件 的使用
  • [zabbix/自动发现规则]
  • 项目管理:项目中什么叫完成,传统瀑布开发与敏捷开发的完成标准是什么??...
  • php如何发post请求
  • let和var的一个问题
  • aix 查看占用内存高的进程
  • WIN7 U盘安装
  • [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器...
  • MongoDB(课时10 数组)
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • HashMap剖析之内部结构
  • JavaScript标准库系列——Math对象和Date对象(二)
  • JavaScript服务器推送技术之 WebSocket
  • js作用域和this的理解
  • Just for fun——迅速写完快速排序
  • mysql中InnoDB引擎中页的概念
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • python大佬养成计划----difflib模块
  • sessionStorage和localStorage
  • Spring核心 Bean的高级装配
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • use Google search engine
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 每天10道Java面试题,跟我走,offer有!
  • 一个JAVA程序员成长之路分享
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • #、%和$符号在OGNL表达式中经常出现
  • (13)Hive调优——动态分区导致的小文件问题
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (十一)手动添加用户和文件的特殊权限
  • (四)Linux Shell编程——输入输出重定向
  • (五)IO流之ByteArrayInput/OutputStream
  • (转)关于多人操作数据的处理策略
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .NET成年了,然后呢?
  • .NET企业级应用架构设计系列之应用服务器
  • /var/spool/postfix/maildrop 下有大量文件
  • @RequestBody与@ModelAttribute
  • [Angularjs]ng-select和ng-options
  • [BZOJ4337][BJOI2015]树的同构(树的最小表示法)
  • [C++提高编程](三):STL初识