8、RedHat6 集群Fence

RedHat6 集群Fence

实验目的:

掌握集群Fence理论和配置

Fence概念:

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

Fence分类:

硬件Fence:电源Fence,通过关掉电源来踢掉坏的服务器

软件Fence:Fence卡(智能卡),通过线缆、软件来踢掉坏的服务器

实际坏境中,Fence卡连接的都是专线,使用专用的Fence网卡,不会占用数据传输线路,这样,更能保证稳定及可靠性。

Fence卡的IP网络和集群网络是相互依存的

实验步骤:

由于实际情况的限制,没有真实的Fence卡,所用我们用fence服务来虚拟出Fence卡

在iscsi服务器上安装fence服务,把iscsi服务器当成fence卡

安装fence卡,你只需要安装fence-virtd-libvirt.x86_64和fence-virtd-multicast.x86_64这两个软件就可以了

[[email protected] ~]# yum list  |  grep fence

Repository ResilientStorage is listed morethan once in the configuration

Repository ScalableFileSystem is listedmore than once in the configuration

fence-agents.x86_64                        3.1.5-10.el6                @Cluster

fence-virt.x86_64                          0.2.3-5.el6                 @Cluster

fence-virtd.x86_64                         0.2.3-5.el6                 base

fence-virtd-checkpoint.x86_64              0.2.3-5.el6                 Cluster

fence-virtd-libvirt.x86_64                 0.2.3-5.el6                 base

fence-virtd-libvirt-qpid.x86_64            0.2.3-5.el6                 optional

fence-virtd-multicast.x86_64               0.2.3-5.el6                 base

fence-virtd-serial.x86_64                  0.2.3-5.el6                 base

[[email protected] ~]# yum  -y  install fence-virtd-libvirt.x86_64 fence-virtd-multicast.x86_64

[[email protected] ~]# mkdir /etc/cluster

[[email protected] ~]# cd /etc/cluster

[[email protected] cluster]# dd   if=/dev/random   of=/etc/cluster/fence_xvm.key  bs=4k  count=1  
创建fence卡的key文件,让节点服务器和Fence卡相互认识

0+1 records in

0+1 records out

73 bytes (73 B) copied, 0.000315063 s, 232kB/s

random:为随机数字生成器,生成的东西是唯一的

fence_xvm.key:Fence卡的key文件,名字别改,fence_xvm是fence卡的一种类型

把fence的key文件分发给各个节点服务器

[[email protected]]#scp/etc/cluster/fence_xvm.key  172.17.0.1:/etc/cluster/fence_xvm.key

[email protected]‘s password:

fence_xvm.key                                                             100%   73     0.1KB/s  00:00

[[email protected] cluster]# scp  /etc/cluster/fence_xvm.key   172.17.0.2:/etc/cluster/fence_xvm.key

[email protected]‘s password:

fence_xvm.key                                                             100%   73     0.1KB/s  00:00

对fence服务的配置文件/etc/fence_virt.conf做配置策略:

[[email protected] cluster]# fence_virtd   -c

Module search path[/usr/lib64/fence-virt]:

//模块搜索路径,回车使用默认的

Available backends:

libvirt 0.1

Available listeners:

multicast 1.1

Listener modules are responsible foraccepting requests

from fencing clients.

Listener module [multicast]:

//监听组播模块,回车选择默认

The multicast listener module is designedfor use environments

where the guests and hosts may communicateover a network using

multicast.

The multicast address is the address that aclient will use to

send fencing requests to fence_virtd.

Multicast IP Address[225.0.0.12]:

组播IP地址选择,回车选择默认的225.0.0.12

Using ipv4 as family.

Multicast IP Port [1229]:

//组播IP端口选择,回车选择默认的1229

Setting a preferred interface causes fence_virtdto listen only

on that interface.  Normally, it listens on all interfaces.

In environments where the virtual machinesare using the host

machine as a gateway, this *must* be set(typically to virbr0).

Set to ‘none‘ for no interface.

Interface [none]: private

//Fence卡使用那个接口来和集群网络来通讯(fence卡的专用接口和集群网络在同一网段)

The key file is the shared key informationwhich is used to

authenticate fencing requests.  The contents of this file must

be distributed to each physical host andvirtual machine within

a cluster.

Key File[/etc/cluster/fence_xvm.key]:

//是否是对/etc/cluster/fence_xvm.key这个文件做策略,回车选择默认的

Backend modules are responsible for routingrequests to

the appropriate hypervisor or managementlayer.

Backend module [checkpoint]:libvirt

//模块基于那个协议,填写libvirt

The libvirt backend module is designed forsingle desktops or

servers. Do not use in environments where virtual machines

may be migrated between hosts.

