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

  • 时间:
  • 浏览:1
  • 来源:大发彩神下载—大发彩神APP

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

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

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

文件系统的挂载那末 在Primary节点进行,但会 ,也那末 在设置了主节点后也能对drbd设备进行格式化:

加载内核不可能 突然 冒出“FATAL: Module drbd not found.”错误。这是不可能 系统默认的内核并不支持此模块,就是我有时需更新内核。

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

对主Primary/Secondary模型的drbd服务来讲,在某个时刻那末 有还还有一个多节点为Primary。但会 ,要切换还还有一个多节点的角色,那末 在先将原有的Primary节点设置为Secondary后,也能那我的Secondary节点设置为Primary。

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上完成。主配置文件:

安装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能力每秒那末 400M,那末 实际的处置能力就那末 400M,一般来说,设置网络IO能力和磁盘IO能力中最小者的400%的速率单位给re- synchronization是比较至少的(官方说明)。另外,drbd还提供了还还有一个多临时的rate更改命令,还可不能能临时性的更改syncer的rate值: drbdsetup /dev/drbd0 syncer -r 400M。那我就临时的设置了re-synchronization的速率单位为400M。不过在re-synchronization开始英文英文事先,你时需通过 drbdadm adjust resource_name 来让drbd按照配置中的rate来工作。

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

再次查看具体情况,还可不能能发现数据同步过程不可能 开始英文英文(达到400%后再继续操作):

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

1)还还有一个多磁盘,不可能 是磁盘的某还还有一个多分区;

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

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

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

5)就是我任何的块设备。

以上文件在还还有一个多节点上时需相同,但会 ,还可不能能基于ssh将刚才配置的文件完整同步至另外还还有一个多节点。

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

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

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

drbdadm

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

drbdsetup

还可不能能让用户配置不可能 加载在内核中运行的DRBD模块,它是底层的DRBD进程管理套件工具。使用该命令时,所有的配置参数都时需直接在命令行中定义,我人太好命令灵活,但会 大大的降低了命令的简单易用性,但会 就是我有的用户很少使用drbdsetup。

drbdmeta

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

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

启动node1节点后,会突然 去等待的图片 node2节点启动drbd,就是我还还有一个多节点通信成功后,node1节点就会马上启动完成。

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

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

也还可不能能使用drbd-overview命令来查看:

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

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

在高可用(HA)中使用DRBD功能,还可不能能代替使用还还有一个多共享盘阵。本地(主节点)与远程主机(备节点)的数据还可不能能保证实时同步。当本地系统突然 冒出故障时,远程主机上后要 保留有一份相同的数据,还可不能能继续使用。时需说明就是我的是DRBD只支持还还有一个多节点不支持多节点。

DRBD镜像数据

实时性:当应用进程修改磁盘上的数据时,克隆技术立即趋于稳定。

透明性:应用进程不时需意识到数据存储在多个主机上。

同步或异步:通过同步镜像,在所有主机上执行写操作后,才会通知应用进程写入完成。使用异步镜像时,应用进程在本地完成写入操作后要 收到写入完成的通知,这通常是在它们传播到就是我主机事先。

DRBD1主机IP:10.10.110.231

DRDB2主机IP:10.10.110.2400

使用下面的命令查看在此前在主节点上克隆技术至此设备的文件有无趋于稳定。

DRBD的核心功能是通过Linux内核模块实现的。具体而言,DRBD中有 还还有一个多虚拟的块设备,但会 DRBD趋于稳定系统的I/O堆栈底部附过。但会 ,DRBD非常灵活和多功能,这使得它成为适用于为任何应用进程增加高可用性的克隆技术处置方案。

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

但会 要重启操作系统,使用新内核。启动时确认grub.conf上面默认启动的是新内核。

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芯片实现将数据分两份按位对应存储到不同的磁盘上实现数据块的同步。

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

加载drbd内核模块,insmod与modprobe都能载入kernel module,不过一般差别于modprobe也能处置module载入的依赖问题图片。

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

查看具体情况:

这里时需先把primary节点变更为secondary节点,不可能 不执行你类事 命令,直接在备用节点执行切换到主节点的命令,会报错:

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

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

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

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

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

网络配置:双方数据一起所使用的网络属性如网络速率单位、数据加密等。

不可能 我后来降级语录,只时需在对应的主节点上使用如下命令即可。

等数据同步完成事先,再查看具体情况(磁盘越大,数据格式化越久),还可不能能发现节点不可能 实时具体情况,且节点不可能 有了每段,节点每段是根据左primary、右secondary显示。

这里使用yum安装,首先安装yum源,但会 再安装BRBD。

不可能 DRBD将数据发送给对端服务器事先时需选用对方的提前大选 以选用数据有无安全存储,但会 DRBD进程才退出,最终应用进程完成数据存储。那我一来DRBD发送数据并接收到提前大选 的时间就是我应用进程执行的过程时间。就是我有又涉及到了数据安全跟性能之间平衡了,DRBD提供了异步、半同步、同步等工作最好的土办法,自行考量选用。

异步克隆技术:异步克隆技术协议。一旦本地磁盘写入不可能 完成,数据包已在发送队列中,则写被认为是完成的。在还还有一个多节点趋于稳定故障时,不可能 趋于稳定数据丢失,不可能 被写入到远程节点上的数据不可能 仍在发送队列。尽管,在故障转移节点上的数据是一致的,但那末 及时更新。这通常是用于地理上分开的节点。

半同步克隆技术:内存同步(半同步)克隆技术协议。一旦本地磁盘写入已完成且克隆技术数据包达到了对等节点则认为写在主节点上被认为是完成的。数据丢失不可能 趋于稳定在参加的还还有一个多节点一起故障的具体情况下,不可能 在传输中的数据不可能 我太少 被提交到磁盘。

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

赋予执行权限:

从上面的信息中还可不能能看出此时还还有一个多节点均趋于稳定Secondary具体情况。于是,就是我人接下来时需将其中还还有一个多节点设置为Primary。

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