




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、构建 heartbeat 3. 0.3 gui+drbd+oracle log 双机互备集群一、系统环境引用操作系统:asianux 3. 0 sp2 for x86_64drbd 版本:8. 3.8heartbeat 版本:3. 0. 3oracle 版本:两服务器:drbdl. l inuxfly. org: 192. 168. 228. 133drbd2. linuxfly. org: 192. 168. 228. 134drbd镜像分区:资源名称:oradata设备:/dev/drbdo挂载点:/oradata (存放orac 1 e实例)二、安装 heartbeat
2、3. 0. 3这里将使用我自行编译的rpm包,通过yum來安装。1、配置yum环境假设把压缩包解压到/root/rpms目录下。然后在/etc/yum. repos, d屮创建以下文件:引用# cat heartbeat, repoheartbeatname二heartbeat 3baseur1二fi1e:/root/rpmsenabled二12、安装先卸载旧的包:# rpm -e 'rpm -qa|grep heartbeat# rpm e rpm -qa|grep openais然后用yum安装:# yum instal1 pacemaker corosync heartbeat
3、1directord pacemaker-mgmt pacemaker-mgmt-client ldirectord探ldirectord用于lvs环境,若您不需要,可不安装三、配置 heartbeat 3实际上,heartbeat 3与2. x的配置差别并不大,很多内容都是相通的。1、配置 authkeys这里我用随机数来获得密钥:引用# (echo -ne /?auth lnl shal "dd if=/dev/urandom bs二512 count二 1 | openssl md5) > mathkeys# cat authkeysauth 11 shal 036657
4、7bdaed36f08b5flc29431812dc探注意,authkeys的权限必须是6002、配置 ha. cf引用# grep -v ' "#' ha. cfdebugfile /var/log/hadebuglogfile /var/log/ha-loglogfacility local 0keepalive 2deadtime 30initdead 30udpport 694mcast etho 239. 0. 0. 1 694 1 0 #使用多播方式进行相互通信 auto fail back on node? drbdl. node
5、 drbd2. linuxfly. orgcompression bz2compression threshold 2erm respawn#以卜两行是pacemaker-mgmt提供的hb gui连接所必须的,2. 1.4时没有apiauth mgmtd uid=root#注意,下面文件的路径不能有错(可查询pacemaker-mgmt包),并且一定是可执行文件 respawn root /usr/1ib64/heartbeat/mgmtd -v两文件保存后,同步到另一节点上:# /usr/share/heartbeat/hajpropagate3、启动 heartbeat在两节点上启动he
6、artbeat 3:# service heartbeat start四、pacemaker (crm)pacemaker是heartbeat项目将原有的erm组件独立出來形成的项目(当然,除了 heartbeat外,还支持openais),它在heartbeat3集群中的角色就是crm (其实如今crmd 也只是pacemaker的一个部分)。只有heartbeat不能完成任何工作,packemaker负责整 个集群资源的定义、调度,是集群的核心内容。简单而言,整个集群的运行情况是这样的:heartbeat确保节点之i'可通信;packemaker 确定集群拥有那些资源,根据服务器的
7、性能状态、资源的约束关系确定资源在哪一个节点上 运lrm (lrm程序包含在cluster-glue中)按照crm的要求启动相应的资源,并将资源 的状态返回给pacemaker; pacemaker根据lrm的返回决定下一步的动作。pacemaker 提供 erm shell 工具,rfn pacemaker-mgmtpacemaker-mgmt-client 贝ij提 供了 hb_gui图形工具。1、设定用户为可以使用hb_gui图形工具,需要设定一个用户。该用户可以是默认的hacluster, 可以是属于had ient组的用户:# useradd linuxing -g haclient
8、# passwd linuxing进入xvin后,即可通过hb_bui命令打开图形的配置和管理工具:0 paceaaker回区i4«c) is(y)e«(s)x«<t) wm(h)live0<> oq 噂題 <0 drbdl .linuxfl/ org _ 妙节百个诵heartbeat & pacemaker字 ctbd2.lirwxfv.org (王ift点)pacemer-l .03016ff77dbf9-3344-42ec-86f7-955s21367387vamme vmth: crm feature set: epoch:
9、num updated. have quorum: dc uuid.己連怯12700g疥oerm shell不需要特定的用户,主要管理员登陆到机器上即可使用。2、使用不同的管理工具pacemaker既然提供多种管理工具,例如我这里提到的erm shel l > hb_gui等,它们 的作用是相同的,在其官网上还提供了其他,如基于ajax web方式的管理工具等,可从这 里获得源码包。下面,我以修改其中一个属性为例简单说明一下:关闭st0n1th支持默认的情况下pacemaker中启用了 stonith,但是我们实际部署集群时可能一般都不会 用到stonith资源。当启用了 stonith
10、而集群中又没有stonith资源吋,集群中的资源都是 无法启动的。在启动资源时会报错:引用jul 15 02:01:19 drbdl mgmtd: 25127: error: unpack resources: resource start-up disabled since no stonith resources have been definedjul 15 02:01:19 drbdl mgmtd: 25127: error: unpack_resources: either configure some or disable stonith with the stonithenabl
11、ed optionjul 15 02:01:19 drbdl mgmtd: 25127: error: unpack_resources: note: clusters with shared data need stonith to ensure data integrity解决办法,就是把stonith-enabled选项禁用。a erm shell 方式在pacemaker包中提供erm shel 1方式。其中,erm是一个非常友好的,同时支持交互和非交互两种模式的集成命令;此外,还有一 些按功能划分的独立命令,例如:erm mon、crm resourcex cibadmi n等(可参
12、考heartbeat 2. x) o下面两条命令都能关闭stonith:# ermattribute -t crmconfig -n stonithenabled -v false# erm configure property stonith-enabled二"false"若要进入erm的交互模式,可直接运行erm即可:引用# ermerm (1 ive )#在该环境下,敲入help可获取帮助信息。敲入对应的命令,可进入下一层菜单,用cd、 或end、up都可以返回上一层,exit退出。探注意,独立的管理命令及非交互模式下的cnn,在输入命令后会马上生效;而交互 默认下的
13、cnn,必须手动用commit命令提交后,配置才能生效。因cm使用方便,在管理 时经常使用。b、hb_gui 方式这是在xwin下面的gui管理方式,从heartbeat 2. x就已经提供。在heartbeat 3中 必须独立安装pacomakor-mgmt和paccinaker-ingmt-cliont才能用到,并且,需要在ha. cf中打开mgmtd支持。以关闭stonith为例,可在下血的窗口中修改:思pace akeir口问冈««£)2«(v)shadow ex(s) i*(t) mm(h)£=3q d喑題丨科live n (3康13
14、引華crm寻冋叭node he对th strategynone燃省】:node health yellow:0ape error series-1pe input series m:pe wn series m很:-1remove after stop:stcrt fure 1$ fatm0startup fencina:0stonith action"reboot 过省=|1000000stoeth enabled:storath timeout60$stoo all resources:stop orphan actions:stoo orphan rescxjrces:syfr
15、/ncwic clusternocie health red:在pacemaker-mgmt提供了新的管理界面,并且可以跨机器登陆管理。远程管理时,必 须使用远端机器上的hacluster用户,或属于hadinet组的管理账号(heartbeat 2. x只 能在本机127. 0. 0. 1上登陆管理)。另外,若当前连接的是本地,而手动把heartbeat服 务关闭时,hb_gui会通过相同的用户名和密码尝试连接到集群节点中的其他机器上,继续 追踪集群状态。hb_gui的设定,在点击“应用”或“确认”后会马上生效。五、使用pacemaker进行配置为方便说明,我将以erm命令方式讲解,当然,同
16、样的,你也可以用hb_gui来实现。1、清空旧配置文件执行:# erm configure erase或者以enn交互方式提交:引用# ermerm (live)# configurecrm(live)configure# eraseerm(1ive)configure# commiterm(1ive)configure# exitbve2、关闭 quorumpacemaker川有quorum的概念,即集群中必须有一半的节点处于online的状态,则集 群被认为是have quorum (可以认为是达到合法节点数要求)。如果少于一半的节点在线, 那么pacemaker认为集群达不到节点数要求,
17、从而拒绝启动集群屮的资源。但是这种策略对 于2个节点的集群明显是不合理的,所以就会发生当2个节点的集群其中一个节点失效时所 有的集群都无法启动的情况。同样的,也关闭stontth,执行:# erm configure property no-quorum-policy二ignore# erm configure property stonith-enabled二"false"这是当前的配置情况:引用# erm configure shownode $id=/ff77dbf9-3344-42ec-86f7-955521a67387/,drbd2. linuxfly. org
18、node $id=/ffc0848a-f475-49be-814e-lb247389d819/ drbdl. linuxfly. org property $id二"cib-bootstmp-options" dc-version=z/l. 0. 9-89bd754939df5150de7cd76835f98fe90851b677,z cluster-infrastructure=/zheartbeat,z no-quoruin-po 1 i cy二"i gnore" stonith-e nablecl 二"false"3、配置 dr
19、bd+oracle如1 原构建heartbeat 2. 1. 3 gui+drbd+oracle log双机互备集群一文中提到的一样, 把drbd设置为主备资源,其他oracle资源放在同一个组里面,并通过“顺序”、“协同” 等限制条件让两资源配合运行。根据监控的情况,加入start超时monitor间隔时间等 操作。进入erm交互模式:引用# erm configureerm (live)configure#然后在configure状态下输入以下内容:引用primitive drbd_oracle ocf:linbit:drbd params drbd resourceoradata op
20、monitor interval二15sprimitive fs_oracle ocf:heartbeat:filesystem params device=,z/dev/drbd/by-res/oradata directory二"/oradata” fstype=ext3" primitive ip_oracle ocf:heartbeat:ipaddr2 params ip二"192. 168.228.136" nic二etho" cidr_netmask=/24primitive oiacle_instant ocf:heartbeat
21、:oracle op monitor interva二"120" timeout二“30" op start interval="0" timeout二"120" params sid二otc1primitive oracle lsnrct1 ocf:heartbeat:oralsnr params sid二"orc1 operations $id=0tacle_lsnrctl.-operations" op monitor interval二"10 timeout二"30 group
22、 group_oracle ip_oracle fs_oracle oracle_lsnrctl oracle_instant meta target-role二started" is-inanaged二气rue" ms ms drbd oracle drbd oracle meta master-max=zzr,master-node-max二 1" clone-max二"2" clone-node-max=t notify二true"colocation oracle on drbd inf: group oracle ms dr
23、bd oracle:masterorder oracle after drbd inf: ms drbd oracle:promote group oracle:start 最后用commit提交即可。探说明:引用a、根据drbd官网的资料,ocf:heartbeat:drbd已经被丢弃,不建议使用,故用ocf: 1 inbit:drbd 代替;b ip的设定ra,用ocf: heartbeat: ipaddr2,其用ip命令设定虚拟ip,虚拟ip生 效后,用ifeonfig命令看不到,可用ip addr查看;c输入上述命令时,"j能会提示警告,startstop的超时时间少于建议值
24、等,这对 根据应用启动、停止的实际环境在“操作”中加入(可参考oracle.instant资源);d、ms是设置“主备资源”;colocation 是设置"协同”限制,即 group_oracle 0 ms_drbd_oracle 必须在同一 台机器上运行,并且若ms drbd oracle不能作为master运行时,不会运行group oracle, 相反group_oracle的状态不会影响ms_drbd_oracle;g、order是设置“顺序”限制,即先激活ms_drbd_oracle资源(把drbd设备设置为 primary状态),然后再启动group oracle组资源;
25、f、挂载操作中,/dev/drbd/by-res/oradata是为了方便使用,由drbd创建的一个指 向/dev/drbdo的链接;h、如果您输入的命令比较长,可以用“”调到下一行继续,但是必须注意,下一行前 面的空白只能用空格,不能用tab等字符。4、启动group_oracle资源组配置提交后,两资源会自动运行(根据全局配置,有延迟),也可手动启动:# erm resource start group oracle5、查看状态:引用# erm statuslast updated: thu jul 15 15:39:20 2010stack: heartbeatcurrent dc: d
26、rbdl. 1 inuxfly. org (ffc0848a-f475-49be-814etb247389d819) - partitionwith quorumversion: 1. 0. 9-89bd754939df5150de7cd76835f98fe90851b6772 nodes configured, unknown expected votes2 resources configured.online: drbd 1. drbd2.1 inuxfly. org resource group: group oracleip_oracle (ocf:hear
27、tboat:ipaddr2): started drbdl. fsoracle (ocf:heartbeat:filesystem): started drbd1. oracle lsnrctl (ocf:heartbeat:oralsnr): started drbdl. linuxfly. org oracle_instant (ocf:heartbeat:oracle): started drbdl. linuxfly. org master/slave set: ms_drbd_oraclemasters: drbdl.lirwxfl
28、 slaves: drbd2 linuxf1y. org 图形下的状态:pacemakerlivecrm如、省财l节恵个heartbeat & pacemakerb 1-酸 drbdl .聊(王i那点巴gffqp 巧 m$_drbd_oracleq主从竟巒d drbd_oracfe:0,运笊主=f tdrmi locf:1inb(t:»bdr drbd_oracle:1 世俶戻幵drbd2 'ocf:jinbit:drbd q *oup_oractej) i
29、p.oracie 回忏drbduocf: heartbeat :lp3dt2j) fjoracte' _ 运讦drbdl locf heartbeat :file$y$temf oracie_l$nrctl 回忏drbduocf: heartbeat xjralsnrj)' isirf tdrbdl locf heartbeat :oracievafcfete mth: crm feature set: epoch:num upcfetes: have quorum: dc uuid:cib l
30、ast witten:pacemaker-1.03.013125ffco848a-f475-49be-614e-1 b247389d819 thu jul 15 13 50:14 2010探注意:因为使用的是ipaddr2的ra,虚拟ip地址用ifconfig命令是看不到的,可用ip addr查 看:引用# ip addr1: lo: mtu 16436 qdisc noqueuelink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127. 0. 0. 1/8 scope host loinet6 :1/128 scope hos
31、tvalid 1ft forever preferred 1ft forever2: etho: mtu 1500 qdisc pfifo_fast qlen 1000link/ether 00:50:56:85:47:4f brd ff:ff:ff:ff:ff:ffinet 192. 168. 228. 133/24 brd 192. 168. 228. 255 scope global ethoinet 192.168. 22& 136/24 brd 192. 168. 228. 255 scope global secondary ethoinet6 fe80:250:56ff:
32、fe85:474f/64 scope linkvalid 1ft forever preferred 1ft forever3: sito: mtu 1480 qdisc nooplink/sit 0. 0. 0. 0 brd 0. 0. 0. 06、手动切换执行:# erm resource migrate group oracle drbd2. 1 状态:引用# erm statuslast updated: thu jul 15 15:45:03 2010stack: heartbeatcurrent dc: drbdl. linuxfly. org (ffc084
33、8a-f475-49be-814e-lb247389d819) - partitionwith quorumversion: 1. 0. 9-89bd754939df5150de7cd76835f98fe90851b677 2 nodes configured, unknown expected votes2 resources configured.online: drbdl. 1 inuxfly. org resource group: group_oracleip oracle (ocf:heartbeat:tpaddr2): started drbd
34、2. 1 fs oracle (ocf:heartbeat:filesystem): started drbd2. 1 oracle_lsnrctl (ocf:heartbeat:oralsnr): started drbd2 linuxfly. org oracle_instant (ocf:heartbeat:oracle): started drbd2. linuxfly< org master/slave set: ms drbd oraclemasters: slaves: drbdl.linux
35、 5k注意:migrate的动作会添加一条位置限制c 1 i-standby-group_orac 1 e,因此,当备机发生问题 时,不会自动返回到主机上。要解决该问题,需要把位置限制删掉。执行un-mi grate操作:# erm resource unmigrate group oracle这里的migrate和move、unmigrate和unmove是同义命令。7、监控测试可以尝试以oracle用户执行lsnrctl stop停止oracle监听服务,从后台日志中,会发现 monitor的报错信息,自动重新激活整个group oracle组资源。8、维护有吋候,我们需要对
36、当前主机进行维护,这吋,可先把资源迁移到备机上,然后把主机设置为“非管理”的standby状态:引用rootdrbdl erm resource migrate group oraclerootdrbdl erm node standby unamo -nrootdrbdl # # erm statuslast updated: thu jul 15 16:00:47 2010stack: heartbeatcurrent dc: drbdl. linuxfly. org (ffc0848a-f475-49be814e-lb247389d819) - partition with quorumversion: 1. 0. 9-89bd754939df5150de7cd76835f98fe90851b6772 nodes configured, unknown expected votes2 resources configured.node drbdl. linuxfly. org (ffc0848a-f475-49be-814e-lb247389d819): standbyonline: drbd2 resource group: group_orac1eip_oracle (ocf:heartbeat:ipaddr2): started drbd2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60730-2-6:2025 EN-FR Automatic electrical controls - Part 2-6: Particular requirements for automatic electrical pressure sensing controls including mechanical requiremen
- JJF(石化)063-2023汽油辛烷值机(研究法)校准规范
- JJF(石化)066-2023石油产品库仑测硫仪校准规范
- 新解读《GB-T 30587-2014钢丝绳吊索 环索》
- 重庆消防设施操作员课件
- 人教版八年级英语上册单元同步知识点与语法训练 unit4 section A
- 暑假培优练:静电场中的能量 -2025人教版新高二物理暑假专项提升
- 椭圆的概念及基本性质(附答案解析)-全国高考数学一轮复习(提高版)
- 新解读《GB-T 5223-2014预应力混凝土用钢丝》
- 新解读《GB 16280-2014线型感温火灾探测器》
- 2025中国人民抗日战争暨世界反法西斯战争胜利80周年阅兵观后感心得体会3篇
- 成人脑室外引流护理标准解读
- 算法认识与体验(教学设计)-2024-2025学年人教版(2024)小学信息技术五年级全一册
- 2025年辅警笔试考试题库题库与答案
- 2025危险品押运员模拟考试试题及答案
- 2025年银发族市场洞察报告
- 2025年幼儿园食堂餐饮从业人员食品安全知识培训考核试题(附答案)
- 存款定期管理办法
- 2025至2030全球及中国港口疏浚行业发展研究与产业战略规划分析评估报告
- 小儿惊风的中医护理
- 广州强制医疗管理办法
评论
0/150
提交评论