• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >服务器运维 > 如何将有问题节点从Linux集群中脱离出来

如何将有问题节点从Linux集群中脱离出来

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含钢筋算量节点问题,节点问题,隐藏节点问题,人柱力宝箱节点问题,网络节点最小覆盖问题等服务器相关知识,网友希望可以进行参考

在之前有关数据中心高可用性系列的文章中,我们讲了如何搭建Linux高可用的架构。同时也让你知道“shoot the other node in the head使出现问题的节点从集群环境中脱离,简称:STONITH)”技术对于确保在Linux集群中共享存储集成的重要性。在本篇中,你将会学到如何实施“split brain detection分脑检测,简称:SBD)”STONITH,作为一个使用共享磁盘设备的STONITH程序,可以方便的在大部分环境中进行实施。

目前针对STONITH,有许多不同的程序可被使用。SBD STONITH的优势在于部署的方便性和可靠性。唯一的要求是Linux环境中必须有共享存储。典型意义上说,就是需要一个“光纤存储网络——storage area network”英文简称:SAN)。如果你没有一个SAN网络,你也可以使用Linux的iSCSI功能来搭建,有关iSCSI的介绍将会在之后的系列中详细阐述。

在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 <devicename> 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 <device> 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。

TechTarget中国原创内容,原文链接:http://www.searchdatacenter.com.cn/showcontent_53594.htm

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 如何将有问题节点从Linux集群中脱离出来

相关文章

  • 虚拟化需要什么样的硬件设备?
  • 模块化设计 戴尔R810服务器拆机图赏(1)
  • 四大桌面虚拟化优势你知道吗?
  • NFS服务器简单配置
  • 孤军大作战!疯狂DIY 1U硬件防火墙实录
  • Windows Server 2012下x86服务器选型(1)
  • 充分发挥服务器性能监控的最大价值
  • 关闭服务器电源能否达到节能效果
  • Dell服务器故障排除两例
  • 股市服务器并发故障 股民亏万元何处说理

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • 以魔兽世界为例 网游服务器搭建方案图解(1)
    • “步步惊心”企业Web服务器采购注意事项(1)
    • 警钟 数据中心常用消防系统介绍(1)
    • IBM要将大型机与云计算接轨?
    • 66张图解 牛人DIY中国最大“钓鱼”网站(1)
    • 实现服务器高效管理的三大技巧
    • WSUS服务器安装及配置
    • 漫画连载:什么是企业关键业务?
    • 拒绝忽悠 直击供应商的“潜在含义”
    • 存储虚拟化和服务器虚拟化紧密相关

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有