HA高可用集群(ricci+luci+fence_virted)

来源:互联网 发布:gtp吉他谱软件 编辑:程序博客网 时间:2024/06/03 17:02

实验准备:两台redhat6.5的虚拟机server1 172.25.20.1 server4 172.25.20.4,一台安装fence_virtd的物理机

一.使用集群管理工具ricci和集群图形化工具luci搭建集群

1.两台虚拟机分别配置yum源,添加高可用性、负载均衡、存储、文件系统

cd /var/www/html/rhel6.5lsvim /etc/yum.repos/rhel-sorce.repo

HighAvailability是高可用相关软件包,LoadBalancer是负载均衡相关软件包。
yum repolist 查看

2.server1安装ricci,luci
server4 安装 ricci,
ricci安装完成后,passwd ricci设置密码
luci和ricci搭建在一个虚拟机里,luci服务也需要开机自启动 chkconfig luci on

/etc/init.d/ricci startchkconfig ricci on

3.创建节点:
Luci服务的端口是8084,https协议访问。
浏览器输入 https://172.25.20.1:8084

create new cluster

cat /etc/cluster/cluster.confclustat

二、Fence机制

当集群其中节点网络出现故障,互相之间无法通信,会以为对方出现故障,从而都会接管资源,此时出现资源争抢。Fence机制是直接将故障节点掉电。防止资源争抢

1.安装fence_virtd

fence_virtd -c

Module search path [/usr/lib64/fence-virt]:
Listener module [multicast]: ##多播
Multicast IP Address [225.0.0.12]: ##多播ip
Multicast IP Port [1229]: ##多播端口号
Interface [br0]:
Key File [/etc/cluster/fence_xvm.key]: ##key文件路径
Backend module [libvirt]:
Configuration complete.
=== Begin Configuration ===
fence_virtd {
listener = “multicast”;
backend = “libvirt”;
module_path = “/usr/lib64/fence-virt”;
}

listeners {
multicast {
key_file = “/etc/cluster/fence_xvm.key”;
address = “225.0.0.12”;
interface = “br0”;
family = “ipv4”;
port = “1229”;
}

}

backends {
libvirt {
uri = “qemu:///system”;
}

}

=== End Configuration ===

生成key文件

 systemctl  scp /etc/cluster/fence_xvm.key root@172.25.20.1:/etc/cluster/ scp /etc/cluster/fence_xvm.key root@172.25.20.4:/etc/cluster/ systemctl restart fence_virted

5.创建fence设备
浏览器输入 https://172.25.20.1:8084

选择Nodes server1

Domain为server1uuid

server4同理.

cat /etc/cluster/cluster.conf 可查看fence设置
测试一,直接fence server1,server4会接管集群资源,server1断电后,重新启动。
[root@server4 ~]# fence_node server1

测试二,down掉server1的虚拟网卡eth0,fence机制检测到server1网络有问题,server4接管集群资源,server1断电,重新启动。
[root@server1 ~]# ip link set eth0 down

三.集群的故障转移域

1.failover domains,Prioritized,设定集群节点优先级;Pestricted,指定在特定的节点上运行服务;No Failback,不回切机制,当故障节点恢复后,集群资源不回切。

2.给集群添加VIP资源,全局。resource,设置虚拟ip

3.给集群添加httpd服务,全局。必须为节点中已经存在的服务或自定义脚本

4.给集群创建一个服务组,并添加VIP资源和httpd资源service group



5.测试:
server1和server4均安装httpd

yum install -y httpdclustatip addr #server1优先级高,vip在server1上

server1/etc/init.d/httpd stop #集群健康检查,server4接管服务

echo c > /proc/sysrq-trigger使server4内核发生故障
server1 /etc/init.d/httpd start #server1重新接管服务

server1,server4编写/var/www/html/index.html 后,
浏览器输入 虚拟ip 172.25.20.100 即可访问正在工作的虚拟机发布页

原创粉丝点击