[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] kexec and kdump on Xen??



Andrew Cooper wrote on 2014-04-17:
> On 17/04/14 02:19, Zhang, Yang Z wrote:
>> 
>>>> Here is my environment:
>>>> Xen version: latest Xen
>>>> Xen boot command:
>>>>    kernel (hd0,0)/boot/xen.gz dom0_mem=4096M loglvl=all
>>>> guest_loglvl=all
>>> conring_size=4M crashkernel=128M@64M
>>>>     module (hd0,0)/boot/vmlinuz-xen o
>>> root=UUID=03a5e7c4-b8d0-45b4-a090-c34b06821cea pci=noaer max_loop=64 3
>>> debug
>>>>     module (hd0,0)/boot/initrd-xen.img kexec version with Xen enabled:
>>>> kexec-tools 2.0.6 released 18 April 2014
>>>> 
>>>> Also, it shows error when trying to kexec (Xen -> Xen) ./kexec -l
>>>> /boot/xen.gz Segmentation fault (core dumped)
>>> We were focusing more on kdump than on other scenarios. I suppose that
>>> kexec-tools assume that this compressed ELF file is Linux Kernel and
>>> tries load it as usual which of course is completely wrong. You should
>>> load Xen with at least "-t multiboot-x86" argument (read help printed
>>> by kexec). However, I am not sure that this loader is actively
>>> maintained and works.
>>> 
>>> Daniel
>> Thanks for your comments.
>> 
>> After investigation, I found some bugs (One is the segment overlap
>> check
> failure and another one is related to x2apic). With some workarounds,
> now I am able to kexec from Xen into Linux.
>> But it still fails to run kdump(Xen->linux). I add some debug
>> messages in the
> key code path. It shows kexec_reloc() will cause machine reboot. Is it
> a known issue?
>> 
>> BTW: Have you ever tried kdump(Xen->linux) successfully? If yes, can
>> you share some BKMs? Thanks.
>> 
>> Best regards,
>> Yang
> 
> You are going to have to be more descriptive than this with setups and
> problems.

The previous mail(attached) has the details.

> 
> As for real examples,  XenServer unconditionally sets up a native
> crash kernel and does use it in the case of a Xen/dom0 crash.  It does
> work reliably and repeatedly[1] and is routinely tested.

I think XenServer uses the old approach to do the kexec. What I am trying is 
the new kexec/kdump feature which enabled in Xen4.4. 
One question, I remember kexec support is missing in 2.6.32-pvops kernel. If 
XenServer works well, do you know where can I find the patch to enable it for 
2.6.32 kernel?

> 
> ~Andrew
> 
> [1] We are aware of one hardware specific bug whereby the crash kernel
> fails to set up a timer interrupt.  Investigating it is on my todo list.


Best regards,
Yang

--- Begin Message ---
Daniel Kiper wrote on 2014-04-14:
> Hey,
>
> On Mon, Apr 14, 2014 at 08:15:35AM +0000, Zhang, Yang Z wrote:
>> Daniel Kiper wrote on 2014-04-14:
>>> Hi,
>>>
>>> On Mon, Apr 14, 2014 at 03:38:26AM +0000, Zhang, Yang Z wrote:
>>>> Hi Daniel
>>>>
>>>> Are kexec/kdump supported by latest Xen + upstream Linux?
>>>> I remember it only works with xen+2.6.18 linux. I know you are
>>>> working on enable it. So I wonder to know what the current status is.
> Thanks.
>>>
>>> Xen 4.4 has new kexec implementation written by David Vrabel.
>>> It does not require any specific Linux Kernel version because this
>>> implementation is self contained. However, please do not forget to
>>> use
>>
>> Cool..
>>
>>> latest stable version of kexec-tools too.
>>
>> Is there any BKM to use it? I saw an old wiki page but not sure
>> whether it is still suitable.
>
> I assume that you are asking about kexec/kdump support in dom0.
>
> Just build kexec-tools with Xen support enabled (you must provide
> relevant Xen header files and libraries).
> Then add crashkernel argument to Xen (e.g. crashkernel=512m@64m) and
> reboot machine. Use kexec-tools like on bare metal machines.

I am trying to kexec from Xen to Linux. But it fails to work.
./kexec -l /boot/vmlinuz-2.6.32-358.el6.x86_64

kexec_load failed: Invalid argument
entry       = 0x7fff6760 flags = 0x3e0000
nr_segments = 3
segment[0].buf   = 0x138f660
segment[0].bufsz = 0x3641
segment[0].mem   = 0x3000
segment[0].memsz = 0x4000
segment[1].buf   = 0x7fc68badf610
segment[1].bufsz = 0x3d8110
segment[1].mem   = 0x1000000
segment[1].memsz = 0x3d9000
segment[2].buf   = 0x1387540
segment[2].bufsz = 0x80e0
segment[2].mem   = 0x7fff6000
segment[2].memsz = 0xa000


Here is my environment:
Xen version: latest Xen
Xen boot command:
        kernel (hd0,0)/boot/xen.gz dom0_mem=4096M loglvl=all guest_loglvl=all 
conring_size=4M crashkernel=128M@64M
    module (hd0,0)/boot/vmlinuz-xen o 
root=UUID=03a5e7c4-b8d0-45b4-a090-c34b06821cea pci=noaer max_loop=64 3 debug
    module (hd0,0)/boot/initrd-xen.img
kexec version with Xen enabled:  kexec-tools 2.0.6 released 18 April 2014

Also, it shows error when trying to kexec (Xen -> Xen)
./kexec -l /boot/xen.gz
Segmentation fault (core dumped)

BTW: kexec from Linux to Linux works well.

Best regards,
Yang



--- End Message ---
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.