概述:
HA(High Available),高可用集群,是减少服务中断时间为目的的服务器集群技术。是保证业务连续性的有效解决方案。
集群,简单的来说就是一组计算机。一般有两个或者两个以上的计算机组成,这些组成集群的计算机被称为节点。
其中由两个节点组成的集群被称为双机热备,即使用两台服务器互相备份,当其中一台服务器出现问题时,
另一台服务器马上接管服务,来保护用户的业务程序对外不间断提供的服务,当然集群系统更可以支持两个以上的节点,
提供比双机热备更多、更高级的功能,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度。
在集群中为了防止服务器出现“脑裂”的现象,集群中一般会添加Fence设备,有的是使用服务器本身的的硬件接口称为内部Fence,
有的则是外部电源设备称为外部Fence,当一台服务出现问题响应超时的时候,Fence设备会对服务器直接发出硬件管理指令,将服务器重启或关机,并向其他节点发出信号接管服务。
在红帽系统中我们通过luci和ricci来配置管理集群,其中luci安装在一台独立的计算机上或者节点上,luci只是用来通过web访问来快速的配置管理集群的,
它的存在与否并不影响集群。ricci是安装在每个节点上,它是luci与集群给节点通信的桥梁。
实验环境:
server1: 172.25.66.1 HA1 (高可用节点:ricci) , 管理节点(luci)
server2: 172.25.66.2 HA2 (高可用节点:ricci)
物理机: 172.25.66.254 fence端
防火墙状态:关闭
1.配置fence
1.配置yum源
#1.查看镜像文件
[root@foundation66 ~]# cd /var/www/html/rhel6.5
[root@foundation66 rhel6.5]# ls
#2.配置yum源
[root@server1 ~]# vim /etc/yum.repos.d/rhel-source.repo
#################
[HighAvailability] #高可用
name=HighAvailability
baseurl=http://172.25.66.254/rhel6.5/HighAvailability
gpgcheck=0
[LoadBalancer] #负载均衡
name=LoadBalancer
baseurl=http://172.25.66.254/rhel6.5/LoadBalancer
gpgcheck=0
[ResilientStorage] #存储
name=ResilientStorage
baseurl=http://172.25.66.254/rhel6.5/ResilientStorage
gpgcheck=0
[ScalableFileSystem] #文件系统
name=ScalableFileSystem
baseurl=http://172.25.66.254/rhel6.5/ScalableFileSystem
gpgcheck=0
#清理缓存
[root@server1 ~]# yum clean all
#3.列出yum源的详细信息,检测yum源是否配置成功
[root@server1 ~]# yum repolist
#4.传输yum源文件
[root@server1 ~]# scp /etc/yum.repos.d/rhel-source.repo root@172.25.66.2:/etc/yum.repos.d/
#清理缓存
[root@server2 ~]# yum clean all
#列出yum源的详细信息
[root@server2 ~]# yum repolist
2.安装ricci、luci软件并设定ricci用户密码
在server1上:
#1.安装软件,luci:图形管理界面 ricci:
[root@server1 ~]# yum install -y luci ricci
#查看到自动生成了ricci用户
[root@server1 ~]# cat /etc/passwd
#2.设定用户密码
[root@server1 ~]# passwd ricci
#3.开启ricci服务
[root@server1 ~]# /etc/init.d/ricci start
#4.开启luci服务
[root@server1 ~]# /etc/init.d/luci start
#查看端口
[root@server1 ~]# netstat -tnlp
#5.设定开机自动启动
[root@server1 ~]# chkconfig ricci on
[root@server1 ~]# chkconfig luci on
在serve2上:
#1.安装ricci软件
[root@server2 ~]# yum install -y ricci
#可查看到自动生成了ricci用户
[root@server2 ~]# cat /etc/passwd
#2.设定用户密码
[root@server2 ~]# passwd ricci
#3.开启ricci服务
[root@server2 ~]# /etc/init.d/ricci start
#4.设定开机自动启动
[root@server2 ~]# chkconfig ricci on
3.登陆并添加集群
输入: https:/172.25.66.1:8084 (luci的端口为8084)
登陆:(用server1的root用户登陆,因为luci图形管理器在server1结点上)
添加集群:
集群添加好后server1和server2会自动重启,从而断开ssh连接
4.检测集群是否添加成功
在server1上:
#1.重新连接
[root@foundation66 images]# ssh root@172.25.66.1
#2.查看集群配置
[root@server1 ~]# cat /etc/cluster/cluster.conf
注意:成功添加集群的前提是:必须先做好server1和server2主机上的解析
# 注意:一定要做好解析,因为写的都是主机名,而不是ip
[root@server1 ~]# cat /etc/hosts
#3.查看集群的状态
[root@server1 ~]# clustat
在server2上:
#1.重新连接
[kiosk@foundation66 ~]$ ssh root@172.25.66.2
#2.查看集群配置
[root@server2 ~]# cat /etc/cluster/cluster.conf
#3.查看集群的状态
[root@server2 ~]# clustat
5.添加fence设备
6.安装fence和配置fence
在物理机上:
#1.安装fence
[root@foundation66 ~]# yum install -y fence-virtd.x86_64 fence-virtd-libvirt.x86_64 fence-virtd-multicast.x86_64
#2.配置fence
[root@foundation66 ~]# fence_virtd -c
7.生成key并发送key
在物理机上:
[root@foundation66 ~]# ll -d /etc/cluster
ls: cannot access /etc/cluster: No such file or directory
#1.建立目录
[root@foundation66 ~]# mkdir /etc/cluster
[root@foundation66 ~]# cd /etc/cluster/
#2.dd截取,生成key
[root@foundation66 cluster]# dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1
1+0 records in
1+0 records out
128 bytes (128 B) copied, 0.000204459 s, 626 kB/s
[root@foundation66 cluster]# ls
fence_xvm.key
# cat无法查看key
[root@foundation66 cluster]# cat fence_xvm.key
# hexdump方式便可查看key
[root@foundation66 cluster]# hexdump -C fence_xvm.key
#3.发送key
[root@foundation66 cluster]# scp fence_xvm.key root@172.25.66.1:/etc/cluster
root@172.25.66.1's password:
fence_xvm.key 100% 128 334.6KB/s 00:00
[root@foundation66 cluster]# scp fence_xvm.key root@172.25.66.2:/etc/cluster
root@172.25.66.2's password:
fence_xvm.key 100% 128 296.6KB/s 00:00
#4.查看key是否发送成功
[root@server1 ~]# cd /etc/cluster/
[root@server1 cluster]# ll
total 12
-rw-r----- 1 root root 322 Feb 15 11:09 cluster.conf
drwxr-xr-x 2 root root 4096 Sep 16 2013 cman-notify.d
-rw-r--r-- 1 root root 128 Feb 15 11:23 fence_xvm.key
[root@server2 ~]# cd /etc/cluster/
[root@server2 cluster]# ll
total 12
-rw-r----- 1 root root 322 Feb 15 11:09 cluster.conf
drwxr-xr-x 2 root root 4096 Sep 16 2013 cman-notify.d
-rw-r--r-- 1 root root 128 Feb 15 11:23 fence_xvm.key
8.关联HA结点和fence设备
关联server1结点:(HA1)