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 [2012/09/04 15:02]
val
решение_hast [2017/10/02 09:48] (current)
val [HAST и HEARTBEAT]
Line 1: Line 1:
 ====== Решение HAST ====== ====== Решение HAST ======
  
-[[http://​wiki.freebsd.org/​HAST]]+  * [[http://​wiki.freebsd.org/​HAST|HAST - Highly Available Storage]]
  
 ===== Подготовка узлов ===== ===== Подготовка узлов =====
Line 8: Line 8:
  
 <​code>​ <​code>​
-nodeN# dmesg | grep ad1+nodeN# dmesg | grep ada1
  
 nodeN# mkdir /disk2 nodeN# mkdir /disk2
Line 19: Line 19:
 resource r0 { resource r0 {
         on node1 {         on node1 {
-                local /dev/ad1 +                local /dev/ada1 
-#                local /dev/ad1s1d +                remote 10.Z.M.200+X
-                remote 10.5.9.200+X+
         }         }
         on node2 {         on node2 {
-                local /dev/ad1 +                local /dev/ada1            ​ 
-#                local /​dev/​ad1s1d ​               +                remote 10.Z.M.100+X
-                remote 10.5.9.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 75: Line 72:
 </​code>​ </​code>​
  
-===== Дополнительные материалы ===== +===== Решение ситуации split brain =====
- +
-==== Решение ситуации split brain ====+
  
 Выбираем узел, данные которого будут затерты. Выбираем узел, данные которого будут затерты.
Line 92: 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.1346756530.txt.gz · Last modified: 2013/05/22 13:50 (external edit)