En Azure virtuell Linux-dator på en 3,10-baserad kernel får panik efter en uppgradering av värdnoden

Gäller för: ✔️ Virtuella Linux-datorer

Ursprungligt KB-nummer: 3212236

Anteckning

CentOS som refereras i den här artikeln är en Linux-distribution och kommer att nå End Of Life (EOL). Överväg hur du använder och planera därefter. Mer information finns i CentOS End Of Life-vägledning.

Sammanfattning

I den här artikeln beskrivs ett problem som uppstår när en virtuell Linux-dator i Azure som kör en 3.10-baserad kernel kraschar efter en uppgradering av en värd nod i Azure.

Symptom

Föreställ dig följande scenario:

  • Du har en Microsoft Azure virtuell Linux-dator (VM) som kör en RHEL/CentOS-baserad distribution med en tidigare Linux-kernelversion än version 3.10.0-327.10.1, inklusive de som ingår i:

    • Red Hat Enterprise Linux 7.1 och 7.0
    • CentOS 7,1 och 7,0
    • Oracle Linux 7.1 och 7.0 med Red Hat-kompatibel kernel
  • En minnesbevarande uppdatering utförs på en Azure-värdnod.

I det här scenariot slutar den virtuella datorn att svara och en vm-panik som liknar följande loggas i Linux-serieloggen:

[11480839.438577] Call Trace:
[11480839.439615] [<ffffffff816045b6>] dump_stack+0x19/0x1b
[11480839.441556] [<ffffffff8106e29b>] warn_slowpath_common+0x6b/0xb0
[11480839.443818] [<ffffffff8106e33c>] warn_slowpath_fmt+0x5c/0x80
[11480839.445983] [<ffffffff8123e585>] sysfs_add_one+0xa5/0xd0
[11480839.447983] [<ffffffff8123e77c>] create_dir+0x7c/0xe0
[11480839.449876] [<ffffffff8123eb29>] sysfs_create_dir+0xa9/0x130
[11480839.451971] [<ffffffff812d74ab>] kobject_add_internal+0xbb/0x2f0
[11480839.454310] [<ffffffff812d79e5>] kobject_add+0x75/0xd0
[11480839.456236] [<ffffffff813cfa85>] device_add+0x125/0x7a0
[11480839.458167] [<ffffffff813df9fc>] ? __pm_runtime_resume+0x5c/0x80
[11480839.460469] [<ffffffff813fe9cc>] scsi_sysfs_add_sdev+0xac/0x280
[11480839.462628] [<ffffffff813fcfbb>] do_scan_async+0x7b/0x150
[11480839.464632] [<ffffffff8109e849>] async_run_entry_fn+0x39/0x120
[11480839.467170] [<ffffffff8108f0cb>] process_one_work+0x17b/0x470
[11480839.469354] [<ffffffff8108fe9b>] worker_thread+0x11b/0x400
[11480839.472310] [<ffffffff8108fd80>] ? rescuer_thread+0x400/0x400
[11480839.475265] [<ffffffff8109727f>] kthread+0xcf/0xe0
[11480839.477904] [<ffffffff810971b0>] ? kthread_create_on_node+0x140/0x140
[11480839.481074] [<ffffffff81614358>] ret_from_fork+0x58/0x90
[11480839.483873] [<ffffffff810971b0>] ? kthread_create_on_node+0x140/0x140
[11480839.487072] ---[ end trace 1f7736c59e96a8a0 ]---
[11480839.489584] ------------[ cut here ]------------
......
[11480864.118093] Call Trace:
[11480864.118093] [<ffffffff815f2535>] klist_put+0x25/0xa0
[11480864.118093] [<ffffffff815f25be>] klist_del+0xe/0x10
[11480864.118093] [<ffffffff813ce908>] device_del+0x58/0x1f0
[11480864.118093] [<ffffffff813ceabe>] device_unregister+0x1e/0x60
[11480864.118093] [<ffffffff812c36ee>] bsg_unregister_queue+0x5e/0xa0
[11480864.118093] [<ffffffff813fec49>] __scsi_remove_device+0xa9/0xd0
[11480864.118093] [<ffffffff813fcfc7>] do_scan_async+0x87/0x150
[11480864.118093] [<ffffffff8109e849>] async_run_entry_fn+0x39/0x120
[11480864.118093] [<ffffffff8108f0cb>] process_one_work+0x17b/0x470
[11480864.118093] [<ffffffff8108fe9b>] worker_thread+0x11b/0x400
[11480864.118093] [<ffffffff8108fd80>] ? rescuer_thread+0x400/0x400
[11480864.118093] [<ffffffff8109727f>] kthread+0xcf/0xe0
[11480864.118093] [<ffffffff810971b0>] ? kthread_create_on_node+0x140/0x140
[11480864.118093] [<ffffffff81614358>] ret_from_fork+0x58/0x90
[11480864.118093] [<ffffffff810971b0>] ? kthread_create_on_node+0x140/0x140

Orsak

Det här problemet kan orsakas av felaktig låsningslogik i SCSI-undersystemet som exponeras när en SCSI-disk tas bort från en rhel-/CentOS-baserad vm-gäst som körs på en Microsoft Hyper-V värd.

Åtgärd

Om du vill åtgärda problemet och återställa funktionen startar du om den virtuella datorn manuellt.

För att undvika det här problemet i framtiden uppdaterar du till kernelversion 3.10.0-327.10.1 eller en senare version, inklusive de som finns i:

  • Red Hat Enterprise Linux 7.2
  • CentOS 7,2
  • Oracle Linux 7.2 med Red Hat-kompatibel kernel

Mer information

Mer information om Endorsed Linux-distributioner och tekniker med öppen källkod i Azure finns i Support for Linux and open-source technology in Azure.

Ansvarsfriskrivning för information från tredje part

De produkter från tredje part som beskrivs i den här artikeln tillverkas av företag som är oberoende av Microsoft. Microsoft ger ingen garanti, underförstådd eller på annat sätt, om dessa produkters prestanda eller tillförlitlighet.