Golfreeze.packetlove.com: Life style of Golfreeze Canon400D Family kammtan.com Jazz Freebsd Unix Linux System Admin guitar Music
All about unix linux freebsd and FAQ for Packetlove.com Web hosting , Mail hosting , VoIP + IP PBX server => all application on unix knowledges by golfreeze => Topic started by: golfreeze on มกราคม 18, 2012, 08:52:34 am
-
ว่าด้วยเรื่อง unmigrate resource group ใน heartbeat
Online: [ wh01.packetlove.com wh00.packetlove.com ]
Resource Group: WEB-HOSTING
VIP (ocf::heartbeat:IPaddr2): Started wh01.packetlove.com
MYSQL (ocf::heartbeat:mysql): Started wh01.packetlove.com
WEB (ocf::heartbeat:apache): Started wh01.packetlove.com
FTP (ocf::heartbeat:Pure-FTPd): Started wh01.packetlove.com
ว่าด้วยเรื่อง unmigrate resource group ใน heartbeat
ปกติเวลาเราทำการ migrate resource group มาจากเครื่อง master -> slave
สิ่งหนึ่งที่ต้องทำ เน้น ต้องทำ เสมอๆ คือการสั่งunmigrate "resource group name"
ถ้าไม่ได้สั่ง unmigrate resource แล้วเวลาที่เครื่อง slave ตายมันจะไม่ swap resource มาที่ master นะครับผม
เราเช็คได้โดย
>crm
>configure
>show
ถ้าเจอบันทัดประมาณว่า
location cli-standby-WEB-HOSTING WEB-HOSTING \
rule $id="cli-standby-rule-WEB-HOSTING" -inf: #uname eq wh00.packetlove.com
ขั้นตอนคือทำ unmigrate ที่ node ที่ถือ resource อยู่ก็
>crm
>resource
>unmigrate WEB-HOSTING
แล้วก็ confirm ด้วย
>crm
>configure
>show
ว่าไม่มีบันทัด ราวๆนี้อยู่
location cli-standby-WEB-HOSTING WEB-HOSTING \
rule $id="cli-standby-rule-WEB-HOSTING" -inf: #uname eq wh00.packetlove.com
ก็แสดงว่าเรียบร้อยครับผม : )
-
ถ้าในกรณี มี resource ที่ถือโดยเครื่อง master อยู่แล้วในระหว่างนั้น เครื่อง master down ไป เครื่อง slave จะทำการ take resource ทุกอย่างไปหมดแล้ว promote ตัวเองขึ้นเป็น Primary node ของ drbd
ซึ่งถ้าลอง cat ดู process ของ drbd ที่ node slave heartbeat จะเป็นดังข้างล่างนี้ครับ
จะมีการ promote ตัวเองขึ้นเป็น Primary node ของ drbd ครับผม
[root@ldap01 golf]# cat /proc/drbd
version: 8.3.13 (api:88/proto:86-96)
GIT-hash: 83ca112086600faacab2f157bc5a9324f7bd7f77 build by mockbuild@builder10.centos.org, 2012-05-07 11:56:36
0: cs:WFConnection ro:Primary/Unknown ds:UpToDate/DUnknown C r-----
ns:1528 nr:72776 dw:74328 dr:9047 al:0 bm:2 lo:0 pe:0 ua:0 ap:0 ep:1 wo:d oos:24
-
ถ้าเกิดเหตุการณ์ split brain เกิดขึ้นใน drbd version 8.3 เท่านั้น only
[root@ldap00 heartbeat]# cat /proc/drbd
version: 8.3.13 (api:88/proto:86-96)
GIT-hash: 83ca112086600faacab2f157bc5a9324f7bd7f77 build by mockbuild@builder10.centos.org, 2012-05-07 11:56:36
0: cs:StandAlone ro:Secondary/Unknown ds:UpToDate/DUnknown r-----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:556
[root@ldap01 heartbeat]# cat /proc/drbd
version: 8.3.13 (api:88/proto:86-96)
GIT-hash: 83ca112086600faacab2f157bc5a9324f7bd7f77 build by mockbuild@builder10.centos.org, 2012-05-07 11:56:36
0: cs:StandAlone ro:Secondary/Unknown ds:UpToDate/DUnknown r-----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:556
วิธีการแก้ไข เหตุการณ์ split brain ก็เริ่มต้นโดย
ทำการปิด service heartbeat ถ้ากรณี มี heartbeat รันคล่อมอยู่นะครับ
ให้ทำทั้งสอง node (master , slave)
[root@ldap00]#/etc/init.d/heartbeat stop
[root@ldap00]#/etc/init.d/heartbeat stop
ทำการ start drbd service แบบ manual
[root@ldap00]#/etc/init.d/drbd start
[root@ldap01]#/etc/init.d/drbd start
ทำการปรับให้ node ldap01 เป็น secondary และทำการ discard data บน ldap01
[root@ldap01]#drbdadm secondary all
[root@ldap01]#drbdadm disconnect all
[root@ldap01]#drbdadm -- --discard-my-data connect all
และอีก node ldap00 ปรับให้เป็น primary node ดังนี้ ครับผม
[root@ldap00]#drbdadm primary all
[root@ldap00]#drbdadm disconnect all
[root@ldap00]#drbdadm connect all
-
ถ้าเป็น DRBD version 0.7 ให้ลองดูตามนี้ครับ
http://fghaas.wordpress.com/2007/10/04/checking-your-secondarys-integrity/