Hi, gerade bin ich dabei auf Basis von Debian Wheezy ein KVM Cluster mit pacemaker und corosync hochzuziehen. Dabei haben sich bisher einiges Probleme ergeben zu denen ich jetzt Rat brauche.
Fangen wir mal langsam und genüsslich an
Beide Knoten sind aus, nun schalte ich einen davon ein. Gleich nach dem Hochfahren ist corosync an, pacemaker noch aus:
Passt soweit, das soll so sein. Wenn ich jetzt versuche pacemaker zu starten, passiert folgendes:
Ich habe allerdings herausgefunden, dass sich das Problem in Luft auflöst, wenn ich corosync nochmals stoppe und wieder starte:
Hmm, naja, nicht schön, aber damit kann ich leben wenn es sein muss. Falls mit hier aber jemand helfen kann, wäre super!
So weiter gehts: Ich habe pacemaker gestartet und schau mir mal das Cluste ran:
Die Meldung "not installed" trifft es nicht ganz, es liegt einfach daran, dass open-iscsi noch gestartet werden muss bevor er versucht diese iSCSI Resource zu starten.
Auch das lässt sich beheben indem ich dem Cluster noch eine LSB Resource mitgeben die auf das init-Script von open-iscsi verweist. Gut, aber jetzt kommt das nächste Problem:
Auch hier trifft "not installed" es wieder nicht wirklich, denn wie ich herausgefunden habe, liegt es daran, dass das cLVM logical volume auf "inactive" steht:
Und "schon" ist das GFS2 gemountet
Also um es nochmal zusammen zu fassen:
Fangen wir mal langsam und genüsslich an
Beide Knoten sind aus, nun schalte ich einen davon ein. Gleich nach dem Hochfahren ist corosync an, pacemaker noch aus:
Code:
root@kvm00:~# service corosync status
corosync is running.
root@kvm00:~# service pacemaker status
pacemakerd is stopped
Passt soweit, das soll so sein. Wenn ich jetzt versuche pacemaker zu starten, passiert folgendes:
Code:
root@kvm00:~# service pacemaker start
Starting Pacemaker Cluster Manager: [FAILED]
root@kvm00:~# tail -f /var/log/syslog
Nov 28 11:49:49 kvm00 pacemakerd: [4313]: info: get_config_opt: Found 'openais_msg' for option: name
Nov 28 11:49:49 kvm00 pacemakerd: [4313]: info: config_find_next: Processing additional service options...
Nov 28 11:49:49 kvm00 pacemakerd: [4313]: info: get_config_opt: Found 'openais_lck' for option: name
Nov 28 11:49:49 kvm00 pacemakerd: [4313]: info: config_find_next: Processing additional service options...
Nov 28 11:49:49 kvm00 pacemakerd: [4313]: info: get_config_opt: Found 'openais_tmr' for option: name
Nov 28 11:49:49 kvm00 pacemakerd: [4313]: info: config_find_next: No additional configuration supplied for: service
Nov 28 11:49:49 kvm00 pacemakerd: [4313]: info: config_find_next: Processing additional quorum options...
Nov 28 11:49:49 kvm00 pacemakerd: [4313]: info: get_config_opt: Found 'quorum_cman' for option: provider
Nov 28 11:49:49 kvm00 pacemakerd: [4313]: info: get_cluster_type: Detected an active 'cman' cluster
Nov 28 11:49:49 kvm00 pacemakerd: [4313]: CRIT: get_cluster_type: This installation of Pacemaker does not support the 'cman' cluster infrastructure. Terminating.
^C
root@kvm00:~#
Ich habe allerdings herausgefunden, dass sich das Problem in Luft auflöst, wenn ich corosync nochmals stoppe und wieder starte:
Code:
root@kvm00:~# service corosync stop
Stopping corosync daemon: corosync.
root@kvm00:~# service corosync start
Starting corosync daemon: corosync.
root@kvm00:~# service pacemaker start
Starting Pacemaker Cluster Manager: [ OK ]
Hmm, naja, nicht schön, aber damit kann ich leben wenn es sein muss. Falls mit hier aber jemand helfen kann, wäre super!
So weiter gehts: Ich habe pacemaker gestartet und schau mir mal das Cluste ran:
Code:
root@kvm00:~# crm_mon --inactive -1
============
Last updated: Thu Nov 28 11:52:40 2013
Last change: Thu Nov 28 11:50:14 2013 via cibadmin on kvm00
Stack: openais
Current DC: kvm00 - partition WITHOUT quorum
Version: 1.1.7-ee0730e13d124c3d58f00016c3376a1de5323cff
2 Nodes configured, 2 expected votes
13 Resources configured.
============
Online: [ kvm00 ]
OFFLINE: [ kvm01 ]
Full list of resources:
p_clusterip (ocf::heartbeat:IPaddr2): Stopped
Clone Set: c_clvm [p_clvm]
Stopped: [ p_clvm:0 p_clvm:1 ]
Clone Set: c_dlm_controld [p_dlm_controld]
Stopped: [ p_dlm_controld:0 p_dlm_controld:1 ]
Clone Set: c_gfs_controld [p_gfs_controld]
Stopped: [ p_gfs_controld:0 p_gfs_controld:1 ]
Clone Set: c_iscsi [p_iscsi]
Stopped: [ p_iscsi:0 p_iscsi:1 ]
Clone Set: c_libvirt [p_libvirt]
Stopped: [ p_libvirt:0 p_libvirt:1 ]
Clone Set: c_shared_gfs2 [p_shared_gfs2]
Stopped: [ p_shared_gfs2:0 p_shared_gfs2:1 ]
Failed actions:
p_iscsi:0_start_0 (node=kvm00, call=9, rc=5, status=complete): not installed
root@kvm00:~#
Die Meldung "not installed" trifft es nicht ganz, es liegt einfach daran, dass open-iscsi noch gestartet werden muss bevor er versucht diese iSCSI Resource zu starten.
Code:
root@kvm00:~# /etc/init.d/open-iscsi start
Starting iSCSI initiator service: iscsid.
Setting up iSCSI targets:
Logging in to [iface: default, target: iqn.2004-04.com.qnap:ts-421u:iscsi.qnap00.d66cae, portal: 172.16.20.20,3260] (multiple)
Login to [iface: default, target: iqn.2004-04.com.qnap:ts-421u:iscsi.qnap00.d66cae, portal: 172.16.20.20,3260] successful.
.
Mounting network filesystems:.
root@kvm00:~#
root@kvm00:~# crm resource cleanup c_iscsi
root@kvm00:~# crm resource start c_iscsi
root@kvm00:~# crm_mon --group-by-node --inactive -1
============
Last updated: Thu Nov 28 11:53:58 2013
Last change: Thu Nov 28 11:53:30 2013 via crmd on kvm00
Stack: openais
Current DC: kvm00 - partition WITHOUT quorum
Version: 1.1.7-ee0730e13d124c3d58f00016c3376a1de5323cff
2 Nodes configured, 2 expected votes
13 Resources configured.
============
Node kvm01: OFFLINE
Node kvm00: online
p_dlm_controld:0 (ocf::pacemaker:controld) Started
p_gfs_controld:0 (ocf::pacemaker:controld) Started
p_clvm:0 (ocf::lvm2:clvmd) Started
p_iscsi:0 (ocf::heartbeat:iscsi) Started
Inactive resources:
p_clusterip (ocf::heartbeat:IPaddr2): Stopped
Clone Set: c_clvm [p_clvm]
Started: [ kvm00 ]
Stopped: [ p_clvm:1 ]
Clone Set: c_dlm_controld [p_dlm_controld]
Started: [ kvm00 ]
Stopped: [ p_dlm_controld:1 ]
Clone Set: c_gfs_controld [p_gfs_controld]
Started: [ kvm00 ]
Stopped: [ p_gfs_controld:1 ]
Clone Set: c_iscsi [p_iscsi]
Started: [ kvm00 ]
Stopped: [ p_iscsi:1 ]
Clone Set: c_libvirt [p_libvirt]
Stopped: [ p_libvirt:0 p_libvirt:1 ]
Clone Set: c_shared_gfs2 [p_shared_gfs2]
Stopped: [ p_shared_gfs2:0 p_shared_gfs2:1 ]
Failed actions:
p_shared_gfs2:0_start_0 (node=kvm00, call=19, rc=5, status=complete): not installed
root@kvm00:~#
Auch das lässt sich beheben indem ich dem Cluster noch eine LSB Resource mitgeben die auf das init-Script von open-iscsi verweist. Gut, aber jetzt kommt das nächste Problem:
Code:
Failed actions:
p_shared_gfs2:0_start_0 (node=kvm00, call=19, rc=5, status=complete): not installed
Auch hier trifft "not installed" es wieder nicht wirklich, denn wie ich herausgefunden habe, liegt es daran, dass das cLVM logical volume auf "inactive" steht:
Code:
root@kvm00:~# lvscan
inactive '/dev/vg0/shared-gfs2' [5.00 GiB] inherit
root@kvm00:~#
root@kvm00:~# lvchange -aly vg0/shared-gfs2
root@kvm00:~# lvscan
ACTIVE '/dev/vg0/shared-gfs2' [5.00 GiB] inherit
root@kvm00:~#
root@kvm00:~# crm resource cleanup c_shared_gfs2
Cleaning up p_shared_gfs2:0 on kvm00
Cleaning up p_shared_gfs2:1 on kvm00
Waiting for 3 replies from the CRMd... OK
root@kvm00:~# crm resource start c_shared_gfs2
root@kvm00:~# crm_mon --group-by-node --inactive -1
============
Last updated: Thu Nov 28 11:55:54 2013
Last change: Thu Nov 28 11:55:45 2013 via cibadmin on kvm00
Stack: openais
Current DC: kvm00 - partition WITHOUT quorum
Version: 1.1.7-ee0730e13d124c3d58f00016c3376a1de5323cff
2 Nodes configured, 2 expected votes
13 Resources configured.
============
Node kvm01: OFFLINE
Node kvm00: online
p_dlm_controld:0 (ocf::pacemaker:controld) Started
p_clusterip (ocf::heartbeat:IPaddr2) Started
p_gfs_controld:0 (ocf::pacemaker:controld) Started
p_clvm:0 (ocf::lvm2:clvmd) Started
p_libvirt:0 (lsb:libvirt-bin) Started
p_iscsi:0 (ocf::heartbeat:iscsi) Started
p_shared_gfs2:0 (ocf::heartbeat:Filesystem) Started
Inactive resources:
Clone Set: c_clvm [p_clvm]
Started: [ kvm00 ]
Stopped: [ p_clvm:1 ]
Clone Set: c_dlm_controld [p_dlm_controld]
Started: [ kvm00 ]
Stopped: [ p_dlm_controld:1 ]
Clone Set: c_gfs_controld [p_gfs_controld]
Started: [ kvm00 ]
Stopped: [ p_gfs_controld:1 ]
Clone Set: c_iscsi [p_iscsi]
Started: [ kvm00 ]
Stopped: [ p_iscsi:1 ]
Clone Set: c_libvirt [p_libvirt]
Started: [ kvm00 ]
Stopped: [ p_libvirt:1 ]
Clone Set: c_shared_gfs2 [p_shared_gfs2]
Started: [ kvm00 ]
Stopped: [ p_shared_gfs2:1 ]
root@kvm00:~#
Und "schon" ist das GFS2 gemountet
Also um es nochmal zusammen zu fassen:
- Pacemaker startet nur wenn ich corosync nochmal durchstartet und
- cLVM bringt die LVs als inactive hoch.