常见集群(Cluster)软件和技术解析

常见集群(Cluster)软件和技术解析常见集群(Cluster)软件和技术解析

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

常见集群(Cluster)软件和技术解析

集群就是通过软件将一组服务器作为一个整体向客户提供资源。这些单个的服务器就是集群的节点。当对外提供资源的节点故障后,集群中其余的节点能够将资源接管起来,继续对客户提供资源

集群技术的核心就是资源访问控制。由于集群中所有节点都可以访问集群对外共享的资源,当多个节点同时操作同一个资源的时候,就可能引发问题。例如节点A要对共享的存储进行写数据操作,如果节点B也要对相同位置的存储进行写操作,则会引发数据不一致的后果。

一般情况,根据集群资源访问控制技术的发展,我们可以将集群分为无预留模式SCSI-2预留模式和SCSI-3预留模式集群。不同模式的集群对存储系统的要求是不同的。

最开始的时候,集群的模式为无预留。该模式下,最常见的控制方式是控制卷组状态。此时集群节点访问LUN的过程如下。

  • 1. 集群节点上对LUN创建卷组、逻辑卷。

  • 2. 集群节点启动集群业务。

  • 3. 集群判断哪个节点是主节点、哪个节点是备节点。

  • 4. 集群在主节点激活卷组、挂载逻辑卷。

  • 5. 集群在备节点去激活卷组,确保无法访问逻辑卷。

这种工作模式下,对存储系统并没有额外的要求,只需要映射的LUN能够在操作系统上创建卷组、逻辑卷并正常读写即可。集群控制每个节点对LUN的访问是通过控制节点上卷组的状态来实现的。

这种方式实现起来是最简单的,但是有一个非常严重的缺陷就是心跳不能出现问题。一旦出现脑裂(集群节点间心跳通信断开),集群节点间相互失去了联系,则每个节点都会误认为对方出现故障,从而引发节点抢占资源的情况。

另外,在一个共享存储的环境下,多台前端主机可能会同时访问同一台存储设备,如果此时多台主机在同一时点上对一个LUN进行写操作,那么可想而知这个LUN将不知道哪个数据先写,哪个数据后写。为了防止这种情况发生而导致的数据损坏,所以就有了SCSI预留概念。通过SCSI Reservation机制来进行数据读写的操作,目前绝大多数的磁盘和阵列都支持SCSI reservvation命令。如果一台主机给磁盘阵列传输了一条SCSI Reservation命令,则这个磁盘阵列对于其他的主机就处于锁定状态。

如果有其他的主机给已经被锁定的磁盘发送读写请求,则会收到Reservation Conflict报错信息。如果保留SCSI预留的主机崩溃,或者其他主机给磁盘阵列发送Break Reservation或者Reset Target命令用来解除SCSI锁。然后,第二个主机发送I/O请求之前需要重新发送SCSI Reservation命令给磁盘阵列,才可以进行后续的IO操作。SCSI预留有SCSI-2 Reservation和SCSI-3 Reservation两种类型,然而一个LUN上只能存在一种类型的SCSI预留

为解决脑裂后集群节点抢占资源的问题,引入了SCSI-2预留模式的集群。在这种情况下,集群节点访问LUN的过程如下。

  • 1. 集群节点向需要访问的LUN发起预留操作。

  • 2. 预留操作成功后,则节点获得LUN操作权限;如果预留失败,提示预留冲突,会继续尝试,直到预留成功。

  • 3. 节点对LUN操作完毕后,执行释放操作,其他节点可以预留。

通过使用这种预留方式,可以保证任意时刻均只有一个节点能访问共享资源,但是它要求存储系统支持SCSI-2预留命令集,同时也有下面的一些缺陷。

  • 1)预留基于路径。集群节点存在多路径的情况下,当前路径故障后,预留无法取消,无法对LUN继续访问,多路径相当于没有生效。

  • 2)谁预留谁释放。如果LUN已经被预留,其他节点将无法预留,除非对LUN进行重置操作。但是重置容易引发数据不一致。因为重置操作是不会通知原先预留主机的。

由于SCSI-2 Reservation只允许设备被发出SCSI锁的Initiator访问,也就是主机的HBA。比如主机1上的HBA1对访问的LUN加上SCSI-2锁,此时即使主机1的HBA2也无法访问这个LUN。所以SCSI-2 Reservation也被称为Single Path Reservation

为解决SCSI-2预留的问题,最终引入了SCSI-3持续预留的集群技术。在该模式下,集群节点在访问LUN之前,首先向LUN注册(Registration)一个预留密钥(Persistent Reservation key),注册成功后集群节点可以尝试进行持续预留(Persistent Reserve),持续预留成功后就可以获得LUN操作权限

不同的主机对应的PR Key也不同,所以一般SCSI-3 Reservation通常被应用在多路径的共享环境下面。这里SCSI-3 Reservation也称之为Persistent Reservation。与SCSI-2不同,SCSI-3释放操作根据预留密钥,不同集群节点可以使用相同密钥或是不同密钥进行预留,具体可以结合持续预留类型决定。集群节点可以通过抢占来获取已被持续预留的LUN访问权限。SCSI-3抢占和SCSI-2重置不一样,抢占不会造成数据丢失。

