概念介绍:
sbd:split brain detection(脑裂检测)
stonith: shoot the other node in the head.

 在SBD STONITH里,Linux集群的节点们使用心跳机制来保持互相之间的信息更新。如果集群中的一个节点发生错误,一条有关此节点的错误记录就会被写下并发送到共享的存储设备。当文件系统资源安全的切换到Linux集群的另一个节点上之后,此节点就必须接受这条错误信息并自己关闭自己。
 SBD STONITH是一个简单但有效的方法用来确保在Linux集群环境中数据和其他节点的集成,但是要实现这个功能的前提条件是必须能够进入SAN环境。接下去的步骤描述了如何搭建SBD STONITH环境。
1.首先,你必须创建一个小的逻辑单位(LUN)卷。理论上1MB就足够了,但是为了安全起见,最好的办法是创建一个至少一柱(一般为8MB)的SBD。接下来,你需要找到这个LUN设备独一无二的设备名称,因为这个将会被集群中的节点们看到。典型意义上来说,你会使用multipath –l命令在Linux集群中的一个节点来找出这个LUN所使用的独一无二的设备名称。

  2.现在作为root用户,从众多节点中的一个命令行开始,你需要标记你刚刚创建的SBD设备的LUN,使用sbd -d create 命令。这条命令会将SBD的信息写入设备,所以不管你使用哪个设备名称,只要你能从那个节点看到这个设备就行。确保当使用此设备工作时,你工作的设备名称不会改变。那就意味着你应该使用/dev/disk/by-id 在一开始来命名设备名称。虽然这些名字又长又丑,但是至少他们不会改变。你可以使用ls-l 命令来查阅“简单的”设备名称。所以定义这个设备/dev/disk/by-id/scsi-149455400000000000000000003000000250600000f000000 作为SBD STONITH 设备, 使用sbd -d /dev//disk/by-id/scsi-149455400000000000000000003000000250600000f000000 来创建。

  4.此时,你可以使用sbd -d /dev/disk/by-id/scsi-149455400000000000000000003000000250600000f000000 dump 命令来查看哪些被写入了此设备。这给予了你类似下文的一份输出

  Listing: Requesting current SBD information using sbd -d dump

  xen1:/dev/disk/by-id # sbd -d /dev/disk/by-id/scsi-149455400000000000000000003000000250600000f000000 dump

  Header version : 2

  Number of slots : 255

  Sector size : 512

  Timeout (watchdog) : 2

  Timeout (allocate) : 2

  Timeout (loop) : 1

  Timeout (msgwait) : 4

  4.另外,使用kernel watchdogs来建立Linux系统也是必需的,其作用是帮助系统检测在集群中是否有节点被hung住。最优的方法是使用硬件协助的warchdog。如果,由于某些原因,这个方法对你正使用的硬件不适用,你可以使用watchdog的软件版本。要操作此步骤,在集群的所有节点中,位于/etc/init.d/boot.local文件里增加一行modprobe softdog就可以。

  5.此时,你可以启动Linux高可用管理客户端以及使用用户hacluster登录。选择Configuration > Resources并点击Add。

  6.在Add窗口中,选择Primitive 类型并点击OK。接着进入ID sbd-stonith。 确保下面的几组参数设定好:

  ID: sbd

  Class: stonith

  Type: external/sbd

  7.在Instance Attributes选项卡上,你可以看到参数sbd_device当前并没有值。点击Edit,进入SBD设备的block设备名称。你必须确保block设备名称在Linux集群的所有节点上是相同的,所以确保使用/dev/disk/by-id names来完成这个操作。

  8.现在点击OK, 接着是两次Apply,在你的集群中增加资源。

  9.要完成此步骤,你还要在所有节点上创建一个文件,名为/etc/sysconfig/sbd。在此文件中,你必须定义两个参数。SBD_DEVICE 参数告诉集群软件当负载时,哪个设备必须使用SBD设备。SBD_OPTS 参数则用来告诉使用哪个开始参数。在接下去的列表中,有个例子来展示这个文件看上去的样子。千万不要忘记将sbd设备的名字放在/etc/sysconfig/sbd文件里,不然它不能正常工作。

  Listing:

  xen1:/dev/disk/by-id # cat /etc/sysconfig/sbd

  SBD_DEVICE=”/dev/disk/by-id/scsi-14945540000000000000000000300000026060 0000f000000-“

  SBD_OPTS=”-W”

  此时,STONITH就配置好了,你可以重启集群中的节点来确认是否工作正常。一旦重启了,你会看到STONITH代理从心跳管理接口直接启动。你的Linux集群现在就在一个安全区域内,所以你可以开始创建你想去保护的高可用资源。在本系列的下一篇中,你会学到如何在Linux高可用环境中搭建Apache。

