MySQL高可用方案之DRBD+MySQL+RHCS(上)

  • 时间:
  • 浏览:2

配置/etc/drbd.d/global-common.conf

DRBD的核心功能是通过Linux内核模块实现的。具体而言,DRBD饱含另有一个多多虚拟的块设备,而且 DRBD地处系统的I/O堆栈底部附过。而且 ,DRBD非常灵活和多功能,这使得它成为适用于为任何程序增加高可用性的克隆qq处里方案。

DRBD在Linux I/O堆栈的位置:

使用下面的命令查看在此前在主节点上克隆qq至此设备的文件否是是地处。

Distributed Replicated Block Device(DRBD)是一种基于软件的,无共享,克隆qq的存储处里方案,在服务器之间的对块设备(硬盘,分区,逻辑卷等)进行镜像。

DRBD是将不同机器上的两块大小相同的硬盘或是另有一个多多分区让它们的每一位都对齐,从而当用户空间有数据要存储到主节点磁盘时,工作在内核空间的DRBD会监控数据,一旦发现数据是要存储到定义了DRBD的分区上后,就会把数据克隆qq一份通过网络传送到备用节点上来。备用节点上运行另有一个多多服务时刻可不前要接收对方发来的数据,而且 接到内核中,内核中的DRBD接收到数据后通过内核保存到磁盘上。双措施 通过DRBD协议按位存储数据。

在高可用(HA)中使用DRBD功能,可不前要代替使用另有一个多多共享盘阵。本地(主节点)与远程主机(备节点)的数据可不前要保证实时同步。当本地系统再次老是出现故障时,远程主机上时会 保留有一份相同的数据,可不前要继续使用。前要说明某些的是DRBD只支持另有一个多多节点不支持多节点。

DRBD镜像数据

实时性:当程序修改磁盘上的数据时,克隆qq立即地处。

透明性:程序不前要意识到数据存储在多个主机上。

同步或异步:通过同步镜像,在所有主机上执行写操作后,才会通知程序写入完成。使用异步镜像时,程序在本地完成写入操作时会 收到写入完成的通知,这通常是在它们传播到某些主机以前。

文件系统的挂载只有在Primary节点进行,而且 ,也只有在设置了主节点后不用 对drbd设备进行格式化:

先升级内核,不然安装不上DRBD,我的内核旧的是3.10.0-327,升级后的是3.10.0-693。

安装drbd内核模块和管理工具。

drbd的主配置文件为/etc/drbd.conf,为了管理的便捷性,目前通常会将些配置文件分成多个累积,且都保存至/etc/drbd.d目录中,主配置文件中仅使用”include”指令将有有哪些配置文件片断整合起来。通常,/etc/drbd.d目录中的配置文件为global_common.conf和所有以.res结尾的文件。其中global_common.conf中主要定义global段和common段,而每另有一个多多.res的文件用于定义另有一个多多资源。

在配置文件中,global段仅能再次老是出现一次,且机会所有的配置信息都保存至同另有一个多多配置文件中而不分开为多个文件励志的话 ,global段前要地处配置文件的最以后 以后 刚现在开始处。目前global段中可不前要定义的参数仅有minor-count, dialog-refresh, disable-ip-verification和usage-count。

common段则用于定义被每另有一个多多资源默认继承的参数,可不前要在资源定义中使用的参数都可不前要在common段中定义。实际应用中,common段不用说前要,但建议将多个资源共享的参数定义为common段中的参数以降低配置文件的比较复杂度。

resource段则用于定义drbd资源,每个资源通常定义在另有一个多多单独的地处/etc/drbd.d目录中的以.res结尾的文件中。资源在定义时前要为其命名,名字可不前要由非空白的ASCII字符组成。每另有一个多多资源段的定义中大慨 要饱含另有一个多多host子段,以定义此资源关联至的节点,其它参数均可不前要从common段或drbd的默认中进行继承而不用说定义。

下面的操作在node1上完成。主配置文件:

从底下的信息中可不前要看出此时另有一个多多节点均地处Secondary状况。于是,人们 歌词 接下来前要将其中另有一个多多节点设置为Primary。

在要设置为Primary的节点上执行如下命令(我这里在node1节点执行):

再次查看状况,可不前要发现数据同步过程机会以后 以后 刚现在开始(达到3000%后再继续操作):

DRBD前要构建在底层设备之上,而且 构建出另有一个多多块设备出来。对于用户来说,另有一个多多DRBD设备,就像是一块物理的磁盘,可不前要在底下内创建文件系统。DRBD所支持的底层设备有以下有有哪些类:

1)另有一个多多磁盘,机会是磁盘的某另有一个多多分区;

2)另有一个多多soft raid设备;

3)另有一个多多LVM的逻辑卷;