SCSI-3预留能够解决之前集群模式预留的问题,但是它对存储系统要求更高,要求其支持更多更复杂的SCSI-3预留命令集

SCSI预留是多台主机用来操作LUN的基本机制。在Windows存储环境中,当多台Windows主机需要访问一个LUN的情况下,例如Windows Cluster环境,就会用到SCSI预留命令。接下来就Windows Cluster 2003/ 2008中使用到的SCSI预留命令进行介绍

Windows 2003集群中使用SCSI-2 ReserveRelease命令。作为非持久的Reservation,集群中的一台节点会持有SCSI-2 Reservation的锁,然后每过3秒会重新刷新一次。如果故障转移发生,则切换节点主机会在相应的磁盘上放置SCSI-2 Reservation然后维护SCSI锁。如果所有节点主机上的集群服务都会关闭,Reservation也不会保留。

Windows 2008集群中使用SCSI-3 Persistent Reservation机制。如果磁盘从主机上没有正确移除,集群使用的磁盘(Cluster Disk)会保留着这些Reservation。锁对应的SCSI预留会一直存在于相应的磁盘之上,即使集群服务被关闭或者磁盘对于主机取消映射(Unmasked)。所以,有些时候需要强行移除磁盘上的Reservation。

温馨提示:请搜索“ICT_Architect”或“扫一扫”下面二维码关注公众号,获取更多精彩内容。

常见集群(Cluster)软件和技术解析

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181602.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 移动apn接入点哪个快(移动哪个接入点网速快)

    9条解答1.中国移动4g接入点最快我不同意,中国LTE才是最快的,就是流量怕你不够,名称:LTE,APN:lte(小写的),APN协议漫游协议lpv4,我的达到了2.5~3M/S,骗你出家2.4g网速很慢,求助apn设置方法您好!您先进入手机的接入点设置–新建apn接入点–名称乱填,apn:cmtds–保存保存之后,选择自己刚刚设置的接入点,然后您就会发现您自己的手机4G网络的速度很快了,…

    2022年4月12日
    465
  • 浪漫公式 Love 分段函数和各种心型函数 matlab实现

    浪漫公式 Love 分段函数和各种心型函数 matlab实现浪漫公式Love分段函数和各种心型函数matlab实现

    2022年8月5日
    5
  • Cubieboard2 debian

    Cubieboard2 debian环境准备本文所使用的主机环境为kubuntu12.10,然而一般情况下,下面涉及到的命令对基于Debian的(X)ubuntu系列都应该适用。为不引起混淆,我们作如下约定:工作目录为$WORK_DIR,目标系统rootfs目录为$WORK_DIR/$ROOTFS_DIR命令均以root用户执行笔者的设定如下:WORK_DIR=/home/itv

    2022年7月22日
    7
  • 基于Python的情感分析案例——知网情感词典

    基于Python的情感分析案例——知网情感词典近期老师给我们安排了一个大作业,要求根据情感词典对微博语料进行情感分析。于是在网上狂找资料,看相关书籍,终于搞出了这个任务。现在做做笔记,总结一下本次的任务,同时也给遇到有同样需求的人,提供一点帮助。1、情感分析含义情感分析指的是对新闻报道、商品评论、电影影评等文本信息进行观点提取、主题分析、情感挖掘。情感分析常用于对某一篇新闻报道积极消极分析、淘宝商品评论情感打分、股评情感分析、电影评论情感挖掘。情感分析的内容包括:情感的持有者分析、态度持有者分析、态度类型分析(一系列类型如喜欢(like),讨厌

    2022年8月23日
    7
  • shiro安全框架面试题_java分布式锁面试题

    shiro安全框架面试题_java分布式锁面试题shiro安全框架1.shiro可以完成哪些工作?shiro可以帮助我们完成:认证、授权、加密、会话管理、与Web集成、缓存等2.ApacheShiro的三大核心组件a、Subject:当前用户的操作b、SecurityManager:用于管理所有的Subjectc、Realms:用于进行权限信息的验证3.shiro有哪些组件?a、Authentication:身份认证/登录,验证用户是不是拥有相应的身份;b、Authorization:授权,即权限验证,验证某.

    2022年10月14日
    2
  • 补码的加减法运算_简述补码减法运算的规则

    补码的加减法运算_简述补码减法运算的规则补码的加减法运算本文内容参考自王达老师的《深入理解计算机网络》一书<中国水利水电出版社>一、补码加法:1、补码的加法运算两个机器数相加的补码可以先通过分别对两个机器数求补码,然后再相加得到,在采用补码形式表示时,进行加法运算可以把符号位和数值位一起进行运算(若符号位有进位,导致了益出,则直接舍弃),结果为两数之和的补码形式。示例1:求两个十进制数的和35+18。首先,规…

    2022年9月13日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号