kdump fails on Hyper-V

  • 7014585
  • 19-Feb-2014
  • 20-Apr-2014

Environment

SUSE Linux Enterprise Server 11 Service Pack 2 (SLES 11 SP2)
SUSE Linux Enterprise Server 11 Service Pack 3 (SLES 11 SP3)
Microsoft Hyper-V

Situation

When running SUSE Linux Enterprise Server 11 SP2 or SP3 as a guest on Microsoft Hyper-V and a kernel core dump (kdump) is triggered, it fails to complete due to failure to find the root disk.

The errors received are similar to:

Could not find /dev/disk/by-id/scsi-14d5346542020202060bc93c5e99f6a4eb383477d7443364a-part2
Want me to fall back to /dev/disk/by-id/scsi-14d5346542020202060bc93c5e99f6a4eb383477d7443364a-part2? (Y/n)

Resolution

As per Microsoft document http://support.microsoft.com/kb/2858695 , you must modify /etc/sysconfig/kdump to append ata_piix.prefer_ms_hyper_v=0 to KDUMP_COMMANDLINE_APPEND.

So, this line should read:

KDUMP_COMMANDLINE_APPEND="ata_piix.prefer_ms_hyper_v=0"

It is also necessary to change the partitions to mount by UUID instead of by Device ID.

This can be accomplished using the YaST Partitioner.

Open the YaST Partitioner by going to YaST->System->Partitioner.

A warning will be displayed indicating that partitioning disks that are in use may
result in data loss. It is safe to answer 'Yes'.

Select the partition, choose 'Edit', and select 'Fstab Options' under 'Mounting Options'

Under 'Mount in /etc/fstab by', change from Device ID to UUID, and select 'OK'.

Repeat this for every partition required to boot and any partitions required to store the
kernel core.

After this change, verify that both /etc/fstab and the grub boot loader configuration, /boot/grub/menu.lst refer to the root partition by UUID, run 'mkinitrd' and reboot.

Cause

Different drivers are used in the primary kernel and the kdump kernel. This difference in drivers
cause the /dev/disk/by-id links to be different between the primary kernel and kdump kernel,
which causes the failure.

Feedback service temporarily unavailable. For content questions or problems, please contact Support.