GNU/Linux >> Linux の 問題 >  >> Linux

Linux OS サービス「kdump」

kdump(カーネルダンプ)を設定するスクリプトです。 Kdump は、カーネルに重大な問題がある場合、vmcore という名前のファイルにメモリ ダンプを提供します。問題を調査するには、多くの場合、Vmcore が必要です。クラッシュ ダンプは、クラッシュしたカーネルのコンテキストからではなく、新しく起動したカーネルのコンテキストからキャプチャされます。 Kdump は、システムがクラッシュするたびに kexec を使用して 2 番目のカーネルを起動します。 Kexec は、ファームウェアやウォーム スタートを使用せずに、実行中のカーネルのコンテキストから新しい Linux カーネルを再起動できる高速ブート メカニズムです。

サービス コントロール

将来のシャットダウンと再起動のために kdump サービスを管理するには、chkconfig ツールを使用します。

# chkconfig kdump on
# chkconfig --list kdump
kdump           0:off   1:off   2:on    3:on    4:on    5:on    6:off

kdump サービスをすぐに制御するには、サービスを使用します ツール:

# service kdump
Usage: /etc/init.d/kdump {start|stop|status|restart|propagate}
# /etc/init.d/kdump start
Kdump already running                                      [  OK  ]
# /etc/init.d/kdump stop
Stopping kdump:                                            [  OK  ]

パッケージ名:

kexec-tools-[version]-[arch].rpm
kexec-tools-2.0.0-310.el6.x86_64M

構成ファイル

デフォルトの /etc/kdump.conf ファイルは以下のとおりです:

$ cat /etc/kdump.conf
# Configures where to put the kdump /proc/vmcore files
#
# This file contains a series of commands to perform (in order) when a
# kernel crash has happened and the kdump kernel has been loaded.  Directives in
# this file are only applicable to the kdump initramfs, and have no effect if
# the root filesystem is mounted and the normal init scripts are processed
#
# Currently only one dump target and path may be configured at a time. If dump
# to configured dump target fails, the default action will be preformed.
# Default action may be configured with the "default" directive below.
#
# Basics commands supported are:
# path [path] 		- Append path to the filesystem device which you are
#			  dumping to.  Ignored for raw device dumps.
#		 	  If unset, will default to /var/crash.
#
# core_collector  
#			- This allows you to specify the command to copy the
#			  vmcore.  You could use the dump filtering program
#			  makedumpfile, the default one, to retrieve your core,
#			  which on some arches can drastically reduce core file
#			  size. See /usr/sbin/makedumpfile --help for a list of
#			  options. Note that the -i and -g options are not
#			  needed here, as the initrd will automatically be
#			  populated with a config file appropriate for the
#			  running kernel.
#			  For ssh dump, scp should be used instead of cp.
#
# raw 	- Will write /proc/vmcore into raw [partition].
#
# nfs 	- Will mount fs and copy /proc/vmcore to
#			  [mnt]/[path]/%HOST-%DATE/, supports DNS.
#
# nfs4       - Will use NFSv4 instead of NFSv3
#
# net        - This is a deprecated option to transfer vmcore over
#			  nfs.  Use "nfs" option instead.
#
# ssh 	- Will copy /proc/vmcore to
#			  [user@server]:[path]/%HOST-%DATE/ via SSH,
#			  supports DNS. If makedumpfile is the core_collector,
#			  it is piped to an "ssh" shell, otherwise use the
#			  specified core_collector like scp.
#			  NOTE: make sure user has necessary write
#			  permissions on server
#
# net [user@server]     - This is a deprecated option to transfer vmcore over
#			  ssh.  Use "ssh" option instead.
#
# [fs type] [partition] - Will mount -t [fs type] [partition] /mnt and copy
#		 	  /proc/vmcore to /mnt/[path]/127.0.0.1-%DATE/.
#			  NOTE:  can be a device node, label or uuid.
#
# disk_timeout [seconds]
#			- Number of seconds to wait for disks to appear prior
#			  to continue to save dump. By default kdump waits
#			  180 seconds for the disks to show up it needs. This
#			  can be useful in some cases if disk never shows up
#			  (Either because disk was removed or because kdump is
#			  waiting on wrong disk).
#
# link_delay [seconds]
#			- Some network cards take a long time to initialize, and
#			  some spanning tree enabled networks do not transmit
#			  user traffic for long periods after a link state
#			  changes.  This optional parameter defines a wait
#			  period after a link is activated in which the
#			  initramfs will wait before attempting to transmit
#			  user data.
#
# kdump_post [binary | script]
# 			- This directive allows you to run a specified
# 			  executable just after the memory dump process
# 			  terminates. The exit status from the dump process
# 			  is fed to the kdump_post executable, which can be
# 			  used to trigger different actions for success or
# 			  failure.
#
# kdump_pre [binary | script]
#			- works just like the kdump_post directive, but instead
#			  of running after the dump process, runs immediately
#			  before.  Exit status of this binary is interpreted
#			  as follows:
#			  0 - continue with dump process as usual
#			  non 0 - reboot/halt the system
#
# extra_bins [binaries | shell scripts]
# 			- This directive allows you to specify additional
# 			  binaries or shell scripts you'd like to include in
# 			  your kdump initrd. Generally only useful in
# 			  conjunction with a kdump_post binary or script that
# 			  relies on other binaries or scripts.
#
# extra_modules [module(s)]
# 			- This directive allows you to specify extra kernel
# 			  modules that you want to be loaded in the kdump
# 			  initrd, typically used to set up access to
# 			  non-boot-path dump targets that might otherwise
# 			  not be accessible in the kdump environment. Multiple
# 			  modules can be listed, separated by a space, and any
# 			  dependent modules will automatically be included.
# 			  Module name should be specified without ".ko" suffix.
#
# options [module] [option list]
#			- This directive allows you to specify options to apply
#			  to modules in the initramfs.  This directive overrides
#			  options specified in /etc/modprobe.conf. Module name
#			  should be specified without ".ko" suffix.
#
# blacklist [module]
#			- The blacklist keyword indicates that all of that
#			  particular modules are to be ignored in the initramfs.
#			  General terminology for blacklist has been that module
#			  is present in initramfs but it is not actually loaded
#			  in kernel. This directive can be specified multiple
#			  times or as a space separated list. Module name should
#			  be specified without ".ko" suffix.
#
# sshkey [path]
#			- Specifies the path of the ssh identity file you want
#			  to use when doing ssh dump. It must be a private key,
#			  the default value is /root/.ssh/kdump_id_rsa. When
#			  progagating public key, the key is assumed to be
#			  identity_file.pub which by default is
#			  /root/.ssh/kdump_id_rsa.pub.
#
# default [reboot | halt | poweroff | shell | mount_root_run_init]
#			- Action to preform in case dumping to intended target
#			  fails. If no default action is specified, "reboot"
#			  is assumed default.
#
#			  reboot: If the default action is reboot simply reboot
#				  the system and loose the core that you are
#				  trying to retrieve.
#			  halt:   If the default action is halt, then simply
#				  halt the system after attempting to capture
#				  a vmcore, regardless of success or failure.
#			  poweroff: The system will be powered down
#			  shell:  If the default action is shell, then drop to
#				  an hush session inside the initramfs from
#				  where you can try to record the core manually.
#				  Exiting this shell reboots the system.
#	     mount_root_run_init: Mount root filesystem and run init. Kdump
#			  	    initscript will try to save dump to root
#			  	    filesystem in /var/crash dir. This will
#			  	    likely require a lot more memory to
#			  	    be reserved for kdump kernel.
#
# debug_mem_level [0-3]
#                       - Turns on debug/verbose output of kdump scripts
#                         regarding free/used memory at various points of
#                         execution. Higher level means more debugging output.
#                         0 - no output
#                         1 - partial /proc/meminfo
#                         2 - /proc/meminfo
#                         3 - /proc/meminfo + /proc/slabinfo
#
# force_rebuild [0 | 1]
#			- By default, kdump initrd only will be rebuilt when
#			  necessary. Specify 1 here to force rebuilding kdump
#			  initrd every time when kdump service starts.
#
# fence_kdump_args [arg(s)]
#			- Command line arguments for fence_kdump_send (it can contain
#			all valid arguments except hosts to send notification to).
#
# fence_kdump_nodes [node(s)]
# 			- List of cluster node(s) separated by space to send fence_kdump
# 			notification to (this option is mandatory to enable fence_kdump).


#raw /dev/sda5
#ext4 /dev/sda3
#ext4 LABEL=/boot
#ext4 UUID=03138356-5e61-4ab3-b58e-27507ac41937
#net my.server.com:/export/tmp
#net [email protected]
path /var/crash
core_collector makedumpfile -c --message-level 1 -d 31
#core_collector scp
#core_collector cp --sparse=always
#extra_bins /bin/cp
#link_delay 60
#kdump_post /var/crash/scripts/kdump-post.sh
#extra_bins /usr/bin/lftp
#disk_timeout 30
#extra_modules gfs2
#options modulename options
#default shell
#debug_mem_level 0
#force_rebuild 1
#sshkey /root/.ssh/kdump_id_rsa
#fence_kdump_args -p 7410 -f auto -c 0 -i 10
#fence_kdump_nodes node1 node2


Linux
  1. Linux OS サービス「dhcpd」

  2. Linux OS サービス「anacron」

  3. Linux OS サービス「iptables」

  1. Linux OS サービス「NetFS」

  2. Linux OS サービス「ldap」

  3. Linux OS サービス「yppasswdd」

  1. Linux OS サービス「xendomains」

  2. Linux OS サービス「nscd」

  3. Linux OS サービス「squid」