LINUX sbd stonith相关推荐

  1. Linux: CentOS 7下搭建高可用集群

    转载: http://linux.cn/article-3963-1.html 本文以两台机器实现双集热备高可用集群,主机名node1的IP为192.168.122.168 ,主机名node2的IP为 ...

  2. linux高可用集群(HA)原理详解

    高可用集群 一.什么是高可用集群 高可用集群就是当某一个节点或服务器发生故障时,另一个节点能够自动且立即向外提供服务,即将有故障节点上的资源转移到另一个节点上去,这样另一个节点有了资源既可以向外提供服 ...

  3. Linux集群系统Heartbeat

    1.理论部分 1.1.群集的分类 我们用到的集群系统主要就2种: 高可用(High Availability)HA集群, 使用Heartbeat实现;也会称为"双机热备", &qu ...

  4. Linux 高可用(HA)集群之Pacemaker详解

    大纲 说明:本来我不想写这篇博文的,因为前几篇博文都有介绍pacemaker,但是我觉得还是得写一下,试想应该会有博友需要,特别是pacemaker 1.1.8(CentOS 6.4)以后,pacem ...

  5. linux lvm 系统快照,利用Linux LVM进行快照备份

    1. LVM概述 LVM的全称为Logical Volume Manager,是Linux所提供的一种对磁盘分区进行灵活管理的机制.要理解LVM,首先需要从一个Linux用户经常遇到的问题开始,那就是 ...

  6. Linux块设备驱动总结

    <Linux设备驱动程序>第十六章 块设备驱动程序读书笔记 简介 一个块设备驱动程序主要通过传输固定大小的随机数据来访问设备 Linux内核视块设备为与字符设备相异的基本设备类型 Linu ...

  7. Linux集群服务知识点总结及通过案例介绍如何实现高性能web服务

    转自:http://guodayong.blog.51cto.com/263451/1201101 一:集群相关概念及知识点介绍: LVS(Linux Virtual System) 本项目在1998 ...

  8. Linux块设备驱动程序原理

    顾名思义,块设备驱动程序就是支持以块的方式进行读写的设备.块设备和字符设备最大的区别在于读写数据的基本单元不同.块设备读写数据的基本单元为块,例如磁盘通常为一个sector,而字符设备的基本单元为字节 ...

  9. 服务器 ha linux,Linux 高可用(HA)集群之Heartbeat详解

    大纲 一.Heartbeat 的定义 二.Heartbeat 的版本与组件 三.Heartbeat 的各版本之间的区别 四.Heartbeat 集群的一般拓扑图 推荐阅读: 一.Heartbeat的定 ...

最新文章

  1. Android 面试 - compileSdkVersion、minSdkVersion、targetSdkVersion、buildToolsVersion
  2. 设计模式--解析器(Interpreter)模式
  3. 火箭轨道计算属于什么计算机技术,2018年计算机二级高级Office每日一练 2月27日...
  4. 判断整数序列是不是二元查找树的后序遍历结果
  5. 带你读AI论文:SDMG-R结构化提取—无限版式小票场景应用
  6. BIEE回写(BIEE write back)
  7. http://ilinuxkernel.com/?p=1328
  8. secureCRT/telnet工具使用技巧(二):设置快捷登录
  9. Win XP iis组件补丁(ghost xp)iis5.1
  10. 队列 front rear
  11. 如何将音视频中的伴奏背景音乐和人声分离?
  12. 数字图像信号-灰度内插
  13. fiddler相关1(安装、设置)
  14. Word修订模式:打字输入很慢怎么办?
  15. gom列表自动选择服务器,传奇服务器-传奇服务器端 GOM GEE(必看知识)
  16. 细说shiro之一:shiro简介
  17. Python入门程序
  18. python网络爬虫——爬取嗅事百科
  19. 面试题之如何用Java设计一个自动售货机
  20. matlab画立体星星教程,抖音星空画的人怎么画 制作教程完整视频步骤分享

热门文章

  1. excel中的常用技巧_在Excel中控制技巧
  2. Keil MDK warning while loop has empty body
  3. SpringBoot + Spring Security 学习笔记(一)自定义基本使用及个性化登录配置
  4. 除静电设备给我们的生产带来怎样的便利
  5. 前端训练营学习笔记——CSS排版、动画和渲染
  6. mysql 触发器 exit_MYSQL触发器和存储过程.ppt
  7. 三年级计算机课教学案例分析,小学三年级体育课教学案例分析
  8. DASCTF六月团队赛(2020)-部分WP
  9. 有哪些实用的礼物、520礼物清单推荐
  10. 局域网arp攻击_ARP攻击原理