0
点赞
收藏
分享

微信扫一扫

RH436 学习笔记(五)

管理两节点集群

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

RH436 学习笔记(五)_iscsi_02

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

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

这个参数是默认开启的。

RH436 学习笔记(五)_iscsi_04

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

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

RH436 学习笔记(五)_iscsi_05

RHEL8.3 及之后的版本:

RH436 学习笔记(五)_iscsi_06

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

配置和管理仲裁设备

RH436 学习笔记(五)_iscsi_08

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

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

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

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

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

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

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

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

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

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

RH436 学习笔记(五)_iscsi_17

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

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

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

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

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

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

RH436 学习笔记(五)_iscsi_23

RH436 学习笔记(五)_iscsi_24

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

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

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

锁机制

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

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

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

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

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

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

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

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

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

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

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

RH436 学习笔记(五)_iscsi_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 学习笔记(五)_锁机制_46

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

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

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

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

iscsi

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

RH436 学习笔记(五)_iscsi_51

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

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

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

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

RH436 学习笔记(五)_iscsi_56

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

RH436 学习笔记(五)_iscsi_58

RH436 学习笔记(五)_iscsi_59

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

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

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

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

RH436 学习笔记(五)_iscsi_64

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

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

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

RH436 学习笔记(五)_iscsi_68

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

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

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

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

RH436 学习笔记(五)_iscsi_73

RH436 学习笔记(五)_iscsi_74

RH436 学习笔记(五)_iscsi_75

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

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

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

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

RH436 学习笔记(五)_iscsi_80

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

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

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

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

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

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

RH436 学习笔记(五)_iscsi_86

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

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

RH436 学习笔记(五)_iscsi_89

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

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

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

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

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

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

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

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

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

RH436 学习笔记(五)_iscsi_94

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

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

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

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

这样就是永久删除。

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

RH436 学习笔记(五)_iscsi_99

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

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

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

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

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

RH436 学习笔记(五)_iscsi_105

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

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

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

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

RH436 学习笔记(五)_iscsi_109

连接了第二条链路。

RH436 学习笔记(五)_iscsi_110

这两块磁盘是一样的。

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

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

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

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

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

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

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

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

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

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

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

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

RH436 学习笔记(五)_iscsi_117

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

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

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

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

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

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

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

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

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

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

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

RH436 学习笔记(五)_iscsi_126

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

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

RH436 学习笔记(五)_iscsi_129

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

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

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

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

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

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

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

multipath -t

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

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

你可以这样来修改。

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

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

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

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

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

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

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

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

RH436 学习笔记(五)_iscsi_140

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

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

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

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

RH436 学习笔记(五)_iscsi_144

RH436 学习笔记(五)_iscsi_145

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

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

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

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

RH436 学习笔记(五)_iscsi_150

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

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

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

man multipath.conf

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

RH436 学习笔记(五)_iscsi_155

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

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

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

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

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

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

RH436 学习笔记(五)_iscsi_160

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

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

RH436 学习笔记(五)_iscsi_163

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

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

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

RH436 学习笔记(五)_iscsi_167

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

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

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

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

RH436 学习笔记(五)_iscsi_172

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

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

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

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

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

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

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

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

RH436 学习笔记(五)_iscsi_178

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

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

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

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

RH436 学习笔记(五)_iscsi_183

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

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

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

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

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


举报

相关推荐

0 条评论