LINUX.ORG.RU
ФорумAdmin

Конфиг Pacemarker


0

1

Имеем:

  • Два узла KVM: adam и eva
  • Домен mt
  • DRBD диск mt (подключен прямо в домен)

Задача: Заставить домен mt работать на узле adam, а в случае его падения подниматься на eva. После восстановления adam, аккуратно мигрировать на свое теплое местечко )))).

Делаю: Правлю crm и не могу добиться что бы мой домен стартовал, а диск в primary выставлялся. (Конечно доменов много, но хотя бы с одним разобраться). Домен кстате создается, но почему-то выключен, уверен из за того что состояние диска secondary.
Вот что я наконфигурировал:

crm(live)configure# show
node $id="75eef2e8-b0a3-4d3b-9151-1c52e0a6376c" eva \
        attributes standby="on"
node $id="913444a3-a9f4-4f8d-8fb6-eb7595a35489" adam \
        attributes standby="on"
primitive domain_mt ocf:heartbeat:VirtualDomain \
        params config="/home/cluster/mt.domain" hypervisor="qemu:///system" \
        meta allow-migrate="true" \
        op start interval="0" timeout="120s" \
        op stop interval="0" timeout="120s" \
        op monitor interval="10" timeout="30" depth="0"
primitive drbd_mt ocf:linbit:drbd \
        params drbd_resource="mt" \
        op monitor interval="15s"
ms ms_drbd_mt drbd_mt \
        meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true"
colocation mt_on_drbd inf: domain_mt ms_drbd_mt:Master
order mt_after_drbd inf: ms_drbd_mt:promote domain_mt:start
property $id="cib-bootstrap-options" \
        dc-version="1.0.9-unknown" \
        cluster-infrastructure="Heartbeat" \
        no-quorum-policy="ignore"

#  nano /etc/heartbeat/ha.cf
debugfile /var/log/ha-debug
autojoin none
bcast eth0
warntime 3
deadtime 6
initdead 60
keepalive 1
node ADAM
node EVA
crm respawn
# tail ha-debug
Dec 28 20:06:46 ADAM crmd: [1014]: info: process_lrm_event: LRM operation drbd_mt:0_monitor_0 (call=2, rc=0, cib-update=9, confirmed=true) ok
Dec 28 20:06:47 ADAM attrd: [1013]: info: attrd_trigger_update: Sending flush op to all hosts for: probe_complete (true)
Dec 28 20:06:47 ADAM crmd: [1014]: info: do_lrm_rsc_op: Performing key=13:43:0:8a155f5c-3f41-4bfb-a557-a4f3d82974ce op=drbd_mt:0_monitor_15000 )
Dec 28 20:06:47 ADAM lrmd: [1011]: info: rsc:drbd_mt:0:4: monitor
Dec 28 20:06:47 ADAM attrd: [1013]: info: attrd_perform_update: Sent update 15: probe_complete=true
Dec 28 20:06:47 ADAM attrd: [1013]: info: attrd_trigger_update: Sending flush op to all hosts for: probe_complete (true)
Dec 28 20:06:47 ADAM attrd: [1013]: info: attrd_perform_update: Sent update 18: probe_complete=true
Dec 28 20:06:47 ADAM crmd: [1014]: info: process_lrm_event: LRM operation drbd_mt:0_monitor_15000 (call=4, rc=0, cib-update=10, confirmed=false) ok
Dec 28 20:16:39 ADAM cib: [1010]: info: cib_stats: Processed 85 operations (352.00us average, 0% utilization) in the last 10min
Dec 28 20:26:39 ADAM cib: [1010]: info: cib_stats: Processed 39 operations (0.00us average, 0% utilization) in the last 10min
# crm_mon
============
Last updated: Tue Dec 28 21:06:33 2010
Stack: Heartbeat
Current DC: eva (75eef2e8-b0a3-4d3b-9151-1c52e0a6376c) - partition with quorum
Version: 1.0.9-unknown
2 Nodes configured, unknown expected votes
2 Resources configured.
============

Node eva (75eef2e8-b0a3-4d3b-9151-1c52e0a6376c): standby
Node adam (913444a3-a9f4-4f8d-8fb6-eb7595a35489): standby

 Master/Slave Set: ms_drbd_mt
     Slaves: [ eva adam ]
domain_mt       (ocf::heartbeat:VirtualDomain): Started adam FAILED

