User Tools

Site Tools


решение_hast

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
решение_hast [2015/06/02 08:47]
val
решение_hast [2017/10/02 09:48] (current)
val [HAST и HEARTBEAT]
Line 20: Line 20:
         on node1 {         on node1 {
                 local /dev/ada1                 local /dev/ada1
-                remote 10.5.Z.200+X+                remote 10.Z.M.200+X
         }         }
         on node2 {         on node2 {
                 local /​dev/​ada1 ​           ​                 local /​dev/​ada1 ​           ​
-                remote 10.5.Z.100+X+                remote 10.Z.M.100+X
         }         }
 } }
 </​code><​code>​ </​code><​code>​
-nodeN# ​cat /​etc/​rc.conf +nodeN# ​service hastd rcvar 
-</​code><​code>​ + 
-... +nodeN# ​service ​hastd start
-hastd_enable=yes +
-</​code><​code>​ +
-nodeN# ​/etc/rc.d/hastd start+
 </​code>​ </​code>​
  
 ===== Инициализация ===== ===== Инициализация =====
 <​code>​ <​code>​
 +nodeN# hastctl status
 +
 nodeN# hastctl create r0 nodeN# hastctl create r0
  
Line 73: Line 72:
 </​code>​ </​code>​
  
-===== Дополнительные материалы ===== +===== Решение ситуации split brain =====
- +
-==== Решение ситуации split brain ====+
  
 Выбираем узел, данные которого будут затерты. Выбираем узел, данные которого будут затерты.
Line 90: Line 87:
 </​code>​ </​code>​
  
 +===== HAST и Heartbeat =====
 +
 +  - Состояние init возникает при запуске hastd на secondary узле, если он остановился и стартует раньше primary
 +  - Ситуация Split-Brain возникает при запуске hastd на secondary узле, если он остановился позже primary и heartbeat успел его назначить primary, а запускаются оба узла синхронно и heartbeat считает что primary должен оставаться прежним.
 +
 +<​code>​
 +nodeN# service heartbeat stop
 +
 +nodeN# cat /​usr/​local/​etc/​ha.d/​resource.d/​hast
 +</​code><​code>​
 +#!/bin/sh
 +case $1 in
 +status)
 +        hastctl status r0 | grep -q '​init'​ && hastctl role secondary r0
 +        ;;
 +start)
 +        hastctl role primary r0
 +        sleep 60
 +        fsck -y -t ufs /​dev/​hast/​r0
 +        mount /​dev/​hast/​r0 /disk2
 +        ;;
 +stop)
 +        mount | grep -q hast && umount /disk2
 +        hastctl role secondary r0
 +        ;;
 +esac
 +
 +exit 0
 +</​code><​code>​
 +nodeN# chmod +x /​usr/​local/​etc/​ha.d/​resource.d/​hast
 +
 +nodeN# cat /​usr/​local/​etc/​ha.d/​haresources
 +</​code><​code>​
 +node1.corpX.un hast
 +</​code><​code>​
 +nodeN# service heartbeat start
 +</​code>​
решение_hast.1433224044.txt.gz · Last modified: 2015/06/02 08:47 by val