RHCS实现服务的高可用集群管理

RHCS实现nginx的高可用
图形化集群/ conga -> ricci luci(服务器套件)
实验环境:两台安装有nginx的服务,并且可以实现负载均衡
一台物理机:172.25.254.33

server5:(nginx)172.25.33.5

前提进行解析,配置好yum源
vim /etc/yum.repos.d/rhel-dvd
配置server1上的yum源,在里面添加以下内容
[HighAvailability]
name=HighAvailability
baseurl=http://172.25.11.250/rhel6.5/HighAvailability
gpgcheck=0

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

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

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

yum repolist # 刷新yum
yum install ricci luci -y
/etc/init.d/ricci start
/etc/init.d/luci start
给ricci用户设置密码
passwd ricci
设置开启自启服务
chkconfig ricci on
chkconfig luci on
具体关于nginx的负载均衡设置,点击https://blog.csdn.net/ningyuxuan123/article/details/81333408查看详情
ln -s /uar/local/nginx/sbin/nginx /sbin/
useradd -M -d /usr/local/nginx/ nginx
cd /etc/init.d/
chmod +x nginx
cd /etc/init.d
编写nginx的脚本
/etc/init.d/nginx start
vim /etc/sysconfig/selinux
SELINUX=disable

这里写图片描述
这里写图片描述

server6:(nginx)

前提进行解析,配置yum源
yum install ricci -y
/etc/init.d/ricci start
passwd ricci
chkconfig ricci on
关于nginx的操作,
ln -s /uar/local/nginx/sbin/nginx /sbin/
useradd -M -d /usr/local/nginx/ nginx
cd /etc/init.d/
chmod +x nginx
cd /etc/init.d
编写nginx的脚本
/etc/init.d/nginx start
vim /etc/sysconfig/selinux
SELINUX=disable
浏览器输入https://172.25.33.5:8084进入集群管理界面
在其它机器上访问luci服务端搭建的web站点https://storage.example.com:8084,因为用的是https来访问的,这个网页的证书没有被国际承认,浏览器认为是不安全的,就把网页内容挡住了,点击我明白这个风险,把这个网页加入到允许列表里面,才能显示出网页内容
使用管理员身份进入,密码为虚拟机的密码
第一步:创建一个新的集群
Cluster Name:集群名字,名字随便取的,不过自己要知道名字代表什么

User the Same Password for ALL Nodes:勾上这个,代表所有的节点使用ricci的密码都是一样的,那么你写了一个密码,剩下的系统会自动给你写上

Download Packages:勾上这个代表RHCS客户端在加入到集群的时候,系统会自动的去安装集群相关的服务并且运行。

Reboot Nodes Before Joining  Cluster:RHCS客户端加入到集群后,会重启

Enable shared Storage  Support:可以分享存储支持

这里写图片描述
这里写图片描述

第二步:设置优先级Failover Domains就是失效率、优先级的意思,数字越低,优先级越高,这个机器就先启动服务

这里写图片描述

第三步:添加资源(ip和script-->去设置nginx的执行脚本)
进入集群高可用的管理界面

这里写图片描述
这里写图片描述

第四步:、添加服务集群Service  Groups,设置资源开启的先后顺序,先添加ip,后添加script
Service group就是使用之前创建的失效率和资源。让某一个服务正常的运行起来
RHCS客户端被安装和集群相关的服务有以下这些,确保这些服务都运行。

无论是那个节点,只要加入到集群中来,这个节点会自动的把集群相关的服务安装的你的机器上

ricci:ricci没有起来,会一直转圈圈

Cman(cluster manager)集群管理服务:任何一个集群上的节点cman没起来,集群就起不来。集群的存与活,看集群节点上的cman是否正常(cman_tools  status命令查看集群状态)

Rgmanager: 集群资源访问控制:将当前集群的状态反应给你看(clustat  -i  1命令查看集群状态)

