RHCS中必须有Fence设备,在设备为知故障发生时,Fence负责让占有浮动资源的设备与集群断开。

REDHAT的fence device有两种,

内部fence设备:

IBM RSAII卡,HP的iLO卡,Dell的DRAC,还有IPMI的设备;

外部fence 设备:

UPS,SAN SWITCH,NETWORK SWITCH等。

对于外部fence 设备,可以做拔电源的测试,因为备机可以接受到fence device返回的信号,备机可以正常接管服务,

对于内部fence 设备,不能做拔电源的测试,因为主机断电后,备机接受不到主板芯片做为fence device返备的信号,就不能接管服务,clustat会看到资源的属主是unknow,查看日志会看到持续报fence failed的信息。

软fence配置

CentOS与Redhat使用KVM虚拟机做RHCS时可以通过做软fence来实现fence功能。

配置如下:

1、在真机上运行fence服务
yum list | grep --color fence
yum -y install fence-virtd fence-virtd-libvirt fence-virtd-mult

2 、创建密码文件,并密码文件scp给 web1 web2 台服务器,

宿主计算机上做:

  1. [root@localhost ~]# mkdir /etc/cluster
  2. [root@localhost ~]# dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=4K count=1
  3. 1+0 records in
  4. 1+0 records out
  5. 4096 bytes (4.1 kB) copied, 0.000848692 s, 4.8 MB/s
  6. [root@localhost ~]# ll /etc/cluster/
  7. total 4
  8. -rw-r--r-- 1 root root 4096 Mar 24 16:58 fence_xvm.key
  9. [root@localhost ~]#
  10. [root@localhost ~]# scp /etc/cluster/fence_xvm.key root@10.37.129.5:/etc/cluster/

/etc/cluster/
3、宿主机配置fencefence_virtd -c

