首页 > 其他分享 >RH436 学习笔记(五)

RH436 学习笔记(五)

时间:2024-09-15 18:22:19浏览次数:10  
标签:多路径 配置文件 文件系统 笔记 学习 集群 RH436 磁盘 节点

管理两节点集群

RH436 学习笔记(五)_仲裁设备

RH436 学习笔记(五)_锁机制_02

重新搭建一个两节点集群。

RH436 学习笔记(五)_两节点集群_03

这个参数是默认开启的。

RH436 学习笔记(五)_锁机制_04

因为是两节点集群,不是用50%+1 的方式仲裁的,1 票就能存活,waitforall 参数默认开启。

为避免fence loop 现象,可以设置延迟fence,时间应略大于节点启动时间。

RH436 学习笔记(五)_多路径_05

RHEL8.3 及之后的版本:

RH436 学习笔记(五)_两节点集群_06

RH436 学习笔记(五)_两节点集群_07

配置和管理仲裁设备

RH436 学习笔记(五)_iscsi_08

这是写磁盘的方式,在共享存储上划分一片空间,自定义一个试探程序,把节点的状态写入到磁盘,先写入的节点为优胜的一方,节点本身一票,仲裁节点也算作一票,共两票,另外一台节点则被fence。

还有一种方式是,不需要仲裁节点,NodeID 较低的优先存活。

RH436 学习笔记(五)_iscsi_09

RH436 学习笔记(五)_仲裁设备_10

RH436 学习笔记(五)_锁机制_11

RH436 学习笔记(五)_仲裁设备_12

RH436 学习笔记(五)_仲裁设备_13

RH436 学习笔记(五)_仲裁设备_14

RH436 学习笔记(五)_iscsi_15

RH436 学习笔记(五)_多路径_16

RH436 学习笔记(五)_锁机制_17

RH436 学习笔记(五)_两节点集群_18

RH436 学习笔记(五)_两节点集群_19

RH436 学习笔记(五)_iscsi_20

RH436 学习笔记(五)_iscsi_21

RH436 学习笔记(五)_锁机制_22

两节点同时down 集群网络,彼此认为对方故障:

RH436 学习笔记(五)_多路径_23

RH436 学习笔记(五)_仲裁设备_24

RH436 学习笔记(五)_iscsi_25

RH436 学习笔记(五)_锁机制_26

现在nodea 工作,nodeb 被隔离,因为nodea 的NodeID 更小,得到了仲裁节点的一票。

锁机制

RH436 学习笔记(五)_多路径_27

RH436 学习笔记(五)_两节点集群_28

RH436 学习笔记(五)_多路径_29

RH436 学习笔记(五)_锁机制_30

RH436 学习笔记(五)_仲裁设备_31

RH436 学习笔记(五)_iscsi_32

RH436 学习笔记(五)_两节点集群_33

RH436 学习笔记(五)_多路径_34

RH436 学习笔记(五)_多路径_35

RH436 学习笔记(五)_两节点集群_36

RH436 学习笔记(五)_两节点集群_37

RH436 学习笔记(五)_锁机制_38

RH436 学习笔记(五)_锁机制_39

RH436 学习笔记(五)_仲裁设备_40

RH436 学习笔记(五)_仲裁设备_41

RH436 学习笔记(五)_多路径_42

RH436 学习笔记(五)_两节点集群_43

nfs 是共享型文件系统,自带锁机制,如果是ext4、xfs 这种本地型文件系统,你在一台节点上进行写操作,另外一台节点是没有感知的。

RHEL 6 上,在启动nfs 服务的时候,一同将nfslock 服务启动了:

RH436 学习笔记(五)_锁机制_44

RH436 学习笔记(五)_仲裁设备_45

现在把nodea 连接到nfs 存储的网络down 掉,df 已经查询不到这个挂载点了,但是集群没有感知,业务仍然运行在nodea 上。

RH436 学习笔记(五)_iscsi_46

RH436 学习笔记(五)_锁机制_47

集群不会检测节点到存储的网络,只会检测节点之间的网络,如果要实现节点到存储的高可用,就需要用到多路径技术。

RH436 学习笔记(五)_iscsi_48

RH436 学习笔记(五)_锁机制_49

iscsi

RH436 学习笔记(五)_多路径_50

RH436 学习笔记(五)_多路径_51

RH436 学习笔记(五)_多路径_52

RH436 学习笔记(五)_仲裁设备_53

RH436 学习笔记(五)_多路径_54

RH436 学习笔记(五)_锁机制_55

RH436 学习笔记(五)_多路径_56

