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
Last revision Both sides next revision
решение_hast [2013/11/20 15:20]
val [Настройка узлов]
решение_hast [2017/09/29 10:01]
val
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.Z.200+X+
         }         }
         on node2 {         on node2 {
-                local /dev/ad1 +                local /dev/ada1            ​ 
-#                local /​dev/​ad1s1d ​               +                remote 10.Z.M.100+X
-                remote 10.5.Z.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.txt · Last modified: 2017/10/02 09:48 by val