Features/NewMkdumprd

From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
(Created page with "<!-- All fields on this form are required to be accepted by FESCo. We also request that you maintain the same order of sections so that all of the feature pages are uniform. --...")
 
 
(20 intermediate revisions by 2 users not shown)
Line 8: Line 8:
 
== Summary ==
 
== Summary ==
 
This is a replacement for mkdumprd of kexec-tools, to switch to dracut to generate the initrd for kdump kernel.
 
This is a replacement for mkdumprd of kexec-tools, to switch to dracut to generate the initrd for kdump kernel.
 +
 +
This feature was postponed in Fedora 16, because some feature needed in dracut was not done. Now the latest dracut has the thing we need, --mount, although it is still experimental.
  
 
== Owner ==
 
== Owner ==
* Name: [[User:wangcong| Cong Wang]]
+
* Name: [[User:wangcong| Cong Wang]] and Dave Young
  
 
<!-- Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or  technical issues need to be resolved-->
 
<!-- Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or  technical issues need to be resolved-->
* Email: <amwang at redhat dot com>
+
* Email: <xiyou.wangcong at gmail.com> or <amwang at redhat dot com> / ruyang@redhat.com
  
 
== Current status ==
 
== Current status ==
* Targeted release: [[Releases/16 | Fedora 16 ]]  
+
* Targeted release: [[Releases/17 | Fedora 17 ]]  
* Last updated: 2011-07-11
+
* Last updated: 2012-02-22
* Percentage of completion: 10%
+
* Percentage of completion: 90%
 
Working:
 
Working:
* Dump to local filesystem
+
* Dump to root filesystem
TODO:
+
* Dump to local filesystem (including multiple targets)
* Read /etc/kdump.conf to generate initrd
+
* Part of configs in /etc/kdump.conf work:
 +
**<fs type> <partition>
 +
**path <path>
 +
**core_collector <core_collector>
 +
**extra_bins <bins>
 +
**extra_modules <module(s)>
 +
**default <reboot | halt | shell>
 +
*Obsolete:
 +
**disk_timeout <seconds>
 +
**link_delay <seconds>
 +
**options <module> <option list>
 
* Dump to remote host via ssh
 
* Dump to remote host via ssh
 +
** Depends on dracut ssh-client module (ruyang)
 
* Dump to remote host via nfs
 
* Dump to remote host via nfs
 +
** Depends on dracut nfs, network module and --mount
 +
 +
TODO:
 
* Dump to raw block device
 
* Dump to raw block device
 
* Implement full functionality of /etc/kdump.conf
 
* Implement full functionality of /etc/kdump.conf
Line 101: Line 117:
  
 
== Documentation ==
 
== Documentation ==
* Not applicable, because we don't have any documentations for this replacement.
+
* kdump.conf: http://www.linuxcertif.com/man/5/kdump.conf/
  
 
== Release Notes ==
 
== Release Notes ==
Line 109: Line 125:
  
 
== Comments and Discussion ==
 
== Comments and Discussion ==
* Not applicable, because the main discussion is in a Red Hat internal mailing list.
+
https://fedoraproject.org/wiki/Talk:Features/NewMkdumprd
  
  
[[Category:FeatureReadyForWrangler]]
+
[[Category:FeatureAcceptedF17]]
 
<!-- When your feature page is completed and ready for review -->
 
<!-- When your feature page is completed and ready for review -->
 
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
 
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
 
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
 
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
 
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
 
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Latest revision as of 07:38, 9 March 2012


Contents

[edit] New mkdumprd for kdump

[edit] Summary

This is a replacement for mkdumprd of kexec-tools, to switch to dracut to generate the initrd for kdump kernel.

This feature was postponed in Fedora 16, because some feature needed in dracut was not done. Now the latest dracut has the thing we need, --mount, although it is still experimental.

[edit] Owner

  • Email: <xiyou.wangcong at gmail.com> or <amwang at redhat dot com> / ruyang@redhat.com

[edit] Current status

  • Targeted release: Fedora 17
  • Last updated: 2012-02-22
  • Percentage of completion: 90%

Working:

  • Dump to root filesystem
  • Dump to local filesystem (including multiple targets)
  • Part of configs in /etc/kdump.conf work:
    • <fs type> <partition>
    • path <path>
    • core_collector <core_collector>
    • extra_bins <bins>
    • extra_modules <module(s)>
    • default <reboot | halt | shell>
  • Obsolete:
    • disk_timeout <seconds>
    • link_delay <seconds>
    • options <module> <option list>
  • Dump to remote host via ssh
    • Depends on dracut ssh-client module (ruyang)
  • Dump to remote host via nfs
    • Depends on dracut nfs, network module and --mount

TODO:

  • Dump to raw block device
  • Implement full functionality of /etc/kdump.conf
  • Dump to multiple targets


[edit] Detailed Description

Currently in kexec-tools we use our own /sbin/mkdumprd to generate an initrd for kdump kernel. However, due to the natural complexity of making a new initrd, we have lots of burdens to maintain the mkdumprd code, we decide to switch to using dracut to generate kdump initrd. And hopefully, we can provide a distro-independent mkdumprd to upstream, as dracut itself is cross-distribution.

[edit] Benefit to Fedora

The main source of kexec-tools bugs is in mkdumprd, with this change, hopefully we will reduce the number of bugs of kexec-tools.

[edit] Scope

All functionality of /sbin/mkdumprd has to be implemented and tested in this new mkdumprd.

[edit] How To Test

Enable some of the following config lines in /etc/kdump.conf

  • Dump to local file system

ext3 LABEL=/boot

ext3 /dev/sda1

ext4 UUID=03138356-5e61-4ab3-b58e-27507ac41937

  • Dump to remote machines

net my.server.com:/path

net user@remote.server.com

  • Dump to raw block device

raw /dev/sda5

  • Other configs

core_collector makedumpfile -c --message-level 1

core_collector cp

kdump_post /var/crash/scripts/kdump-post.sh

extra_bins /bin/cp

disk_timeout 30

extra_modules gfs2

options modulename options

default shell/reboot/shutdown

Trigger a crash and see if the vmcore is dumped to the right place.


[edit] User Experience

Users should not notice the replacement, because we plan to provide full backward compatibility.

[edit] Dependencies

Dracut

[edit] Contingency Plan

Fallback to old /sbin/mkdumprd.

[edit] Documentation

[edit] Release Notes

  • /sbin/mkdumprd has been replaced by new code, which uses dracut to generate the initrd for kdump kernel.

[edit] Comments and Discussion

https://fedoraproject.org/wiki/Talk:Features/NewMkdumprd