RH436 学习笔记(五)_两节点集群_57

RH436 学习笔记(五)_锁机制_58

RH436 学习笔记(五)_两节点集群_59

RH436 学习笔记(五)_iscsi_60

RH436 学习笔记(五)_仲裁设备_61

RH436 学习笔记(五)_仲裁设备_62

RH436 学习笔记(五)_仲裁设备_63

RH436 学习笔记(五)_锁机制_64

RH436 学习笔记(五)_仲裁设备_65

RH436 学习笔记(五)_锁机制_66

RH436 学习笔记(五)_锁机制_67

RH436 学习笔记(五)_iscsi_68

RH436 学习笔记(五)_多路径_69

RH436 学习笔记(五)_两节点集群_70

RH436 学习笔记(五)_仲裁设备_71

RH436 学习笔记(五)_两节点集群_72

RH436 学习笔记(五)_iscsi_73

RH436 学习笔记(五)_仲裁设备_74

RH436 学习笔记(五)_锁机制_75

RH436 学习笔记(五)_锁机制_76

RH436 学习笔记(五)_两节点集群_77

RH436 学习笔记(五)_仲裁设备_78

RH436 学习笔记(五)_仲裁设备_79

RH436 学习笔记(五)_锁机制_80

RH436 学习笔记(五)_锁机制_81

RH436 学习笔记(五)_iscsi_82

RH436 学习笔记(五)_两节点集群_83

但是这个文件系统是ext4,属于单机型文件系统,不带锁机制,虽然可以读取到文件名,但是多个节点同时读写一个文件时数据状态不同步。

RH436 学习笔记(五)_仲裁设备_84

RH436 学习笔记(五)_多路径_85

RH436 学习笔记(五)_iscsi_86

RH436 学习笔记(五)_iscsi_87

RH436 学习笔记(五)_多路径_88

RH436 学习笔记(五)_多路径_89

这是通过集群控制文件系统的挂载,集群正常的时候可以保证文件系统只在其中一个节点上挂载,如果集群脑裂,文件系统又不带锁机制,轻则文件损坏,重则文件系统故障,数据的完整性得不到保障。

iscsi 客户端如果设置了服务自启动,只要连接过一次,重启以后会自动连接。

RH436 学习笔记(五)_仲裁设备_90

RH436 学习笔记(五)_锁机制_91

target 端的信息保存在这个文件夹。

有些时候我们不希望它自动连接,比如存储端发生故障的时候:

RH436 学习笔记(五)_多路径_92

这样可以logout,但是这是临时的。

RH436 学习笔记(五)_仲裁设备_93

RH436 学习笔记(五)_仲裁设备_94

RH436 学习笔记(五)_iscsi_95

RH436 学习笔记(五)_仲裁设备_96

只要服务一重启,它甚至自动把多路径自动连接了。

RH436 学习笔记(五)_多路径_97

这样就是永久删除。

RH436 学习笔记(五)_两节点集群_98

RH436 学习笔记(五)_iscsi_99

RH436 学习笔记(五)_多路径_100

RH436 学习笔记(五)_两节点集群_101

RH436 学习笔记(五)_iscsi_102

RH436 学习笔记(五)_两节点集群_103

RH436 学习笔记(五)_iscsi_104

RH436 学习笔记(五)_锁机制_105

RH436 学习笔记(五)_锁机制_106

RH436 学习笔记(五)_多路径_107

RH436 学习笔记(五)_锁机制_108

客户端这个配置文件的这些参数需要注意一下。

RH436 学习笔记(五)_多路径_109

连接了第二条链路。

RH436 学习笔记(五)_iscsi_110

这两块磁盘是一样的。

RH436 学习笔记(五)_iscsi_111

这条命令可以查看磁盘的序列号。

RH436 学习笔记(五)_两节点集群_112

那么这样集群就存在问题,创建文件系统资源的时候该指定哪一块磁盘呢?如果指定其中一块磁盘,在读写数据的时候,只走其中一条路径吗?那另外一条链路的带宽岂不是浪费掉了!

要解决上面的问题,需要安装多路径软件。

RH436 学习笔记(五)_锁机制_113

RH436 学习笔记(五)_锁机制_114

RH436 学习笔记(五)_iscsi_115

有些厂商的多路径软件要付费使用,而且是对节点授权。

能用厂商的多路径尽量用厂商提供的,它更了解自家的存储产品。

如果无法使用厂商的,就用开源版本的通用型多路径软件。

RH436 学习笔记(五)_锁机制_116