Failed actions:
    drbd_mt_monitor_0 (node=eva, call=2, rc=6, status=complete): not configured
    domain_mt_monitor_0 (node=adam, call=3, rc=1, status=complete): unknown error

★★★★★

Последнее исправление: petav (всего исправлений: 4)

>Node eva (75eef2e8-b0a3-4d3b-9151-1c52e0a6376c): standby

Node adam (913444a3-a9f4-4f8d-8fb6-eb7595a35489): standby


Загнав ноду в standby, не забудь потом ей online сделать. Иначе она так в standby и останется, и никаких ресурсов поднимать не будет.
А миграцию на первых порах лучше через resource migrate тестить.

// Мое имхо: без iscsi не взлетит. Ждем, что покажет вскрытие.

nnz ★★★★
()
Ответ на: комментарий от nnz
============
Last updated: Wed Dec 29 22:08:45 2010
Stack: Heartbeat
Current DC: eva (75eef2e8-b0a3-4d3b-9151-1c52e0a6376c) - partition with quorum
Version: 1.0.9-unknown
2 Nodes configured, 2 expected votes
2 Resources configured.
============

Online: [ eva adam ]

Domain  (ocf::heartbeat:VirtualDomain) Started [        adam    eva ]
 Master/Slave Set: DataClone
     Masters: [ adam ]
     Slaves: [ eva ]

Failed actions:
    Domain_monitor_0 (node=adam, call=2, rc=1, status=complete): unknown error
    Domain_monitor_0 (node=eva, call=2, rc=1, status=complete): unknown error
    Domain_stop_0 (node=eva, call=14, rc=1, status=complete): unknown error

Что за Failed actions: как я понимаю именно они не дают правильно апускаться Domain, он у меня вместо adam на всех узлах присутствует и ни где не работает. Да я конфиг сменил..

node $id="75eef2e8-b0a3-4d3b-9151-1c52e0a6376c" eva
node $id="913444a3-a9f4-4f8d-8fb6-eb7595a35489" adam
primitive Data ocf:linbit:drbd \
        params drbd_resource="mt" \
        op monitor interval="15s"
primitive Domain ocf:heartbeat:VirtualDomain \
        params config="/home/cluster/mt.domain" hypervisor="qemu:///system" \
        meta allow-migrate="true" \
        op start interval="0" timeout="120s" \
        op stop interval="0" timeout="120s" \
        op monitor interval="10" timeout="30" depth="0"
ms DataClone Data \
        meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true"
location Prefer-adam Domain 50: adam
colocation Domain_on_Data inf: Domain DataClone:Master
order Domain-after-Data inf: DataClone:promote Domain:start
property $id="cib-bootstrap-options" \
        dc-version="1.0.9-unknown" \
        cluster-infrastructure="Heartbeat" \
        expected-quorum-votes="2" \
        no-quorum-policy="ignore" \
        stonith-enabled="false"

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

и так начал все сначала. Удалил все и поставил corosync+pacemaker теперь все по шагам и каждый шаг контролировать на работоспособность буду...

petav ★★★★★
() автор топика
Ответ на: комментарий от nnz

может дело все в том что:

 /etc/init.d/libvirtd status
bash: /etc/init.d/libvirtd: Нет такого файла или каталога

но
 ps -e | grep libvirtd
  710 ?        00:00:00 libvirtd

и поэтому виртуалки через VirtualDomain как-то странно стартуют и start stop VirtualDomain так ругается:
Domain  (ocf::heartbeat:VirtualDomain): Started EVA (unmanaged) FAILED

Failed actions:
    Domain_monitor_0 (node=EVA, call=2, rc=1, status=complete): unknown error
    Domain_stop_0 (node=EVA, call=3, rc=1, status=complete): unknown error



petav ★★★★★
() автор топика
Ответ на: комментарий от petav

да не

status libvirt-bin
libvirt-bin start/running, process 6251

ну тогда я вообще не представляю в чем проблема

petav ★★★★★
() автор топика
Ответ на: комментарий от petav
============
Last updated: Thu Dec 30 21:14:46 2010
Stack: openais
Current DC: ADAM - partition with quorum
Version: 1.0.9-unknown
2 Nodes configured, 2 expected votes
1 Resources configured.
============

Online: [ EVA ADAM ]

Domain  (ocf::heartbeat:VirtualDomain) Started [        EVA     ADAM ]

