URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 59587
[ Назад ]

Исходное сообщение
"Тематический каталог: Создание кластера высокой доступности ..."

Отправлено auto_topic , 05-Окт-09 10:49 
Обсуждение статьи тематического каталога: Создание кластера высокой доступности для XEN с Live миграцией в CentOS 5.3 с использованием VLAN и DRBD (xen cluster virtual centos)

Ссылка на текст статьи: http://www.opennet.me/base/net/xen_cluster_howto.txt.html


Содержание

Сообщения в этом обсуждении
"Создание кластера высокой доступности для XEN с Live миграцией в CentOS 5.3 с использованием VLAN и DRBD (xen cluster vi..."
Отправлено grait , 05-Окт-09 10:49 
Нормальная статья, я через много граблей уже сам прошёл, единственно у меня после установки нового ведра "2.6.18-164.el5xen" устанавливается drbd версии "DRBDADM_VERSION=8.3.2" и модули к ней.
Так вот с новой drbd у меня в HVM (disk = [ 'drbd:resource,hda,w' ]) не видит жёсткий диск, пришлось напрямую устройство использовать, потерял автоматом живую миграцию, но это не критично конечно ))), главное что отказоустойчивость есть.
PS для репликации drbd использую агрегирование интерфейсов, скорость устраивает.

"Создание кластера высокой доступности для XEN с Live миграцией в CentOS 5.3 с использованием VLAN и DRBD (xen cluster vi..."
Отправлено Andrey Zentavr , 18-Окт-09 03:28 
Дык http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=1438 должен исправить "(disk = [ 'drbd:resource,hda,w' ]) не видит жёсткий диск"

"Создание кластера высокой доступности для XEN с Live миграцией в CentOS 5.3 с использованием VLAN и DRBD (xen cluster vi..."
Отправлено ЫМЫ , 08-Дек-09 16:08 
Косяк в drbd83-8.3.2-6.el5_3

В патче для pygrub
drbdresource = string.strip(os.popen('drbdadm sh-resources ' + file).readline(), " \n")

команде drbdadm sh-resources /dev/drbd0 глубоко фиолетово на 3й параметр и она всегда выводит ВСЕ drbd-ресурсы.



"Создание кластера высокой доступности для XEN с Live миграци..."
Отправлено ЫМЫ , 08-Дек-09 16:51 
Костыль.

В патче для pygrub
drbdresource = string.strip(os.popen('drbd_find_resource.sh ' + file).readline(), " \n")


#### drbd_find_resource.sh ####

#!/bin/sh

DRBDADM="/sbin/drbdadm"
test -x $DRBDADM || exit 5

DEV=$1

if [ -z "$DEV" ]
    then
    echo "Usage: `basename $0` /dev/drbdN"
    exit 1
fi

for RESOURCE in `$DRBDADM sh-resources`; do
    for DEVICE in `$DRBDADM sh-dev $RESOURCE`; do
    if [ "$DEVICE" = "$DEV" ]
        then echo $RESOURCE
    fi
    done
done


"Создание кластера высокой доступности для XEN с Live миграци..."
Отправлено ЫМЫ , 08-Дек-09 16:54 
>  на 3й параметр

вернее на параметры в принципе :)


"Создание кластера высокой доступности для XEN с Live миграцией в CentOS 5.3 с использованием VLAN и DRBD (xen cluster vi..."
Отправлено user , 28-Мрт-10 01:26 
CentOS 5.4
stop()
        {
            # Collect list of domains to shut down
            if test "$XENDOMAINS_AUTO_ONLY" = "true"; then
                rdnames
            fi
            echo -n "Shutting down Xen domains:"
            while read LN; do
                #Добавил строку. Без этого у меня мигрировали абсолютно все домены.
                found="0"
                #
                parseln "$LN"
                if test $id = 0; then continue; fi
                echo -n " $name"
                if test "$XENDOMAINS_AUTO_ONLY" = "true"; then
                    for i in ${NAMES[@]}
                    do
                    if test $found = "0"; then
                        if test $i = $name; then
                            found=1
                        fi
                    fi
                    done
                    if test $found = "0"; then
                        echo -n "(skip)"
                        continue
                    fi
                fi
                # XENDOMAINS_SYSRQ chould be something like just "s"
                # or "s e i u" or even "s e s i u o"
                # for the latter, you should set XENDOMAINS_USLEEP to 1200000 or so


"Создание кластера высокой доступности для XEN с Live миграцией в CentOS 5.3 с использованием VLAN и DRBD (xen cluster vi..."
Отправлено user , 29-Дек-10 04:16 
SLES 11 SP1 + DRBD + XEN + COROSYNC + HEARTBEAT + PACEMAKER

Пришлось:
1.пропатчить pygrub как выше.
2.Во всех вирт.машинах прописать что то вроде
disk = [ "phy:drbd0,xvda1,w" ]
3.Мой конфиг "crm configure show":
node ha1
node ha2
primitive xen_vm1 ocf:heartbeat:Xen \
        params xmfile="/etc/xen/vm/vm1" \
        op monitor interval="10s" \
        op start interval="0s" timeout="30s" \
        op stop interval="0s" timeout="300s" \
        meta allow-migrate="true"
property $id="cib-bootstrap-options" \
        dc-version="1.1.2-ecb1e2ea172ba2551f0bd763e557fccde68c849b" \
        cluster-infrastructure="openais" \
        expected-quorum-votes="2" \
        stonith-enabled="false" \
        no-quorum-policy="ignore" \
        default-resource-stickiness="1000" \
        last-lrm-refresh="1293409634"
pacemaker нормально c drbd работать НЕ умеет! (Если загружается одна нода, то он ждет вторую. Приходится руками делать drbdsetup /dev/drbd0 primary -o и руками запускать машину. А потом зкогда аменишь вышедшие из строя железки на другой мертвой ноде и она заработает. Разгребаешь руками конфликты у drbd на работающей ноде и только что отремонтированой и включенной.)
4.Каждая вирт.машина у меня лежит на отдельном /dev/drbd0. Это важно на случай синхронизации,  так как pacemaker не знает ничего о drbd в моей конфигурации. Для свапа уже внутри /etc/fstab  вирт.машины подключается обычный файл через loop.
5.Если время появится, то опишу подробно.