RH436 学习笔记(五)_多路径_117

RH436 学习笔记(五)_两节点集群_118

RH436 学习笔记(五)_两节点集群_119

RH436 学习笔记(五)_仲裁设备_120

默认用的是第二种算法——最少服务时间,走延迟最低的链路;

轮循算法的优势在于不怎么消耗cpu 资源;

最少队列数算法是比较折中的方案。

RH436 学习笔记(五)_两节点集群_121

RH436 学习笔记(五)_仲裁设备_122

RH436 学习笔记(五)_锁机制_123

RH436 学习笔记(五)_iscsi_124

RH436 学习笔记(五)_锁机制_125

RH436 学习笔记(五)_iscsi_126

RH436 学习笔记(五)_仲裁设备_127

RH436 学习笔记(五)_多路径_128

RH436 学习笔记(五)_iscsi_129

RH436 学习笔记(五)_多路径_130

multipath 默认是没有配置文件的,当你执行enable 以后,它自动生成了一个配置文件:

RH436 学习笔记(五)_锁机制_131

RH436 学习笔记(五)_仲裁设备_132

具体怎么写这个配置文件,查看帮助:

RH436 学习笔记(五)_iscsi_133

使用下面这条命令查看默认配置:

multipath -t

你会发现这条命令的执行结果比配置文件多得多,很多默认的配置没有写进配置文件而已。

RH436 学习笔记(五)_两节点集群_134

你可以这样来修改。

RH436 学习笔记(五)_锁机制_135

这一段是黑名单列表,多路径软件不会合并这些设备。

RH436 学习笔记(五)_两节点集群_136

这一段空白,是黑名单列表中的例外。

RH436 学习笔记(五)_多路径_137

针对不同的设备,给它不同的算法。

RH436 学习笔记(五)_锁机制_138

RH436 学习笔记(五)_锁机制_139

RH436 学习笔记(五)_iscsi_140

这些段落有优先级,multipaths 优先级最高。

RH436 学习笔记(五)_锁机制_141

RH436 学习笔记(五)_仲裁设备_142

RH436 学习笔记(五)_iscsi_143

RH436 学习笔记(五)_iscsi_144

RH436 学习笔记(五)_仲裁设备_145

RH436 学习笔记(五)_仲裁设备_146

RH436 学习笔记(五)_多路径_147

RH436 学习笔记(五)_仲裁设备_148

RH436 学习笔记(五)_iscsi_149

RH436 学习笔记(五)_仲裁设备_150

RH436 学习笔记(五)_仲裁设备_151

RH436 学习笔记(五)_多路径_152

RH436 学习笔记(五)_锁机制_153

man multipath.conf

RH436 学习笔记(五)_iscsi_154

RH436 学习笔记(五)_仲裁设备_155

RH436 学习笔记(五)_两节点集群_156

这个参数的意思是,路径检测的方式是从这个路径读一个io,如果读取不到,就判断这个路径出现了故障。

RH436 学习笔记(五)_多路径_157

当路径出现故障时,切换到另外的路径上。

RH436 学习笔记(五)_两节点集群_158

RH436 学习笔记(五)_仲裁设备_159

RH436 学习笔记(五)_两节点集群_160

RH436 学习笔记(五)_多路径_161

RH436 学习笔记(五)_两节点集群_162

RH436 学习笔记(五)_锁机制_163

RH436 学习笔记(五)_多路径_164

RH436 学习笔记(五)_锁机制_165

RH436 学习笔记(五)_两节点集群_166

RH436 学习笔记(五)_多路径_167

RH436 学习笔记(五)_仲裁设备_168

RH436 学习笔记(五)_多路径_169

RH436 学习笔记(五)_锁机制_170

RH436 学习笔记(五)_iscsi_171

RH436 学习笔记(五)_iscsi_172

我们经常看到设备名是/dev/mapper/xxx

其实是用到的device mapper 的技术,这个设备并不真实存在,是通过某种规则把它合成的,常见的典型的例子就是逻辑卷。

RH436 学习笔记(五)_iscsi_173

RH436 学习笔记(五)_iscsi_174

RH436 学习笔记(五)_两节点集群_175

下面来演示一下安装厂商的多路径软件:

RH436 学习笔记(五)_多路径_176

RH436 学习笔记(五)_两节点集群_177

RH436 学习笔记(五)_仲裁设备_178

RH436 学习笔记(五)_两节点集群_179

RH436 学习笔记(五)_两节点集群_180

RH436 学习笔记(五)_iscsi_181

RH436 学习笔记(五)_两节点集群_182