4)另有一个多多EVMS(Enterprise Volume Management System,企业卷管理系统)的卷;

5)某些任何的块设备。

对主Primary/Secondary模型的drbd服务来讲,在某个时刻只有有另有一个多多节点为Primary。而且 ,要切换另有一个多多节点的角色,只有在先将原有的Primary节点设置为Secondary后,不用 另另有一个多多的Secondary节点设置为Primary。

安装指南:http://docs.linbit.com/doc/users-guide-84/s-distro-packages

这里前要先把primary节点变更为secondary节点,机会不执行这些 命令,直接在备用节点执行切换到主节点的命令,会报错:

机会DRBD将数据发送给对端服务器以前前要选着 对方的签署以选着 数据否是是安全存储,而且 DRBD程序才退出,最终程序完成数据存储。另另有一个多多一来DRBD发送数据并接收到签署的时间就是程序执行的过程时间。就是又涉及到了数据安全跟性能之间平衡了,DRBD提供了异步、半同步、同步等工作措施 ,自行考量选着 。

异步克隆qq:异步克隆qq协议。一旦本地磁盘写入机会完成,数据包已在发送队列中,则写被认为是完成的。在另有一个多多节点地处故障时,机会地处数据丢失,机会被写入到远程节点上的数据机会仍在发送队列。尽管,在故障转移节点上的数据是一致的,但这麼及时更新。这通常是用于地理上分开的节点。

半同步克隆qq:内存同步(半同步)克隆qq协议。一旦本地磁盘写入已完成且克隆qq数据包达到了对等节点则认为写在主节点上被认为是完成的。数据丢失机会地处在参加的另有一个多多节点一齐故障的状况下,机会在传输中的数据机会不用被提交到磁盘。

同步克隆qq:同步克隆qq协议。只有在本地和远程节点的磁盘机会确认了写操作完成,写才被认为完成。这麼任何数据丢失,就是这是另有一个多多群集节点的流行模式,但I / O吞吐量依赖于网络速度。一般使用协议C,但选着 C协议将影响流量,从而影响网络速度。为了数据可靠性,人们 歌词 在生产环境使用时须慎重选项使用哪一种协议。

node2主机配置ssh基于秘钥通信

File system:通过API向外输出接口。

Buffer cache:是用来缓存数据和元数据的。

Disk scheduler:是用来排序内存中即将要写入磁盘的数据合并读请求,合并写请求一齐写入磁盘提高速度(对于机械硬盘机会调度器能把随机读写操作转换为顺序读写操作将提升很高的磁盘性能;而固态硬盘这麼机械臂就这麼顺序读写的概念)。

Disk driver:当调度器合并完成以前将多个I/O转为另有一个多多I/O最终还是要转为磁盘的机械臂移动扇区的读写;有有哪些也有由磁盘驱动来完成,驱动知道怎样才能会会 找扇区怎样才能会会 控制机械臂操作数据;一般驱动也有在内核中执行的。

DRBD工作的位置在File system的buffer cache和Disk scheduler之间,通过tcp/ip发给另外一台主机到对方的tcp/ip最终发送给对方的DRBD,再由对方的DRBD存储在本地对应磁盘上,累似 于另有一个多多网络RAID-1功能。人们 歌词 知道RAID1是在同一台机器上使用两块大小相同的硬盘让它们的每一位都对齐,从而RAID芯片实现将数据分两份按位对应存储到不同的磁盘上实现数据块的同步。

启动node1节点后,会老是去等待歌曲node2节点启动drbd,某些另有一个多多节点通信成功后,node1节点就会马上启动完成。

也可不前要使用drbd-overview命令来查看:

在DRBD中,资源是指可克隆qq数据设备的总称。有有哪些包括:

资源名称:只有为ASCII码,但空白字符除外。

DRBD设备:在双方节点上,此DRBD设备的设备文件一般为/dev/drbd0,其主设备号由IANA规定好的147。

磁盘:在双方节点上所有人提供的存储设备。

网络配置:双方数据一齐所使用的网络属性如网络速度、数据加密等。

加载内核机会再次老是出现“FATAL: Module drbd not found.”错误。这是机会系统默认的内核不用说支持此模块,就是前要更新内核。

配置开机自动加载模块,开机会加载此目录/etc/sysconfig/modules/;

机会我应该 降级励志的话 ,只前要在对应的主节点上使用如下命令即可。

DRBD附带一组管理工具,与内核模块进行通信以配置和管理DRBD资源。

drbdadm

高层的DRBD程序管理套件工具,它从配置文件/etc/drdb.conf中获取所有配置参数。drbdadm为drbdsetup何drbdmeta另有一个多多命令充当程序的前端应用,执行drbdadm实际是执行drbdsetup和drbdmeta另有一个多多命令。