modclusterd:集群模块

clvmd:   集群逻辑卷,我在任何一个节点上做逻辑卷,把这个逻辑卷的信息通告给其它节点,其它节点就有这个逻辑卷的信息
/etc/init.d/nginx start
clustat查看nginx在那台主机上使用 
clustat -d nginx 表示禁用nginx
clustat -e nginx 表示重起nginx
clustat -r nginx -m server4 表示将nginx服务从server5转移到server4

主机设置解析www.westos,org 172.25.33.222
浏览器输入www.westos.org

关闭一台nginx另一台自动开启,不能手动开启nginx,集群会自己开启

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
fence管理

fence_virtd -c
systemctl restart fence_virtd
netstat -anulp 
cd /etc/cluster/
dd if=/dev/urandom of=fence_xvm.key bs=128 count=1
systemctl restart fence_virtd
scp fence_xvm.key server5:/etc/cluster/
scp fence_xvm.key server6:/etc/cluster/

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

页面管理界面添加fence设备,添加节点时的domin处写上你的uuid
点击节点,添加fence,两个节点都做如下操作
echo c > /proc/sysrq-trigger Write failed:Broken pipe系统崩溃,可以不做,停掉服务即可
nginx会自动调转另一台主机,这台主机开始重启动

这里写图片描述
这里写图片描述
这里写图片描述

RHCS实现mysql高可用

server2
yum install scsi-*
添加磁盘
vim /etc/tgt/targets.conf
<target iqn.2018-08.com.example:server.target1>
    backing-store /dev/vdb
    initiator-address 172.25.23.1
    initiator-address 172.25.23.3
</target>
/etc/init.d/tgtd start

这里写图片描述

server1 .3
yum install iscsi-*
iscsiadm -m discovery -t st -p 172.25.23.2
iscsiadm -m node -l
etc/init.d/clvmd status
 pvs
 vgs
两边保持同步
pvcreate /dev/sda
vgcreate clustervg /dev/sda
lvcreate -L 4G -n demo clustervg
lvs
mkfs.ext4 /dev/clustervg/demo 
mount /dev/clustervg/demo /var/lib/mysql
cd /var/lib/mysql
chown mysql.mysql .

这里写图片描述
这里写图片描述
这里写图片描述

这里写图片描述
server1

umount  /var/lib/mysql
/etc/init.d/mysqld stop
设置资源组,如下图

clustat发现mysql负载均衡
clusvadm -d mysql
删除fillsystem

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

server1
lvextend -L +1023 /dev/clustervg/demo 
mount /dev/cluster/demo /var/lib/mysql
cp /etc/passwd /var/lib/mysql
ls
测试:
进入server3
mount /dev/cluster/demo /var/lib/mysql
cd /var/lib/mysql
ll -d
输入输出错误,本地文件不能同时共享

这里写图片描述

server1



mkfs.gfs2 -j 3 -p lock_dlm -t mysql_1:mygfs2 /dev/clustervg/demo 
mount /dev/clustervg/demo /var/lib/mysql/
cd /var/lib/mysql/
chown mysql.mysql .
clusvcadm -d mysqld
/etc/init.d/mysqld start
gfs2_tool sb /dev/clustervg/demo all
gfs2_tool journals /dev/clustervg/demo
/etc/init.d/mysqld stop 
clusvadm -e mysql
umount /var/lib/mysql
 vim /etc/fstab
/dev/clustervg/demo  /var/lib/mysql    gfs2    _netdev    0  0
mount -a
fdisk -l
cd /var/lib/mysql
touch wangning

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

server3
vim /etc/fstab
/dev/clustervg/demo  /var/lib/mysql    gfs2    _netdev    0  0
mount -a
cd /var/lib/mysql
ls
输出在server1上的新建文件,没有输入输出错误

这里写图片描述

猜你喜欢

转载自blog.csdn.net/ningyuxuan123/article/details/81383547