有人玩过mysql drbd 双主架构吗

workming 的BLOG
用户名:workming
文章数:126
评论数:229
访问量:969198
注册日期:
阅读量:5863
阅读量:12276
阅读量:358818
阅读量:1054964
51CTO推荐博文
一、服务器分布及相关说明、服务器信息、总体架构、网络参数、元数据节点上需要额外部署的服务、系统环境、内核版本、需要启动的服务【注意:其他服务资源皆由此服务进行接管】二、编译安装描述详细信息请参考:DRBD源码包:注意:、内核版本为,推荐使用;、同时从内核版本开始,已作为标准组件默认自带。、安装用户空间工具、安装模块注意启动顺序:、启动服务,即“”,同时会动态加载一个内核模块;、最后挂载设备“”,推荐放在“”,不推荐修改“”。、主机名设置注意:为元数据主节点,名称为为元数据备用节点,名称为、节点、节点、信任部署、配置、全局公共配置global&{
&&&&&&&usage-count&
&&&&&&&#&minor-count&dialog-refresh&disable-ip-verification
&&&&&&&protocol&C;
&&&&&&&handlers&{
&&&&&&&&&&&&&&#&These&are&EXAMPLE&handlers&only.
&&&&&&&&&&&&&&#&They&may&have&severe&implications,
&&&&&&&&&&&&&&#&like&hard&resetting&the&node&under&certaincircumstances.
&&&&&&&&&&&&&&#&Be&careful&when&chosing&your&poison.
&&&&&&&&&&&&&&
&&&&&&&&&&&&&&pri-on-incon-degr"/lib/drbd/notify-pri-on-incon-degr./lib/drbd/notify-emergency-reboot.&echo&b&&&/proc/sysrq-trigger&;&reboot-f";
&&&&&&&&&&&&&&pri-lost-after-sb"/lib/drbd/notify-pri-lost-after-sb./lib/drbd/notify-emergency-reboot.&echo&b&&&/proc/sysrq-trigger&;&reboot-f";
&&&&&&&&&&&&&&local-io-error&"/lib/drbd/notify-io-error./lib/drbd/notify-emergency-shutdown.&echo&o&&&/proc/sysrq-trigger&;&halt-f";
&&&&&&&&&&&&&&#&fence-peer&"/lib/drbd/crm-fence-peer.sh";
&&&&&&&&&&&&&&#&split-brain&"/lib/drbd/notify-split-brain.shroot";
&&&&&&&&&&&&&&#&out-of-sync&"/lib/drbd/notify-out-of-sync.shroot";
&&&&&&&&&&&&&&#&before-resync-target"/lib/drbd/snapshot-resync-target-lvm.sh&-p&15&--&-c&16k";
&&&&&&&&&&&&&&#&after-resync-target/lib/drbd/unsnapshot-resync-target-lvm.
&&&&&&&startup&{
&&&&&&&&&&&&&&#&wfc-timeout&degr-wfc-timeout&outdated-wfc-timeoutwait-after-sb
&&&&&&&&&&&&&&wfc-timeout&0;
&&&&&&&&&&&&&&degr-wfc-timeout&120;
&&&&&&&&&&&&&&outdated-wfc-timeout&120;
&&&&&&&options&{
&&&&&&&&&&&&&&#&cpu-mask&on-no-data-accessible
&&&&&&&disk&{
&&&&&&&&&&&&&&#&size&max-bio-bvecs&on-io-error&fencing&disk-barrierdisk-flushes
&&&&&&&&&&&&&&#&disk-drain&md-flushes&resync-rate&resync-afteral-extents
&&&&&&&&&&&&&&#&c-plan-ahead&c-delay-target&c-fill-target&c-max-rate
&&&&&&&&&&&&&&#&c-min-rate&disk-timeout
&&&&&&&&&&&&&&on-io-error&
&&&&&&&&&&&&&&#fencing&resource-
&&&&&&&net&{
&&&&&&&&&&&&&&#&protocol&timeout&max-epoch-size&max-buffersunplug-watermark
&&&&&&&&&&&&&&#&connect-int&ping-int&sndbuf-size&rcvbuf-size&ko-count
&&&&&&&&&&&&&&#&allow-two-primaries&cram-hmac-alg&shared-secretafter-sb-0pri
&&&&&&&&&&&&&&#&after-sb-1pri&after-sb-2pri&always-asbp&rr-conflict
&&&&&&&&&&&&&&#&ping-timeout&data-integrity-alg&tcp-corkon-congestion
&&&&&&&&&&&&&&#&congestion-fill&congestion-extents&csums-algverify-alg
&&&&&&&&&&&&&&#&use-rle
&&&&&&&&&&&&&&timeout&60;
&&&&&&&&&&&&&&connect-int&10;
&&&&&&&&&&&&&&ping-int&10;
&&&&&&&&&&&&&&max-buffers&2048;
&&&&&&&&&&&&&&max-epoch-size&2048;
&&&&&&&&&&&&&&cram-hmac-alg&"sha1";
&&&&&&&&&&&&&&shared-secret&"my_mfs_drbd";
&&&&&&&syncer&{
&&&&&&&&&&&&&&rate&1000M;
}、存储资源配置resource&mfs_store&{
&&&&&&&on&&{
&&&&&&&&&&&&&&device&/dev/drbd0;
&&&&&&&&&&&&&&disk&/dev/sda4;
&&&&&&&&&&&&&&address&10.185.15.241:7789;
&&&&&&&&&&&&&&meta-disk&
&&&&&&&on&&{
&&&&&&&&&&&&&&device&/dev/drbd0;
&&&&&&&&&&&&&&disk&/dev/sda4;
&&&&&&&&&&&&&&address&10.185.15.242:7789;
&&&&&&&&&&&&&&meta-disk&
}【注意:配置文件、,在主从节点上需保持一致】、分区设置删除空闲的分区,并重新分区,但无需格式化去掉的挂载项【注意:以上操作在主从节点都需进行】、服务操作与上初始化资源,并启动服务提升为主节点【注意:正在将节点的“”分区同步到节点的“”分区,需要稍等一段时间】格式化主节点,并挂载、主从节点角色切换测试主节点()上执行:从节点()上执行:、解决脑裂问题一般情况下会出现类似如下信息:从节点上执行:主节点上执行:三、编译安装概述:是一种分布式文件系统,文件系统结构包括以下四种角色:、管理服务器()、元数据日志服务器()、数据存储服务器()、客户机挂载使用各种角色作用:、管理服务器:负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复,多节点拷贝;、元数据日志服务器:负责备份服务器的变化日志文件,文件类型为,以便于在出问题的时候接替其进行工作;、数据存储服务器:负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输;、客户端:通过内核接口挂接远程管理服务器上所管理的数据存储服务器,看起来共享的文件系统和本地文件系统使用一样的效果。相关说明:此处,我们没有用到节点,因为已经通过对元节点进行了网络备份容灾。节点部署【注意:后续会修改为】监控平台,修改默认绑定地址和端口:访问:【注意:后续以的方式进行访问】节点部署【注意:后续会修改为】、节点部署【注意:后续会修改为】可以添加多个路径、节点部署运行以下命令,否则挂载系统会失败【注意:后续会修改为】设置文件副本数设置删除文件后空间回收时间取消本地挂载、一点建议安全停止集群,建议如下步骤:客户端卸载文件系统停止进程停止主控进程安全启动集群,建议如下步骤:启动主控进程启动进程客户端挂载文件系统四、()、相关描述详细信息请参考:、一些准备工作、为提供格式启动脚本#!/bin/sh
#&mfsmaster&-&this&scriptstart&and&stop&the&mfs&metaserver&daemon
#&chkconfig:&345&91&10
#&description:&startupscript&for&mfs&metaserver
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MFS_PATH="/usr/local/mfs/sbin"
LOCK_FILE1="/usr/local/mfs/var/mfs/.mfscgiserv.lock"
LOCK_FILE2="/data/mfsmetadata/.mfsmaster.lock"
.&/etc/rc.d/init.d/functions
.&/etc/sysconfig/network
&&&&&&&[[&-z&`netstat&-ntlp&|&grep&mfsmaster`&]]&&&&rm&-f&${LOCK_FILE2}
&&&&&&&[[&-z&`ps&aux&|&grep&mfscgiserv&|&grep&-v&grep`&]]&&&&rm&-f&${LOCK_FILE1}
&&&&&&&if&[[&-z&`netstat&-ntlp&|&grep&mfsmaster`&&&&-n&`ps&aux&|&grep&mfscgiserv&|&grep&-v&grep`&]];&then
&&&&&&&&&&&&&&kill&-9&`ps&aux&|&grep&mfscgiserv&|&grep&-v&grep&|&awk&'{print&$2}'`
&&&&&&&&&&&&&&rm&-f&${LOCK_FILE1}&${LOCK_FILE2}
&&&&&&&$MFS_PATH/mfsmaster&start
&&&&&&&$MFS_PATH/mfscgiserv&start
&&&&&&&$MFS_PATH/mfsmaster&stop
&&&&&&&$MFS_PATH/mfscgiserv&stop
restart()&{
&&&&&&&$MFS_PATH/mfsmaster&restart
&&&&&&&$MFS_PATH/mfscgiserv&restart
status()&{
&&&&&&&$MFS_PATH/mfsmaster&test
&&&&&&&$MFS_PATH/mfscgiserv&test
case&"$1"&in
&&&&&&&start
&&&&&&&stop
&&&&&&&restart
&&&&&&&status
&&&&&&&echo&$"Usage:&$0&start|stop|restart|status"
&&&&&&&exit&1
exit&0【注意:主从节点上皆执行】、关闭服务并卸载设备【注意:只针对主节点】【注意:主从节点上皆执行】、修改文件中的指向【注意:包括主节点、从节点、数据节点、客户端】、高可用配置、基础安装、主配置修改compatibility:&whitetank
&&&&&&&version:&2
&&&&&&&secauth:&on
&&&&&&&threads:&16
&&&&&&&interface&{
&&&&&&&&&&&&&&ringnumber:&0
&&&&&&&&&&&&&&bindnetaddr:&10.185.15.192
&&&&&&&&&&&&&&mcastaddr:&226.94.1.1
&&&&&&&&&&&&&&mcastport:&5405
&&&&&&&&&&&&&&ttl:&1
&&&&&&&fileline:&off
&&&&&&&to_stderr:&no
&&&&&&&to_logfile:&yes
&&&&&&&to_syslog:&no
&&&&&&&logfile:&/var/log/cluster/corosync.log
&&&&&&&debug:&off
&&&&&&&timestamp:&on
&&&&&&&logger_subsys&{
&&&&&&&&&&&&&&subsys:&AMF
&&&&&&&&&&&&&&debug:&off
&&&&&&&mode:&disabled
&&&&&&&ver:&0
&&&&&&&name:&pacemaker
&&&&&&&user:&root
&&&&&&&group:&root
}、生成使用生成时,由于要使用生成随机数,因此如果新装的系统操作不多,没有足够的熵,可能会出现如下提示:此时只需要在本地登录后狂敲键盘即可!【注意:需要把、也拷贝到备用节点上】、服务启动【注意:在两个节点上都需要执行】、资源管理详细配置禁用、忽略法定票数、设置资源粘性【注意:如果已经设置了,就无需设置】添加资源添加文件系统资源添加资源定义服务定义约束(排列约束、顺序约束)【注:挂载资源追随主资源】【注:节点上存在才能启动服务】【注:服务追随挂载资源】【注:服务启动才能启动服务】【注:追随服务】【注:启动才能启动服务】五、元数据节点测试、模拟主从节点自动切换切换前切换后对下线的节点进行上线、模拟元数据服务挂掉## 挂掉前## 模拟挂掉操作## 挂掉后注意:掉服务后,服务是不会自动重启的。因为节点没有故障,所以资源不会转移,默认情况下,不会对任何资源进行监控。所以,即便是资源关掉了,只要节点没有故障,资源依然不会转移。要想达到资源转移的目的,得定义监控。虽然我们在资源定义中加了“”选项,但发现并没有起到作用,服务不会自动拉起,所以通过加监控脚本的方式暂时解决。#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
VIP=`awk&'/mfsmaster/&{print&$1}'&/etc/hosts&`
[[&-z&`/sbin/ip&addr&show&eth1&|&grep&${VIP}`&]]&&&&exit&1
ONLINE_HOST=`/usr/sbin/crm&status&|&awk&'/mfsserver/&{print&$4}'`
CURRENT_HOST=`/bin/hostname`
[[&"${ONLINE_HOST}"&!=&"${CURRENT_HOST}"&]]&&&&exit&1
[[&-z&`netstat&-ntlp&|&grep&mfsmaster`&]]&&&&/sbin/service&mfsmaster&start、模拟服务挂掉【注意:在测试这一步的时候,可以将前面加的项临时去掉,以避免不必要的麻烦】【注意:上的服务在被停掉后会自动拉起,同时也会自动将主节点切换到】、模拟服务挂掉目前在线提供服务的是节点,选择“关闭服务”或者“重启服务器”皆可,我们这里选择“重启服务器”&本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
18:36:43 16:33:01 11:13:57 11:14:58 15:25:36 09:59:21 12:04:49 20:18:06 09:44:39DRBD故障和恢复办法测试
drbd1主服务器;drbd2备服务器;
<span style="color:#、 正常情况下
a)&&&&&&&&主服务器drbd1显示:
b)&&&&&&&&备服务器drbd2显示:
2、 主服务器drbd1的网络出现故障,备服务器处于正常状态
a)&&&&&&&&当前状态
主服务器drbd1此时显示为:
主服务器处于StandAlone状态,表示网络配置不可用,资源还没有被连接或者是被管理断开。
备服务器drbd2此时显示为:
当drbd2探测到对等节点宕机(无论是真正的硬件故障还是人工干预),drbd2都将其连接状态有Connected变为WFConnection,直到对等节点恢复。Drbd资源会在此时运行disconnected模式下。在disconnected模式下,资源以及和棋相关的块设备都是可用的,并可以在必要时进行升降级,但是并不能将修改复制到对等节点。
b)&&&& 处理方法
将备服务器drbd2提升为主服务器,提供服务,操作如下:
新数据将写入drbd2服务器中保存。
c)&&&&& drbd1节点恢复正常后
drbd1当前状态为StandAlone,此时,drbd1是不会和drbd2互相联系的。
将drbd1节点降级为备服务器,然后连接当前主服务器drbd2,操作如下:
3、 备服务器drbd2的网络出现故障,主服务器处于正常状态
a)&&&&&&&&当前状态
主服务器drbd1此时显示为:
备服务器drbd2此时显示为:
b)&&&&&&&&处理方法
不做处理,还是由主服务器提供服务,数据还是写入主服务器drbd1中,但数据未被同步到drbd2中。
c)&&&&&&&&drbd2节点恢复后
在drbd2服务器上操作如下,能清楚看到drbd2节点与drbd1主服务器连接上了,会进行同步,将主服务器上drbd1的数据同步过来,最后达到一致状态。
drbd1主服务器状态变化如下:
4、 主服务器drbd1和备服务器drbd2都出现故障
a)&&&&&&&&当前状态
主服务器drbd1此时显示为:
备服务器drbd2此时显示为:
表示主备节点都处于单机状态,互相失去联系。
b)&&&&&&&&处理方法
当所有节点都处于宕机状态时,不能继续提供服务,只能手动恢复一个或者多个节点。
c)&&&&&&&&当只有一个节点(主服务器drbd1或者备服务器drbd2)可恢复故障
此时处于单机状态,不用其他操作,单机提供服务即可,可往磁盘读取数据,等待另一个节点的恢复后再进行后续操作。
d)&&&&&&&&当主服务器drbd1节点先恢复故障,备服务器drbd2后恢复故障。
主节点恢复后,提供服务,数据存于drbd1节点的磁盘中,而后drbd2节点也恢复后,互相不能联系,此时处于脑裂状态,两节点都处于standalone状态,如下所示:
恢复步骤为:
第一步,在drbd2备服务器上操作:
第二步,在drbd1主服务器上操作后,连接上drbd2:
第三步,在drbd2备服务器上状态变化为:
此时,主备节点都相互联系上,drbd1主服务器上的数据会同步到drbd2备服务器上。
e)&&&&&&&&当备服务器drbd2节点先恢复故障,主服务器drbd1后恢复故障。
备服务器先恢复,则将备服务器drbd2升级为主服务器,提供服务,待原来的主节点drbd1恢复后则降为备服务器节点,drbd2上的数据将会同步到drbd1上。
备节点恢复后,如果之前主节点有挂载磁盘,则先卸载掉,在drbd1节点上操作如下:
在drbd2节点(当前主服务器)操作如下:
此时,drbd1节点成为备服务器,联系上主节点drbd2,主节点drbd2的数据将同步到drbd1上。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1182次
排名:千里之外
(5)(1)(1)(2)drbd有关问题,这是什么有关问题如何解决
&来源:读书人网&【读书人网():综合教育门户网站】
drbd问题请教各位高手指点,这是什么问题怎么解决?root@file2 d]# service drbd startStarting DRBD resour
drbd问题请教各位高手指点,这是什么问题怎么解决?root@file2 d]# service drbd startStarting DRBD resources: [ &
create res: r0 &
prepare disk: r0 &
adjust disk: r0:failed(attach:10) &
adjust net: r0]unable to join drbd events multicast group.[root@file2 d]# tail /var/log/messagesFeb 15 02:19:58 file2 kernel: d-con r0: conn( StandAlone -& Unconnected )Feb 15 02:19:58 file2 kernel: d-con r0: Starting receiver thread (from drbd_w_r0 [5060])Feb 15 02:19:58 file2 kernel: d-con r0: receiver (re)startedFeb 15 02:19:58 file2 kernel: d-con r0: conn( Unconnected -& WFConnection )Feb 15 02:19:58 file2 kernel: d-con r0: Handshake successful: Agreed network protocol version 100Feb 15 02:19:58 file2 kernel: d-con r0: Peer authenticated using 20 bytes HMACFeb 15 02:19:58 file2 kernel: d-con r0: conn( WFConnection -& WFReportParams )Feb 15 02:19:58 file2 kernel: d-con r0: Starting asender thread (from drbd_r_r0 [5062])Feb 15 02:19:58 file2 kernel: block drbd1: max BIO size = 4096Feb 15 02:19:58 file2 kernel: block drbd1: peer( Unknown -& Primary ) conn( WFReportParams -& Connected ) pdsk( DUnknown -& UpToDate )[root@file2 d]# service drbd statusdrbd driver loaded OK; device status:version: 8.4.1 (api:1/proto:86-100)GIT-hash: 91b4c048c1a0ed312b38d47abaea80 build by root@file2,
23:40:48m:res
fstype1:r0
Secondary/Primary
Diskless/UpToDate
C[root@file2 d]#可能是他unable to join drbd events multicast group的原因我的文件同步不成功[root@file1 d]# service drbd statusdrbd driver loaded OK; device status:version: 8.4.1 (api:1/proto:86-100)GIT-hash: 91b4c048c1a0ed312b38d47abaea80 build by root@file1,
02:42:36m:res
fstype1:r0
Primary/Secondary
UpToDate/Diskless
ext3[root@file1 d]#[解决办法]unable to join drbd events multicast group这个查了下源代码C/C++ code
if (cm-&continuous_poll) { 1358
if (genl_join_mc_group(drbd_sock, &events&) && 1359
!kernel_older_than(2, 6, 23)) { 1360
fprintf(stderr, &unable to join drbd events multicast group\n&); 1361
return 20; 1362Tags: ,,,.
这两天请了一干人在开展自媒体的圆桌讨论。
从什么是自媒体开说到怎么才是自媒体、怎么能吸引粉丝、大家对自媒体有何误解、为什么有人需要自媒体,还有一些什么做的初衷等等……一堆闲而无当的谈话杂碎。
我觉得,所有搞传播的,只澄清两个问题即可解决一大半,那就是:谁在说?谁在听?
又或,说话者是谁?听话者又是谁?
老罗所推崇的“魅力人格体”或“人格清晰度”,只是作为说话者的一种表达方式,并把这样的表达方式当成自己的“招牌菜”去招揽营生,这种表达方式也许会更投巧、更卖乖、更让人哈哈一乐,但是,这能说明什么?
这什么都说明不了,如果他的听者是具备一定的辨识能力,他的这种传播方式仅仅是一枚很另类的信息接收器。
作为听者,我接收到你这条信息不会仅仅是只接收,我需要不断回嚼、思考、判断,然后决定是否同意或弃之云外。
这也是自媒体人天真无邪下的一种异端妄想,他们总是认为:我只要用很个性、很牛逼的表达方式把信息群发给听者,就万事大吉了,只要我能坚持下去,我就可以是自媒体了。
我个人很喜欢老罗,我是老罗的听者,我也不排斥所有高举,我都尽量成为他们的听者,但是,我很难成为他们的听话者,因为,据我仅限的目测高度:
他们目前都极力要把自己扮演成一位相声演员,可悲的是,相声演员的主要功效在「演」。
一个只会表演的媒体人,拿什么让我相信他的话语权是货真价实的呢?不客气的再带一句,一个给听者带不来信任的媒体人,还能蹦跶多久呢?
华尔街中文版黄锫坚撰文:
忘掉自媒体,那是媒体遗老遗少们最后的泥饭碗。去拥抱“我们即媒体”吧,当前的中国,需要更多“临时记者”,需要独立思考和有洞见的分析,需要点评梳理公共事件的志愿者。这一次,每个个人(媒体)的可信度,不是来自官方认可,而是来自声音市场的竞争和长年累月的人品积累。
是滴,人品大于叫嚣。。
==========
偏安一隅,只读互联网上有腔调的文字。「微信号:搜索&#8221;小欧&#8220;」
&#8212; 小欧 @ 13:12
王小峰的,带三个表
想法说法,自弹自唱
放心关注,不会怀孕
胡乱摆放,很少整理
我只知道,自己无知
喜欢就订,省得访问
偶尔上上,看看书评

我要回帖

更多关于 linux drbd 的文章

 

随机推荐