Sibilia octopress blog

notes on memory.

Установка Crm Shell в Pacemaker

| Comments

В начале марта в проекте Pacemaker произошли некоторые изменения, в частности был вырезан crm shell начиная с версии pacemaker-1.1.7.

Since late-April, the crm shell is no longer included in the Pacemaker source tree. This change was made at the author’s request as it is now maintained as a separate project.

Это довольно печально, так как crm shell очень удобный инструмент для ручного управления кластером. Для его добавления необходимо доустановить пакеты “crmsh” и “pssh”. Скачать их можно с репозитория crm shell. Для CentOS 6 x86-64 достаточно следующее:

1
2
3
4
5
yum install pacemaker corosync
cd /tmp
wget http://download.opensuse.org/repositories/network:/ha-clustering/CentOS_CentOS-6/x86_64/crmsh-1.2.5-55.2.x86_64.rpm
wget http://download.opensuse.org/repositories/network:/ha-clustering/CentOS_CentOS-6/x86_64/pssh-2.3.1-15.1.x86_64.rpm
yum install ./crmsh*.rpm ./pssh*.rpm

На данный момент пакетов crmsh и pssh отсутствуют в официальных репозитариях RedHat/CentOS и в EPEL. Быть может в скором времени их туда добавят, или clusterlabs уладят совместимость.

P.S.

Вот кстати мой скрипт для отчистки failcount в выводе crm_mon -fnr. Это порой необходимо для востановления кластера после сбоя и обнуления счётчиков.

(corosync_clear) download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/bash
# Если значение failcount=1000000 у ресурса, то сбрасывается его состояние (crm resource cleanup <res>).
#
# Author: Ilia Sibiryatkin <Sibvilian@gmail.com>

NODE=`crm_node -l |cut -d' ' -f 2`

for STR in $(crm_mon -f1 | grep fail-count| awk '{ print $1 "@" $3 }') ; do
  RES=$(echo $STR |awk 'BEGIN {FS="@"}{print (substr($1,0,length($1)-1))}')
        FAIL=$(echo $STR |awk 'BEGIN {FS="@"}{print (substr($2,12,length($2)))}')

        if [[ $FAIL == 1000000 ]]; then
                echo "cleanup $RES"
                crm resource cleanup $RES
        else
                echo "clear fail-count $RES"
                for i in $NODE ; do
                        crm resource failcount $RES delete $i
                done 
        fi
done

Comments