linux之RHCS集群---Ricci+Luci+Fence_virtd实现web访问的高可用性

什么是rhcs

Ricci: ricci是安装在每个后端的每个节点上的,且监听在11111上,luci管理集群上的各个节点就是通过和节点上的ricci进行通信

Luci:luci是用来配置和管理集群,监听在8084上

Fence:1.作用:在HA集群坏境中,备用服务器B通过心跳线来发送数据包来看主服务器A是否还活着,主服务器A接收了大量的客户端访问请求,服务器A的CPU负载达到100%响应不过来了,资源已经耗尽,没有办法回复服务器B数据包时,(回复数据包会延迟),服务器B认为服务器A已经挂了,于是备用服务器B把资源夺过来,自己做主服务器,过了一段时间服务器A响应过来了,服务器A觉得自己是老大,服务器B觉得自己也是老大,他们两个就挣着抢夺资源,集群资源被多个节点占有,两个服务器同时向资源写数据,破坏了资源的安全性和一致性,这种情况的发生叫做“脑裂”。服务器A负载过重,响应不过来了,有了Fence机制,Fence会自动的把服务器A给kill掉,以阻止“脑裂”的发生。

2.原理:当意外原因导致主机异常或者宕机时,备机会首先调用FENCE设备,然后通过FENCE设备将异常主机重启或者从网络隔离,当FENCE操作成功执行后,返回信息给备机,备机在接到FENCE成功的信息后,开始接管主机的服务和资源。这样通过FENCE设备,将异常节点占据的资源进行了释放,保证了资源和服务始终运行在一个节点上。

3.类型:硬件Fence:电源Fence,通过关掉电源来踢掉坏的服务器 软件Fence:Fence卡(智能卡),通过线缆、软件来踢掉坏的服务器 。

二. 实验环境
主机环境 RedHat6.5 64位 实验环境

服务端1 ip 172.25.14.1 主机名:server1 ricci luci(为了提供Conga配置用户界面)

服务端2 ip 172.25.14.2 主机名:server2 ricci

管理端2 ip 172.25.14.2 fence_virtd 防火墙状态:关闭
三. 安装配置
1.安装ricci
server1和server2上安装ricci

yum install -y ricci passwd ricci #设置ricci用户的密码
/etc/init.d/ricci start #启动 chkconfig ricci on #开机自启
2、安装luci,其中一台安装即可,是为了提供页面的访问
yum install luci -y
/etc/init.d/luci start #启动luci
chkconfig luci on #设置开机自启

  1. 创建节点
    ##:操作之前需在几个节点之间配置好解析

通过网页登录到管理界面来进行配置 https://172.25.100.1:8084 ##:luci默认端口为8084
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可查看生成的文件:
在这里插入图片描述
在这里插入图片描述
2.下载fence软件–在真机下载

扫描二维码关注公众号,回复: 9700363 查看本文章

1.yum search fence #查询一下
2.yum install fence-virtd.x86_64 fence-virtd-libvirt.x86_64 fence-virtd-multicast.x86_64 -y #安装fence所需软件

2.配置fence

1.mkdir /etc/cluster
2. dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128M count=1 #创建密钥
3. scp fence_xvm.key [email protected]:/etc/cluster/#将钥匙发送到server1和server2/etc/
4. scp fence_xvm.key [email protected]:/etc/cluster/

在这里插入图片描述
3、页面添加fence
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.爆头测试
server1up server2down的时候在这里插入图片描述
在这里插入图片描述
四、建立错误恢复域
在这里插入图片描述
2.添加vip资源在这里插入图片描述
选中Prioritized、Restricted(只在指定节点跑)、No Failback(资源故障不回切),选中下方的server1和server2的Member并输入优先级,这里server1输入1,server2输入10,就是以server1为主节点,数字越小优先级越高;
3.t添加集群服务
这里需要注意
需要先添加ip,再添加脚本启动服务;
点击Resources,点击Add,选择模式IP Address,输入IP和NETMASK,IP不能被占用,这个IP就是VIP,点击Submit
点击ServiceGroups,点击Add,输入一个自定义名称,例如”apache“,选中”Automatically Start This Service“(集群自动开启)和”Run Exclusive“(运行独占),选中”FailoverDomain”下刚才创建的”webfile“,”Recovery Policy”选择”Relocate“,点击下方AddResource,选择之前创建的Resources,因为有两个,所以需要添加两次,完成后点击Submit;
4、添加服务组
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试的前提是两台都配置好了http服务以及测试网页
在这里插入图片描述
在这里插入图片描述
客户端测试
此时server1和server2都正常,但server1优先级高,所以httpd在server1开启在这里插入图片描述
测试2: 将server1的httpd服务关闭
在这里插入图片描述
在这里插入图片描述
关闭网络服务后,fence控制server2的电源,强制关机,web服务切换到server1上,不会影响客户使用,server2重启后,web服务不回切,保证了最少的服务变动,提高服务整体稳定性,进而不影响用户体验。
在这里插入图片描述

实现磁盘共享

server3上安装共享存储所需要的软件(高级yum源)
yum install scsi-* -y
在这里插入图片描述
server3添加一块新的硬盘设备,用于共享在这里插入图片描述

2、在server1、server2上安装客户端iscsi

yum install iscsi-* -y

3、在server3上配置共享策略,开启服务,查看
vim /etc/tgt/targets.conf

/etc/init.d/tgtd start #启动服务
tgt-admin -s
在这里插入图片描述
4、在server1、server2上查看并激活共享的存储

iscsiadm -m discovery -t st -p 172.25.7.3 #查看共享存储
iscsiadm -m node -l #激活共享存储
fdisk -l

在这里插入图片描述

server1上创建分区,一个上面操作即可:
在这里插入图片描述
6、格式化共享设备(只在一台设备上操作)
在这里插入图片描述
7、同步分区表
server1上做了之后server2也会同步查看到,
8、servere1客户端建立lvm

1.pvcreate /dev/sdb1 pvs
2.vgcreate dangdang /dev/sdb1
vgs
3.lvcreate -L 1G -n dd dangdang lvs
在这里插入图片描述

格式化分区,将/dev/dangdang/dd挂载起来,加入挂载到/mnt下,在/mnt目录下写入3个文件,卸载,挂载到server2上的/opt下,查看,可以看到那3个文件
格式化分区
在这里插入图片描述
挂载建立文件,卸载
在这里插入图片描述

网页上图形化存储

1、添加资源
在这里插入图片描述
将增加的文件系统加到集群组里:
在这里插入图片描述
添加子资源
这里需要注意添子资源的顺序
1、先测试IP是否通
2、ip通,挂载文件
3、最后启动http服务
在这里插入图片描述
在这里插入图片描述
数据的迁移并不会影响客户端的使用。

发布了57 篇原创文章 · 获赞 0 · 访问量 1315

猜你喜欢

转载自blog.csdn.net/weixin_45674039/article/details/103674943
今日推荐