drbdsetup

可不前要让用户配置机会加载在内核中运行的DRBD模块,它是底层的DRBD程序管理套件工具。使用该命令时,所有的配置参数都前要直接在命令行中定义,虽然命令灵活,而且 大大的降低了命令的简单易用性,而且 就是的用户很少使用drbdsetup。

drbdmeta

允许创建,转储,恢复和修改DRBD元数据型态。这些 命令也是用户极少用到的。

赋予执行权限:

至此,DRBD主从模型实验完成,而且 真正上生产还前要多多测试,另外前要对drbd各个参数要熟悉,怪怪的是性能调优参数,具体看官方文档。

查看状况:

修正时区,直接写入到/etc/profile即可。

DRBD主从模型:DRBD主从架构中,主节点可不前要读写数据而从节点只有读写,连挂载也有允许,而且 会造成文件系统崩溃,而且 主从的节点可不前要相互切换,怎样才能不前要把主节点分区卸载后把主节点转为从,而且 把分区挂在到从节点上,再把从转为主。

DRBD双主模型:机会DRBD是在两台独立的机器上实现数据块同步,就是单凭在另有一个多多节点上写数据时施加锁机制而另外另有一个多多节点要写数据时看只有对方施加的锁,而且 会照成数据损坏。而且 机会把DRBD用在高可用集群中就可不前要实现双主模型,在高可用中把DRBD定义成主从资源基于分布式文件锁DLM加集群文件系统gfs或ocfs,另另有一个多多一来当一端在写入数据时机会是DLM+GFS,就是就会通知给另外一端的DRBD从而处里数据损坏(双主模型不用说是并行读写)。

net:网络配置相关的内容,可不前要设置否是是允许双主节点(allow-two-primaries)等。

startup:启动以前的相关设置,比如设置启动后谁作为primary(机会两者也有primary:become-primary-on both)

syncer: 同步相关的设置。可不前要设置“重新”同步(re-synchronization)速度(rate)设置,也可不前要设置否是是在线校验节点之间的数据一致性 (verify-alg 检测算法有md5,sha1以及crc32等)。数据校验机会是另有一个多多比较重要的事情,在打开在线校验功能后,人们 歌词 可不前要通过相关命令(drbdadm verify resource_name)来启动在线校验。在校验过程中,drbd会记录下节点之间不一致的block,而且 不用阻塞任何行为,即使是在该不一致的 block底下的io请求。当不一致的block地处后,drbd就前要有re-synchronization动作,而syncer底下设置的rate 项,主要就是用于re-synchronization的以前,机会机会有血块不一致的数据的以前,人们 歌词 不机会将所有速度都分配给drbd做re- synchronization,另另有一个多多会影响对外提提供服务。rate的设置和还前要考虑IO能力的影响。机会人们 歌词 会有另有一个多多千兆网络出口,而且 人们 歌词 的磁盘 IO能力每秒只有3000M,这麼实际的处可否 力就只有3000M,一般来说,设置网络IO能力和磁盘IO能力中最小者的300%的速度给re- synchronization是比较大慨 的(官方说明)。另外,drbd还提供了另有一个多多临时的rate更改命令,可不前要临时性的更改syncer的rate值: drbdsetup /dev/drbd0 syncer -r 3000M。另另有一个多多就临时的设置了re-synchronization的速度为3000M。不过在re-synchronization以后 以后 刚现在开始以前,你前要通过 drbdadm adjust resource_name 来让drbd按照配置中的rate来工作。

定义resource文件/etc/drbd.d/r0.res,内容如下:

node1主机配置ssh基于秘钥通信

这里使用yum安装,首先安装yum源,而且 再安装BRBD。

而且 要重启操作系统,使用新内核。启动时确认grub.conf底下默认启动的是新内核。

加载drbd内核模块,insmod与modprobe都能载入kernel module,不过一般差别于modprobe不用 处里module载入的依赖间题。

注: 也可不前要在要设置为Primary的节点上使用如下命令来设置主节点。

DRBD1主机IP:10.10.110.231

DRDB2主机IP:10.10.110.2300

以上文件在另有一个多多节点上前要相同,而且 ,可不前要基于ssh将刚才配置的文件全版同步至另外另有一个多多节点。

等数据同步完成以前,再查看状况(磁盘越大,数据格式化越久),可不前要发现节点机会实时状况,且节点机会有了累积,节点累积是根据左primary、右secondary显示。

MySQL作为最流行的数据库,它的高可用方案也是多种多样,其中用的比较多的是MHA+增强版半同步。而且 客户使用的是DRBD+RHCS的方案,通过各方寻找安装资料,最终形成另有一个多多全版的安装文档,供参考