RHCS-红帽集群套件(ricci+luci+fence)httpd | mysql,gfs2集群文件系统

一、认识集群

https://www.linuxidc.com/Linux/2018-04/151912.htm(RHCS 集群安装部署图文详解

 

1.集群:

是指一组相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点都是运行各自服务的独立服务器,这些服务器之间可以彼此通信,协同向用户提供应用程序,系统资源和数据,并以单一系统的模式加以管理。

2 集群优点:

1 高性能
2 价格有效性
3 可伸缩性
4 高可用
5 透明性
6 可管理
7 可编程

3.RHCS 集群组成

1.集群架构管理器

这是RHCS 集群的一个基础套件,提供您一个集群的基本功能,使各个节点组成的集群在一起工作,具体包含分布式集群管理器(CMAN),成员关系管理、锁管理(DLM)配置文件管理(CCS)、栅设备(FENCE)

2.高可用服务管理器

提供节点服务监控和服务故障转移,当一个节点服务出现故障时,将服务转移到另一个健康的节点上。

3.集群配置管理工具

通过LUCI 来管理和配置RHCS集群,LUCI是一个基于web的集群配置方式,通过luci可以轻松的搭建一个功能强大的集群系统,节点主机可以使用ricci来和luci 管理段进行通信

 

 

实验环境:
1.生成三个6.5虚拟机的快照
 

cd /var/lib/libvirt/images/
qemu-img create -f qcow2 -b rhel6.5.qcow2 server1.qcow2
qemu-img create -f qcow2 -b rhel6.5.qcow2 server2.qcow2
qemu-img create -f qcow2 -b rhel6.5.qcow2 server3.qcow2

2.修改名称

vim /etc/sysconfig/network

3.修改ip

server1:172.25.99.1

server2:172.25.99.2

server3:172.25.99.3

4.重启网络

/etc/init.d/network restart

5.配置yum源安装包

高可用,负载均衡,存储,文件系统

vim /etc/yum.repos.d/rhel-source.repo 

[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.99.250/rhel6.5
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[HighAvailability]
name=HighAvailability
baseurl=http://172.25.99.250/rhel6.5/HighAvailability
gpgcheck=0

[LoadBalancer]
name=LoadBalancer
baseurl=http://172.25.99.250/rhel6.5/LoadBalancer
gpgcheck=0

[ResilientStorage]
name=ResilientStorage
baseurl=http://172.25.99.250/rhel6.5/ResilientStorage
gpgcheck=0

[ScalableFileSystem]
name=ScalableFileSystem
baseurl=http://172.25.99.250/rhel6.5/ScalableFileSystem
gpgcheck=0

检测yum源是否修改成功:
yum clean all
yum repolist 应当有3819个包

实验一:创建高可用集群

(之前用的是keepalived,这次用的是ricci)

  1. 在server1下载rhcs的图形网页管理工具
  • ricci(图形里的集群管理)
  • luci(图形界面)
  • 修改ricci用户密码
  • 开启ricci和luci
  • 并设置开机自启

 

1)安装

server1: yum install -y ricci luci   ##高可用节点布置,高可用的图形界面管理
server2: yum install -y ricci


2)配置用户密码

server1: passwd ricci   ##给新创建出的用户ricci一个密码redhat
server2: passwd ricci   


3)开启服务
 

server1:
/etc/init.d/luci start    ##开启高可用的图形界面管理
/etc/init.d/ricci start   ##HA(高可用)节点
chkconfig ricci on        ##设置服务开机自动启动
chkconfig luci on         ##设置图形界面管理服务开机启动
chkconfig --list    ##查看开机自启项
server2:
/etc/init.d/ricci start                       
chkconfig ricci on

4)netstat -tnlp   ##查看到图形界面服务的接口是8084
浏览器访问8084接口就可以开始管理

创建集群:
https://172.25.99.1:8084
advanced-->confirm

 

登陆