Failed actions:
    Domain_monitor_0 (node=EVA, call=2, rc=1, status=complete): unknown error
    Domain_stop_0 (node=EVA, call=3, rc=1, status=complete): unknown error
    Domain_monitor_0 (node=ADAM, call=2, rc=1, status=complete): unknown error
    Domain_stop_0 (node=ADAM, call=3, rc=1, status=complete): unknown error

Для наглядности оставил один VirtualDomain, судя по этой картинке он запустил домены, но при попытке промониторить их состояние и остановить ненужные у него возникают unknown error. Так это на мой взгляд выглядит он не может управлять виртуалками. Как-то только у него старт выходит и все. С наступающим всех.

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

>Для наглядности оставил один VirtualDomain, судя по этой картинке он запустил домены, но при попытке промониторить их состояние и остановить ненужные у него возникают unknown error

Вот для этого и нужно смотреть логи. Там должно быть подробно расписано, что за ошибка и в чем дело.

Также можно посмотреть на вывод «virsh --connect=qemu:///system --quiet domstate имя_виртуалки».

nnz ★★★★
()
Ответ на: комментарий от nnz

Включил логи corosync.log , но там таже информация что и в crm_mon если искать Domain_monitor_0. Правда видно что все ошибки в функции unpack_rsc_op

petav ★★★★★
() автор топика
Ответ на: комментарий от nnz

Нашел информацию что можно не включать логи, а вот так проверить конфигурацию:

 crm_verify -VL
crm_verify[8285]: 2011/01/02_09:24:30 WARN: unpack_rsc_op: Processing failed op Domain_monitor_0 on EVA: unknown error (1)
crm_verify[8285]: 2011/01/02_09:24:30 WARN: unpack_rsc_op: Processing failed op Domain_monitor_0 on ADAM: unknown error (1)
crm_verify[8285]: 2011/01/02_09:24:30 WARN: unpack_rsc_op: Processing failed op Domain_stop_0 on ADAM: unknown error (1)
crm_verify[8285]: 2011/01/02_09:24:30 WARN: native_create_actions: Attempting recovery of resource Domain
теперь попытаться погуглить что это за ошибки

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

Пробуем запустить VirtualDomain без pacemaker. Назначаем переменные и запускаем

export OCF_ROOT=/usr/lib/ocf
export OCF_RESKEY_config=/home/cluster/mt.domain
/usr/lib/ocf/resource.d/heartbeat/VirtualDomain start
VirtualDomain[8650]: DEBUG: Virtual domain mt is currently shut off.
Domain mt started
VirtualDomain[8650]: DEBUG: Virtual domain mt is currently running.
все нормально домен стартовал, пробуем остановить его
/usr/lib/ocf/resource.d/heartbeat/VirtualDomain stop
VirtualDomain[8690]: DEBUG: Virtual domain mt is currently running.
VirtualDomain[8690]: INFO: Issuing graceful shutdown request for domain mt.
Domain mt is being shutdown
/usr/lib/ocf/resource.d/heartbeat/VirtualDomain: 435: arithmetic expression: expecting primary: "(/1000)-5"
Теперь мониторим его состояние
/usr/lib/ocf/resource.d/heartbeat/VirtualDomain monitor
VirtualDomain[8735]: DEBUG: Virtual domain mt is currently running.

Так вот о чем я подумал у меня команда shutdown не работает, потому что домены «пустые» (тестовые). Возможны ли такие ошибки из-за этого. Сейчас попробую настроить VirtualDoomain убивать домен и постмотрим результат

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

>/usr/lib/ocf/resource.d/heartbeat/VirtualDomain: 435: arithmetic expression: expecting primary: "(/1000)-5"

Это потому что у тебя OCF_RESKEY_CRM_meta_timeout не назначен.

nnz ★★★★
()
Ответ на: комментарий от petav

Чего не помню, того не помню. Давно уже сам кластерами не рулил. Но могу посоветовать дедовский способ — добавить в начало скрипта VirtualDomain строчку типа
( date +«%F %T»; echo «$0 $*»; env | grep ^OCF | sort ) >> /tmp/ocf_env.log

nnz ★★★★
()
Ответ на: комментарий от nnz

спасибо. А проблема все равно в чем-то другом, вообще не понятно.

petav ★★★★★
() автор топика
Ответ на: комментарий от nnz

я его чуть подправил сервисы стали правильно стартовать, а вот стоп все равно ошибки. Пару дней отдохнул в деревни, сейчас продолжу

petav ★★★★★
() автор топика
Ответ на: ага от petav

Этот скрипт VirtualDomain кривой. Написал свой в конце этого топика его код выложил.

petav ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.