Libvirt URI [qemu:///system]:

Configuration complete.

=== Begin Configuration ===

backends {

libvirt{

uri= "qemu:///system";

}

}

listeners {

multicast{

interface= "eth0";

port= "1229";

family= "ipv4";

address= "225.0.0.12";

key_file= "/etc/cluster/fence_xvm.key";

}

}

fence_virtd {

module_path= "/usr/lib64/fence-virt";

backend= "libvirt";

listener= "multicast";

}

=== End Configuration ===

Replace /etc/fence_virt.confwith the above [y/N]? y

//输入y保存配置

启动fence服务:

[[email protected] cluster]# /etc/init.d/fence_virtd  restart

Stopping fence_virtd:                                      [FAILED]

Starting fence_virtd:                                      [  OK  ]

[[email protected] cluster]# chkconfig  fence_virtd on

把fence卡加入到集群:

Fence Dervices中点击add来添加fence卡(虚拟的)

打开【Select  a  fence device】选择【Fence virt(Multicast  Mode)】,名字写这个Fence卡名字

虚拟的Fence设备添加完成后,界面如下:

把Fence卡添加到各个节点中去

添加fence卡到Node1中:

选择【Node】,然后点击Node1节点的界面,找到下图位置添加Fence

取名根据自己需要,只要能识别即可

然后点击【Add Fence Instance】,添加Fence实咧

选择Fence1这个Fence卡,这里的domain指的的是node1.private.cluster0.example.com中的node1

添加Fence卡到Node2中:

把界面换到节点2中

找到下图位置,点击【Add  Fence  Method】

给Fence  Method起名字

点击【Add Fence Instance】

选择Fence1这个Fence卡,这里的domain指的的是node2.private.cluster0.example.com中的node2

手动fence剔除:

[[email protected] ~]#
fence_node  node1

fence node1   success

实验效果:node1会重启两次

时间: 2024-10-05 06:12:25

8、RedHat6 集群Fence的相关文章

gfs2共享集群存储

本文系统Centos 6.5 x64 共四台主机, 192.168.100.128 Aries.lansgg.com               存储共享服务器192.168.100.129 node1.lansgg.com             测试客户端192.168.100.130 node2.lansgg.com             测试客户端 192.168.100.131 node3.lansgg.com             测试客户端 目的:存储server通过iscsi

HA高可用集群部署(ricci+luci+fence) 双机热备

主机环境 redhat6.5 6位 实验环境 服务端1 ip172.25.29.1   主机名:server1.example.com   ricci     服务端2 ip172.25.29.2    主机名:server2.example.com    ricci     管理端1 ip172.25.29.3    主机名:server3.example.com    luci     管理端2 ip172.25.29.250     fence_virtd 防火墙状态:关闭 1. 安装ri

conga下HA高可用集群的搭建(redhat6.5)

实验环境 redhat6.5虚拟机三台,各1G内存,时间同步 server1  172.25.44.1 server2  172.25.44.2 server3  172.25.44.3 火墙和selinux均处于关闭状态 编辑/etc/hosts文件,加入解析 不支持在集群节点中使用 NetworkManager.如果已经在集群节点中安装了 NetworkManager,应该删除或者禁用该程序. server1  server2 ricci节点 (1).yum源配置 vim /etc/yum.

Redhat6.5下MySQL5.6集群配置完整版

1.准备三台服务器 2.为三台机器分别安装Linux操作系统(Oracle Linux / RHEL 6.5 x86_64bit) 3.分别IP地址 管理节点      192.168.1.110         (负责管理整个集群) SQL节点       192.168.1.111         (负责操作数据库) SQL节点       192.168.1.112         (负责操作数据库) 数据节点      192.168.1.111         (负责存储数据) 数据节

集群 Ricci&&luci   Fence机制

一 Ricci&&luci Server1和server4做同样的操作, (1)配置yum 源 [HighAvailability] name=HighAvailability baseurl=http://172.25.21.250/rhel6.5/HighAvailability gpgcheck=0 [LoadBalancer] name=LoadBalancer baseurl=http://172.25.21.250/rhel6.5/LoadBalancer gpgcheck=0

Linux的企业-高可用集群Haproxy+corosync+pacemaker+fence

一.Haproxy简介 Haproxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性.负载均衡,以及基于TCP和HTTP的应用程序代理. HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理.HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接.并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上. 二.HAProxy的特点1.支持两种代理模式:TCP(四层)和HTTP(七层),支持虚

高可用集群中fence的配置

通过上一节我们已经知道了如何在集群中添加资源,下面我们来看下如何配置fence设备(也称为stonith). 先了解什么是fence 每个节点之间互相发送探测包进行判断节点的存活性.一般会有专门的线路进行探测,这条线路称为"心跳线"(上图直接使用eth0线路作为心跳线).假设node1的心跳线出问题,则node2和node3会认为node1出问题,然后就会把资源调度在node2或者node3上运行,但node1会认为自己没问题不让node2或者node3抢占资源,此时就出现了脑裂(sp

在redhat6.4安装redis集群

参考: http://redis.io/topics/cluster-tutorial(主要是Creating a Redis Cluster using the create-cluster script部分) https://ruby.taobao.org/ 安装一款不熟悉的软件前先看INSTALL,README,这是习惯,生产上要建立普通用户并调节适当参数,下面是以root身份安装运行. 下载解压并安装redis make test提示需要更高版本的tcl,跳到安装过程可能遇到的问题 wg

redhat6.5 redis单节点多实例3A集群搭建

在进行搭建redis3M 集群之前,首先要明白如何在单节点上完成redis的搭建. 单节点单实例搭建可以参看这个网:https://www.cnblogs.com/butterflies/p/9628207.html 完成单节点的redis搭建之后,修改配置文件,开启集群模式,修改配置文件生成的目录,修改位对应的端口,即可完成单节点多实例的redis集群搭建. 一:多实例配置文件生成和修改 1 配置文件拷贝 cp /usr/local/redis/etc/redis.conf /usr/loca