create new cluster   ##创建新的集群
westos_ha               ##集群名称

create cluster   ##开始创建集群

 

 

6)检测:

cat /etc/cluster/cluster.conf   ##此时可以查看到集群的节点信息
clustat   ##可以查看到节点的工作状态

 

 

 

 

 

 

实验二:配置fence服务

 

“Fence技术”核心在于解决高可用集群在出现极端问题情况下的运行保障问题,在高可用集群的运行过程中,有时候会检测到某个节点功能不正常,比如在两台高可用服务器间的心跳线突然出现故障,这时一般高可用集群技术将由于链接故障而导致系统错判服务器宕机从而导致资源的抢夺,为解决这一问题就必须通过集群主动判断及检测发现问题并将其从集群中删除以保证集群的稳定运行,Fence技术的应用可以有效的实现这一功能。

1.物理机安装fence的相关软件包(6.5yum源)

yum search fence
yum install fence-virtd.x86_64 fence-virtd-libvirt.x86_64  fence-virtd-multicast.x86_64 -y

 

2.物理机fence初始化

mkdir /etc/cluster
fence_virtd -c     ##config 配置模块
除了Interface(br0/virtbr0)设置为br0,其余都回车默认

 

 

4.

ls /etc/cluster  ##查看秘钥是否生成

如果没有密钥目录,自己建立一个,并截取密钥

dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1

5.将修改好的密钥文件发送给节点server1和server2,保证server1和server2利用的是同一个密钥

scp fence_xvm.key root@172.25.99.1:/etc/cluster/
scp fence_xvm.key root@172.25.99.2:/etc/cluster/

6.打开fence服务

systemctl start fence_virtd.service

7.图形化设置

点击server1

 

 

 

为了确保主机名或ip不重复冲突,使用uuid

 

 

 

启动fence服务,查看端口1229

 

 

同理添加server2:vmfence-2

检测:server1:fence_node server2

##可以查看到server2进行重启,达到处理服务器死机的效果

 

 

 

实验三.负载均衡

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

默认在优先级高的设备上运行

 

 

 

切换到server2

 

 

 

查看


查看服务


server2运行


测试

 

测试高可用:

在server2中,输入echo c> /proc/sysrq-trigger ,手动宕掉服务器

再次测试curl 172.25.99.100

会发现访问切换到server1上,等server2重启成功之后,则又会切换到server2

当服务运行在优先级较高的服务器上时,若服务器宕机,服务就会自动跳转到优先级较低的且正常运行的服务器上,

当服务器恢复时,自动回切到优先级高的服务器上。

 

共享存储硬盘

环境:打开一个新的虚拟机快照server3
打开虚拟机管理器:add hardware
fdisk -l 可以查看到server3中多出的硬盘信息/dev/vda(与真实情况匹配):8589M

disk -l查看添加硬盘vda

1.安装数据库相关的包
server3:服务器

yum install -y scsi-*

编辑磁盘共享配置文件并启动服务

vim /etc/tgt/targets.conf
/etc/init.d/tgtd start

 

/etc/init.d/tgtd start    ##开启共享服务
ps ax  可以看到两个tgtd进程

server1、server2

yum install iscsi-*   mysql-server -y
 

server1客户端发现server3上的共享设备并登陆

iscsiadm -m discovery -t st -p 172.25.99.3
iscsiadm -m node -l
fdisk -l
mkfs.ext4 /dev/sdb

在客户端fdisk -l,可以发现共享过来的硬盘sdb

格式化

挂载数据库

修改该目录所有者,让数据库用户可以进行操作

在luci图形管理界面中,添加失败回切服务

添加资源

添加虚拟ip

添加数据库启动脚本

添加文件系统

添加完成

资源添加后,创建服务组

服务组添加资源(刚才新添加的三个资源)----ip、脚本、文件系统

使其运行

在设置的优先级高的server2上运行

命令切换或图形切换到server1上