RH436 学习笔记(五)_两节点集群_183

RH436 学习笔记(五)_锁机制_184

RH436 学习笔记(五)_仲裁设备_185

RH436 学习笔记(五)_多路径_186

RH436 学习笔记(五)_两节点集群_187

RH436 学习笔记(五)_两节点集群_188


标签:多路径,配置文件,文件系统,笔记,学习,集群,RH436,磁盘,节点
From: https://blog.51cto.com/min2000/12024961

相关文章

  • 【机器学习】嘿马机器学习(科学计算库)第9篇:Pandas,学习目标【附代码文档】
    本教程的知识点为:机器学习(常用科学计算库的使用)基础定位机器学习概述机器学习概述1.5机器学习算法分类1监督学习机器学习概述1.7Azure机器学习模型搭建实验Azure平台简介Matplotlib3.2基础绘图功能—以折线图为例1完善原始折线图—给图形添加辅助功能M......
  • 利用未标记数据的半监督学习在模型训练中的效果评估
    数据科学家在实践中经常面临的一个关键挑战是缺乏足够的标记数据来训练可靠且准确的模型。标记数据对于监督学习任务(如分类或回归)至关重要。但是在许多领域,获取标记数据往往成本高昂、耗时或不切实际。相比之下,未标记数据通常较易获取,但无法直接用于模型训练。如何利用未标记数据......
  • 【Scala入门学习】Scala的方法和函数
    1.方法在scala中的操作符都被当成方法存在,比如说+、-、*、/1+2就是1.+(2)的调用,2.0是doule类型,强调用Int类型的写法为1.+(2:Int)1.1方法的声明和使用定义方法的语法:def方法名([变量:变量类型,变量:变量类型]):返回值类型={方法体}其中:在scala中,方法里面的最后一个表......
  • 【Scala入门学习】基本数据类型和变量声明
    1.基本数据类型scala的基本类型有9种:Byte、Char、Short、Int、Long、Float、Double、Boolean、UnitScala中没有基本数据类型的概念,所有的类型都是对象。AnyVal:代表所有基本类型。AnyRef:代表所以引用类型,包括Scalaclass和Javaclass。Any:是所有类的超类。如果不知......
  • 学习率
    在你的代码中有两个不同的学习率(lr),它们分别是通过--lr和--final_lr参数定义的。下面是对这两个学习率的解释:1.--lr:初始学习率parser.add_argument('--lr',type=float,default=0.003,help='learningrate')含义:这是模型训练时的初始学习率(lr),用于在优化器中定义训练......
  • 【SpringCloud】黑马微服务学习笔记
    目录1.关于微服务 1.1微服务与单体架构的区别 1.2SpringCloud技术2.学习前准备 2.1环境搭建 2.2熟悉项目3.正式拆分 3.1拆分商品功能模块 3.2拆分购物车功能模块4.服务调用 4.1介绍 4.2RustTemplate 的使用4.3服务治理-注册中心4.4服务......
  • 项目笔记
    核心业务流程自定义上传题目流程:用户答题流程:AI创建题目流程:时序图: 架构设计 在对登录用户的权限进行判断时,不再通过条件判断,编写一大串代码去实现,可以通过写一个Java注解,如packagecom.yupi.qidada.annotation;importjava.lang.annotation.ElementType;im......
  • 【USB3.0协议学习】Topic1·USB3.0Hub的一些机制
    一、USB3.0Hub的单播(非广播)机制Hub通过解析下行packetheader中的RouteString字段识别packet要传递的终点,其中4'b0000代表hub本身,4'b0001-4'b1111分别代表hub的各downstreamport,由于USB3.0规定HostController最多级联5级hub,所以每个packetheader中的RouteString字段共有4x5......
  • 深度学习-神经网络构造
    文章目录一、正则化惩罚1.L1正则化2.L2正则化二、梯度下降(GradientDescent)1.基本原理2.注意事项三、BP神经网络1.基本原理2.网络结构3.特点四、总结一、正则化惩罚正则化惩罚(RegularizationPenalty)是机器学习中常用的一种技术,用于减少模型的复杂度,防止模型过拟......
  • 学习Python第一步,先安装Python,最新安装教程!
      随着人工智能,网络爬虫,大数据分析等业务模式的流行,Python依靠拥有各种开源库,且入门容易等特性越来越火爆。想到就去做,赶紧下载Python学习起来,本文将详细介绍Python编程环境的搭建。Python的版本选择目前Python有两个版本,一个是2.x,一个是3.x,这两个版本并不兼容。由于在20......