红色为手动,其他为enter

  1. [root@localhost ~]# fence_virtd -c######
  2. Module search path [/usr/lib64/fence-virt]:
  3.  
  4. Available backends:
  5. libvirt 0.1
  6.  
  7. Listener modules are responsible for accepting requests
  8. from fencing clients.
  9.  
  10. Listener module [multicast]:
  11. No listener module named multicast found!
  12. Use this value anyway [y/N]? y#####
  13.  
  14. The multicast listener module is designed for use environments
  15. where the guests and hosts may communicate over a network using
  16. multicast.
  17.  
  18. The multicast address is the address that a client will use to
  19. send fencing requests to fence_virtd.
  20.  
  21. Multicast IP Address [225.0.0.12]:
  22.  
  23. Using ipv4 as family.
  24.  
  25. Multicast IP Port [1229]:
  26.  
  27. Setting a preferred interface causes fence_virtd to listen only
  28. on that interface. Normally, it listens on the default network
  29. interface. In environments where the virtual machines are
  30. using the host machine as a gateway, this *must* be set
  31. (typically to virbr0).
  32. Set to 'none' for no interface.
  33.  
  34. Interface [none]: private#####
  35.  
  36. The key file is the shared key information which is used to
  37. authenticate fencing requests. The contents of this file must
  38. be distributed to each physical host and virtual machine within
  39. a cluster.
  40.  
  41. Key File [/etc/cluster/fence_xvm.key]:
  42.  
  43. Backend modules are responsible for routing requests to
  44. the appropriate hypervisor or management layer.
  45.  
  46. Backend module [checkpoint]: libvirt#####
  47.  
  48. The libvirt backend module is designed for single desktops or
  49. servers. Do not use in environments where virtual machines
  50. may be migrated between hosts.
  51.  
  52. Libvirt URI [qemu:///system]:
  53.  
  54. Configuration complete.
  55.  
  56. === Begin Configuration ===
  57. backends {
  58. libvirt {
  59. uri = "qemu:///system";
  60. }
  61.  
  62. }
  63.  
  64. listeners {
  65. multicast {
  66. interface = "private";
  67. port = "1229";
  68. family = "ipv4";
  69. address = "225.0.0.12";
  70. key_file = "/etc/cluster/fence_xvm.key";
  71. }
  72.  
  73. }
  74.  
  75. fence_virtd {
  76. module_path = "/usr/lib64/fence-virt";
  77. backend = "libvirt";
  78. listener = "multicast";
  79. }
  80. === End Configuration ===
  81. Replace /etc/fence_virt.conf with the above [y/N]? y
  82. [root@localhost ~]#

4、启动fence服务并开机运行

  1. /etc/init.d/fence_virtd start
  2. chkconfig fence_virtd on

#luci添加软fence


#

Fence 设备的更多相关文章

  1. RHCS高可用集群配置(luci+ricci+fence)

    一.什么是RHCS    RHCS是Red Hat Cluster Suite的缩写,也就是红帽集群套件,RHCS是一个能够提供高可用性.高可靠性.负载均衡.存储共享且经济廉价的集群工具集合,它将集群 ...

  2. DRBD分布式块设备复制

    一. DRBD介绍 1.1.数据镜像软件DRBD介绍分布式块设备复制(Distributed Relicated Block Deivce,DRBD),是一种基于软件.基于网络的块复制存储解决方案,主 ...

  3. VMware下CentOS6.8配置GFS文件系统

    1.GFS介绍 GFS简要说明,它有两种: 1. Google文件系统:GFS是GOOGLE实现的是一个可扩展的分布式文件系统,用于大型的.分布式的.对大量数据进行访问的应用.它运行于廉价的普通硬件上 ...

  4. Linux 集群

    html,body { } .CodeMirror { height: auto } .CodeMirror-scroll { } .CodeMirror-lines { padding: 4px 0 ...

  5. RedHat 6.7 Enterprise x64环境下使用RHCS部署Oracle 11g R2双机双实例HA

     环境 软硬件环境 硬件环境: 浪潮英信服务器NF570M3两台,华为OceanStor 18500存储一台,以太网交换机两台,光纤交换机两台. 软件环境: 操作系统:Redhat Enterpris ...

  6. RedHat 6.7 Enterprise x64环境下使用RHCS部署Oracle 11g R2双机HA

    环境 软硬件环境 硬件环境: 浪潮英信服务器NF570M3两台,华为OceanStor 18500存储一台,以太网交换机两台,光纤交换机两台. 软件环境: 操作系统:Redhat Enterprise ...

  7. RHCS

    简介 Red Hat Cluster Suite :红帽子集群套件 高可用性.高可靠性.负载均衡.存储共享 高可用集群是 RHCS 的核心功能.当应用程序出现故障,或者系统硬件. 网络出现故障时,应用 ...

  8. 转:Linux集群-----HA浅谈

    通过特殊的软件将若干服务器连接在一起并提供故障切换功能的实体我们称之为高可用集群.可用性是指系统的uptime,在7x24x365的工作环境中,99%的可用性指在一年中可以有87小时36分钟的DOWN ...

  9. Rhel6-集群管理(luci&&ricci)配置文档

    理论基础: User → HA →     Lb    → web → sql → 分布式filesystem ->磁盘I/O 用户   高可用 负载均衡    应用   数据库      mf ...

随机推荐

  1. Centos7开启防火墙并且使MYSQL外网访问开放3306端口

    http://www.cnblogs.com/kreo/p/4368811.html CentOS7默认防火墙是firewalle,不是iptables #先检查是否安装了iptables servi ...

  2. 2014 UESTC 暑前集训队内赛(1) 解题报告

    A.Planting Trees 排序+模拟 常识问题,将耗时排一个序,时间长的先种,每次判断更新最后一天的时间. 代码: #include <iostream> #include < ...

  3. Android Sdk 和ADT Eclipse安装配置步骤

    由于我们之前下载的jdk版本是1.6的,所以后面的andriod  sdk等版本需要相对应.安装文件我都放在云盘里面,需要的可以下载 一:如果单独安装每一个软件,先期需要下载的软件包如下: 1.JDK ...

  4. Unity中小地图做法

    FPS游戏的小地图 在FPS的这个Demo中,制作了一个小地图,效果图如下 主相机设置 下面来看一下,主相机的设置 解释 通过上面两幅图,能够看出来两个摄像机所渲染的Layer不一样,当然它们所在的L ...

  5. MongoDB学习(四)客户端工具备份数据库

    在上一篇MongoDB学习(三)中讲解了如何在服务器端进行数据的导入导出与备份恢复,本篇介绍下如何利用客户端工具来进行远程服务器的数据备份到本地. 以客户端工具MongoVUE为例来进行讲解: 1.首 ...

  6. 如何获取内联样式的width值

    如图,如何获取内联样式的width值 不用attr 用css这样写

  7. 第三章 Models模块属性详解

    摘自:http://www.cnblogs.com/xdotnet/archive/2012/03/07/aspnet_mvc40_validate.html 了解了这些就可以对MVC进一步认识,相信 ...

  8. MAC中设置android adb环境变量

    1.找到android sdk的本地路径, adb命令在platform-tool下面,记为XXXX 我的路径是(/Applications/eclipse/android-sdk-mac_x86/p ...

  9. scrapy 爬取自己的博客

    定义项目 # -*- coding: utf-8 -*- # items.py import scrapy class LianxiCnblogsItem(scrapy.Item): # define ...

  10. 动态执行SQL语句

    在实际制作过程中,需要动态的拼接SQL语句然后执行.具体代码如下: declare @columnName varchar(20),@tempName varchar(20) select @temp ...