92 lines
3.7 KiB
Plaintext
92 lines
3.7 KiB
Plaintext
Kdump-in-cluster-environment HOWTO
|
|
|
|
Introduction
|
|
|
|
Kdump is a kexec based crash dumping mechansim for Linux. This docuement
|
|
illustrate how to configure kdump in cluster environment to allow the kdump
|
|
crash recovery service complete without being preempted by traditional power
|
|
fencing methods.
|
|
|
|
Overview
|
|
|
|
Kexec/Kdump
|
|
|
|
Details about Kexec/Kdump are available in Kexec-Kdump-howto file and will not
|
|
be described here.
|
|
|
|
fence_kdump
|
|
|
|
fence_kdump is an I/O fencing agent to be used with the kdump crash recovery
|
|
service. When the fence_kdump agent is invoked, it will listen for a message
|
|
from the failed node that acknowledges that the failed node is executing the
|
|
kdump crash kernel. Note that fence_kdump is not a replacement for traditional
|
|
fencing methods. The fence_kdump agent can only detect that a node has entered
|
|
the kdump crash recovery service. This allows the kdump crash recovery service
|
|
complete without being preempted by traditional power fencing methods.
|
|
|
|
fence_kdump_send
|
|
|
|
fence_kdump_send is a utility used to send messages that acknowledge that the
|
|
node itself has entered the kdump crash recovery service. The fence_kdump_send
|
|
utility is typically run in the kdump kernel after a cluster node has
|
|
encountered a kernel panic. Once the cluster node has entered the kdump crash
|
|
recovery service, fence_kdump_send will periodically send messages to all
|
|
cluster nodes. When the fence_kdump agent receives a valid message from the
|
|
failed nodes, fencing is complete.
|
|
|
|
How to configure Pacemaker cluster environment:
|
|
|
|
If we want to use kdump in Pacemaker cluster environment, fence-agents-kdump
|
|
should be installed in every nodes in the cluster. You can achieve this via
|
|
the following command:
|
|
|
|
# yum install -y fence-agents-kdump
|
|
|
|
Next is to add kdump_fence to the cluster. Assuming that the cluster consists
|
|
of three nodes, they are node1, node2 and node3, and use Pacemaker to perform
|
|
resource management and pcs as cli configuration tool.
|
|
|
|
With pcs it is easy to add a stonith resource to the cluster. For example, add
|
|
a stonith resource named mykdumpfence with fence type of fence_kdump via the
|
|
following commands:
|
|
|
|
# pcs stonith create mykdumpfence fence_kdump \
|
|
pcmk_host_check=static-list pcmk_host_list="node1 node2 node3"
|
|
# pcs stonith update mykdumpfence pcmk_monitor_action=metadata --force
|
|
# pcs stonith update mykdumpfence pcmk_status_action=metadata --force
|
|
# pcs stonith update mykdumpfence pcmk_reboot_action=off --force
|
|
|
|
Then enable stonith
|
|
# pcs property set stonith-enabled=true
|
|
|
|
How to configure kdump:
|
|
|
|
Actually there are two ways how to configure fence_kdump support:
|
|
|
|
1) Pacemaker based clusters
|
|
If you have successfully configured fence_kdump in Pacemaker, there is
|
|
no need to add some special configuration in kdump. So please refer to
|
|
Kexec-Kdump-howto file for more information.
|
|
|
|
2) Generic clusters
|
|
For other types of clusters there are two configuration options in
|
|
kdump.conf which enables fence_kdump support:
|
|
|
|
fence_kdump_nodes <node(s)>
|
|
Contains list of cluster node(s) separated by space to send
|
|
fence_kdump notification to (this option is mandatory to enable
|
|
fence_kdump)
|
|
|
|
fence_kdump_args <arg(s)>
|
|
Command line arguments for fence_kdump_send (it can contain
|
|
all valid arguments except hosts to send notification to)
|
|
|
|
These options will most probably be configured by your cluster software,
|
|
so please refer to your cluster documentation how to enable fence_kdump
|
|
support.
|
|
|
|
Please be aware that these two ways cannot be combined and 2) has precedence
|
|
over 1). It means that if fence_kdump is configured using fence_kdump_nodes
|
|
and fence_kdump_args options in kdump.conf, Pacemaker configuration is not
|
|
used even if it exists.
|