clusvcadm -r sql -m server1   ##切换
clusvcadm -d sql    ##关闭
clusvcadm -e sql    ##开启

查看状态,自动挂载

进入数据库

 

在之前的配置中,apache和mysql服务在创建服务组的时候都没有勾选 Run Exclusive (运行独占

所以通过命令可以将server1上的服务转到server2上,将server2上的服务转到server1上

gfs2(global file system2):集群文件系统

gfs2(global file system2):集群文件系统,可以让多个节点同时使用同一个文件系统,当一个节点使用时会借助DLM机制通过lock_dlm进行加锁,并通知给其他节点持有的锁信息
GFS是RHCS为集群系统提供的一个存储解决方案,它允许集群多个节点在块级别上共享存储,每个节点通过共享一个存储空间,保证了访问数据的一致性,更切实的说,GFS是RHCS提供的一个集群文件系统,多个节点同时挂载一个文件系统分区,而文件系统数据不受破坏,这是单一的文件系统,例如EXT3、EXT2所不能做到的。
 

1.在server1上停掉mysql服务,发现在luci界面中mysql服务的状态已经变为disabled

2.在之前的本地文件系统中,我们向luci的资源中加入了本地文件系统ext4,现在将该资源移除:Services Groups—>remove—>submit

 

server1

pvcreate /dev/sdb
pvs
vgcreate cluster /dev/sdb
vgs
lvcreate -L 4G -n demo clustervg
lvs
mkfs.ext4 /dev/clustervg/demo
mount /dev/clustervg/demo /var/lib/mysql
df
ll =d /var/lib/mysql
chown mysql.mysql /var/lib/mysql
cd /var/lib/mysql
ls
/etc/init.d/mysqld stop
lvextend -l +1023 /dev/cluster/demo
lvs
e2fsck -f /dev/cluster/demo
resize2fs /dev/clustervg/demo
df -H

clustat

修改lvm文件系统为集群g2fs文件系统
mkfs.gfs2 -j 3 -p lock_dlm -t westos_ha:mygfs2 /dev/clustervg/demo
# 修改文件系统为gfs2格式,并做相应配置
# -j 3  为文件系统中日志的数量加1
# -p lock_dlm表示对共享存储进行操作时,加锁
# -t westos_ha:mygfs2 表示集群名称以及起的文件系统名称
# /dev/clustervg/demo  表示共享的磁盘区域

在server中识别server1中的gfs2文件系统 
gfs2_tool sb /dev/clustervg/demo all

mount /dev/clustervg/demo /var/lib/mysql
df
ll =d /var/lib/mysql
chown mysql.mysql /var/lib/mysql
blkid


server2
df
mount /dev/cluster/demo /var/lib/mysql
df
cd /var/lib/mysql
ll

server1
cp /etc/passwd /var/lib/mysql

server2
ll (passwd出现)

server1
df
umount /dev/lib/mysql
fuser -vm /var/lib/mysql

/etc/init.d/mysqld stop

mount -a
df

gfs2_tool journals /dev/clustervg/demo

图形界面
add resource to cluster
GFS2
name	dbdata
mount point	/var/lib/mysql
device	/dev/clustervg/demo
filesystem	GFS2
Force
Reboot

rhcs的卸载删除
 

umount /var/lib/mysql
vim /etc/fstab

lvremove /dev/clustervg/demo
vgremove clustervg
pvremove /dev/sdb

server1/2:
chkconfig --list
chkconfig iscsi off

iscsiadm -m node -u
iscsiadm -m node -o delete

图形界面
server1/2  --> leave cluster  --> delete

server1/2
chkconfig luci --list  -->off
chkconfig cman --list  --> off
chkconfig rgmanager --list  -->off
vim /etc/lvm/lvm.conf  --> locking_type=1
chkconfig ricci --list
chkconfig ricci off
chkconfig modclusterd --list

srver3:
chkconfig tgtd --list --> off

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值