Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: ✔️ VMs Linux
Número original do KB: 3212236
Observação
CentOS mencionado neste artigo é uma distribuição Linux e em breve atingirá seu status de fim de suporte (End Of Life - EOL). Considere seu uso e planeje adequadamente. Para obter mais informações, consulte Diretrizes de fim da vida útil do CentOS.
Resumo
Este artigo discute um problema que ocorre quando uma VM Linux do Azure que executa o kernel baseado no 3.10 falha após uma atualização do nó de host no Azure.
Sintomas
Considere o cenário a seguir.
Você tem uma VM (máquina virtual) do Linux Microsoft Azure que está executando uma distribuição baseada em RHEL/CentOS com uma versão do kernel do Linux anterior à versão 3.10.0-327.10.1, incluindo aquelas incluídas com:
- Red Hat Enterprise Linux 7.1 e 7.0
- CentOS 7.1 e 7.0
- Oracle Linux 7.1 e 7.0 com kernel compatível com Red Hat
Uma operação de atualização com preservação da memória ocorre em um nó de host do Azure.
Nesse cenário, a VM deixa de responder e um pânico de VM semelhante ao seguinte é registrado no log serial do Linux:
[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
Motivo
Esse problema pode ser causado por uma lógica de bloqueio com falha no subsistema SCSI que se manifesta quando um disco SCSI é removido de um convidado de VM baseado em RHEL/CentOS em um host Microsoft Hyper-V.
Resolução
Para corrigir esse problema e restaurar a funcionalidade, reinicie manualmente a VM.
Para evitar esse problema no futuro, atualize para a versão do kernel 3.10.0-327.10.1 ou uma versão posterior, incluindo aquelas encontradas em:
- Red Hat Enterprise Linux 7.2
- CentOS 7.2
- Oracle Linux 7.2 com kernel compatível com Red Hat
Mais informações
Para obter mais informações sobre distribuições Linux homologadas e tecnologias de software livre no Azure, consulte o suporte para tecnologias Linux e código aberto no Azure.
Aviso de isenção de responsabilidade para informações de terceiros
Os produtos de terceiros discutidos neste artigo são fabricados por empresas independentes de Microsoft. Microsoft não oferece garantia, implícita ou não, sobre o desempenho ou a confiabilidade desses produtos.