11.6. Kernel

A remoção acidental do patch faz com que o enorme_page_setup_helper.py mostre erro

Um adesivo que atualiza o enorme_página_setup_helper.py script, foi removido acidentalmente. Consequentemente, após a execução do script huge_page_setup_helper.py, aparece a seguinte mensagem de erro:

SintaxeError: Parênteses em falta na chamada para "imprimir

Para contornar este problema, copie o enorme_página_setup_helper.py script da RHEL 8.1 e instale-o no diretório /usr/bin/:

  1. Faça o download do pacote libhugetlbfs-utils-2.21-3.el8.x86_64.rpm da mídia de instalação RHEL-8.1.0 ou do Portal do Cliente da Red Hat.
  2. Executar o comando rpm2cpio:

    # rpm2cpio libhugetlbfs-utils-2.21-3.el8.x86_64.rpm | cpio -D / -iduv '*/huge_page_setup_helper.py'

    O comando extrai o enorme_página_setup_helper.py script do RHEL 8.1 RPM e o salva no diretório /usr/bin/.

Como resultado, o enorme_página_setup_helper.py script funciona corretamente.

(BZ#1823398)

Sistemas com uma grande quantidade de experiências de memória persistente atrasam durante o processo de inicialização

Sistemas com uma grande quantidade de memória persistente levam muito tempo para arrancar porque a inicialização da memória é feita em série. Consequentemente, se houver sistemas de arquivo de memória persistente listados no arquivo /etc/fstab, o sistema pode demorar enquanto espera que os dispositivos fiquem disponíveis. Para contornar este problema, configure a opção DefaultTimeoutStartSec no arquivo /etc/systemd/system.conf para um valor suficientemente grande.

(BZ#1666538)

A KSM às vezes ignora as políticas de memória NUMA

Quando o recurso de memória compartilhada do kernel (KSM) é ativado com o parâmetro merge_across_nodes=1, o KSM ignora as políticas de memória definidas pela função mbind(), e pode fundir páginas de algumas áreas de memória com nós de Acesso Não-Uniforme à Memória (NUMA) que não correspondem às políticas.

Para contornar este problema, desative o KSM ou configure o parâmetro merge_across_nodes para 0 se estiver usando a ligação de memória NUMA com QEMU. Como resultado, as políticas de memória NUMA configuradas para a KVM VM funcionarão como esperado.

(BZ#1153521)

O núcleo de depuração não inicia no ambiente de captura de falhas no RHEL 8

Devido à natureza exigente de memória do núcleo de depuração, ocorre um problema quando o núcleo de depuração está em uso e um pânico do núcleo é desencadeado. Como conseqüência, o kernel debug não é capaz de inicializar como o kernel de captura, e em seu lugar é gerado um traço de pilha. Para contornar este problema, aumente a memória do kernel debug de acordo. Como resultado, o kernel debug arranca com sucesso no ambiente de captura de falhas.

(BZ#1659609)

zlib pode retardar uma captura de vmcore em algumas funções de compressão

O arquivo de configuração kdump usa o formato de compressão lzo(makedumpfile -l) por padrão. Ao modificar o arquivo de configuração usando o formato de compressão zlib(makedumpfile -c), é provável que ele traga um fator de compressão melhor às custas de retardar o processo de captura do vmcore. Como conseqüência, o kdump leva até quatro vezes mais tempo para capturar um vmcore com zlib, em comparação com o lzo.

Como resultado, a Red Hat recomenda o uso do lzo padrão para os casos em que a velocidade é o principal fator de condução. Entretanto, se a máquina alvo estiver com pouco espaço disponível, a zlib é uma opção melhor.

(BZ#1790635)

Uma captura vmcore falha após a operação de hot-plug de memória ou de desconectar a tomada

Após realizar a operação hot-plug ou hot-unplug de memória, o evento vem após a atualização da árvore do dispositivo que contém informações sobre o layout da memória. Assim, o utilitário makedump tenta acessar um endereço físico inexistente. O problema aparece se todas as seguintes condições forem atendidas:

  • Uma variante um poucoendiana do IBM Power System executa o RHEL 8.
  • O serviço kdump ou fadump está habilitado no sistema.

Consequentemente, o kernel de captura não consegue salvar o vmcore se uma falha no kernel for acionada após a operação hot-plug ou hot-unplug da memória.

Para contornar este problema, reinicie o serviço kdump após o hot-plug ou hot-unplug:

# systemctl restart kdump.service

Como resultado, o vmcore é salvo com sucesso no cenário descrito.

(BZ#1793389)

O mecanismo fadump dumping renomeia a interface da rede para kdump-<interface-name>

Ao utilizar o lixão assistido por firmwares (fadump) para capturar um vmcore e armazená-lo em uma máquina remota usando o protocolo SSH ou NFS, renomeia a interface de rede para kdump-<interface-name>. A renomeação acontece quando o <interface-name> é genérico, por exemplo, *eth#, ou net# e assim por diante. Este problema ocorre porque os scripts de captura do vmcore no disco RAM inicial (initrd) adicionam o prefixo kdump- ao nome da interface de rede para garantir a nomeação persistente. Como o mesmo initrd também é usado para uma inicialização regular, o nome da interface é alterado também para o kernel de produção.

(BZ#1745507)

O sistema entra no modo de emergência no momento da inicialização quando o fadump é ativado

O sistema entra no modo de emergência quando fadump (kdump) ou dracut o módulo squash é ativado no esquema initramfs porque o gerente systemd não consegue pegar as informações de montagem e configurar a partição LV para montar. Para contornar este problema, adicione o seguinte parâmetro de linha de comando do kernel rd.lvm.lv=<VG>/<LV> para descobrir e montar a partição LV falhada de forma apropriada. Como resultado, o sistema inicializará com sucesso no cenário descrito.

(BZ#1750278)

O uso do irqpoll causa falha na geração de vmcore

Devido a um problema existente com o driver nvme nas arquiteturas ARM de 64 bits que rodam nas plataformas de nuvem Amazon Web Services (AWS), a geração vmcore falha quando você fornece o parâmetro de linha de comando do kernel irqpoll para o primeiro kernel. Conseqüentemente, nenhum arquivo vmcore é despejado no diretório /var/crash/ após uma falha do kernel. Para contornar este problema:

  1. Adicionar irqpoll à chave KDUMP_COMMANDLINE_REMOVE no arquivo /etc/sysconfig/kdump.
  2. Reinicie o serviço kdump executando o comando systemctl restart kdump.

Como resultado, espera-se que o primeiro kernel boots corretamente e o arquivo vmcore sejam capturados na falha do kernel.

Note que o serviço kdump pode usar uma quantidade significativa de memória do kernel para despejar o arquivo vmcore. Certifique-se de que o kernel de captura tenha memória suficiente disponível para o serviço de kdump.

(BZ#1654962)

O uso da memória vPMEM como alvo de despejo atrasa o processo de captura de falhas do kernel

Quando você usa a Memória Virtual Persistente (vPEM) como alvo kdump ou fadump, o módulo papr_scm é forçado a desenhar e refazer a memória com o respaldo do vPMEM e readicionar a memória em seu mapa linear. Conseqüentemente, este comportamento aciona as chamadas Hypervisor (HCalls) para o Hypervisor POWER, e o tempo total gasto, retarda consideravelmente a inicialização do kernel de captura. Portanto, recomenda-se não usar os espaços de nomes vPMEM como alvo de despejo para kdump ou fadump.

Se você precisar usar o vPMEM, para contornar este problema, execute os seguintes comandos:

  1. Criar o arquivo /etc/dracut.conf.d/99-pmem-workaround.conf e adicionar:

    add_drivers =="nd_pmem nd_btt libnvdimm papr_scm
  2. Reconstruir o sistema de arquivo inicial do disco RAM (initrd):

    # touch /etc/kdump.conf
    # systemctl restart kdump.service

(BZ#1792125)

O cão de guarda HP NMI nem sempre gera um depósito de lixo

Em certos casos, o motorista hpwdt para o cão de guarda HP NMI não é capaz de reivindicar uma interrupção não-máscara (NMI) gerada pelo temporizador HPE porque o NMI foi consumido pelo motorista perfmon.

O NMI em falta é iniciado por uma de duas condições:

  1. O botão Generate NMI no software de gerenciamento do servidor Lights-Out (iLO) integrado. Este botão é acionado por um usuário.
  2. O cão de guarda hpwdt. A expiração por padrão envia um NMI para o servidor.

Ambas as seqüências tipicamente ocorrem quando o sistema não responde. Em circunstâncias normais, o manipulador do NMI para estas duas situações chama a função kernel panic( ) e se configurado, o serviço kdump gera um arquivo vmcore.

Devido à falta de MNI, no entanto, o pânico no núcleo( ) não é chamado e o vmcore não é coletado.

No primeiro caso (1.), se o sistema não reagiu, ele permanece assim. Para contornar este cenário, use o botão virtual Power para reinicializar ou ligar o servidor.

No segundo caso (2.), o NMI em falta é seguido 9 segundos depois por um reset do ASR (Automated System Recovery).

A linha de servidores HPE Gen9 experimenta este problema em porcentagens de um dígito. O Gen10 em uma freqüência ainda menor.

(BZ#1602962)

O comando powersave de perfil afinado faz com que o sistema não responda

A execução do comando powersave de perfil tuned-adm leva a um estado não responsivo dos sistemas de 2-socket Penguin Valkyrie 2000 com os processadores Thunderx (CN88xx) mais antigos. Consequentemente, reinicialize o sistema para retomar o funcionamento. Para contornar este problema, evite usar o perfil powersave se seu sistema estiver de acordo com as especificações mencionadas.

(BZ#1609288)

O driver cxgb4 causa uma falha no kdump kernel

O kdump kernel quebra ao tentar salvar informações no arquivo vmcore. Conseqüentemente, o driver cxgb4 impede que o kdump kernel salve um núcleo para análise posterior. Para contornar este problema, adicione o parâmetro novmcoredd à linha de comando do kdump kernel para permitir salvar arquivos do núcleo.

(BZ#1708456)

A tentativa de adicionar a porta NIC do driver ICE a um modo 5(balance-tlb) de ligação da interface mestre pode levar a falhas

Tentar adicionar a porta NIC do driver ICE a uma interface mestre de ligação modo 5 (balance-tlb) pode levar a uma falha com um erro Master 'bond0', Slave 'ens1f0': Erro: Ens1f0": Erro: Falha no escravo. Conseqüentemente, você experimenta uma falha intermitente ao adicionar a porta NIC à interface mestre de colagem. Para solucionar este problema, tente tentar novamente adicionar a interface.

(BZ#1791664)

Anexar a Função Virtual à máquina virtual com interface tipo='hostdev' pode falhar em alguns momentos

Anexar uma função virtual (VF) a uma máquina virtual usando um arquivo .XML, seguindo o método Assignment with <interface type='hostdev'>, pode falhar em alguns momentos. Isto ocorre porque a utilização do método Assignment with <interface type='hostdev'> impede a VM de anexar a VF NIC apresentada a esta máquina virtual. Para resolver este problema, anexe a VF à VM usando o arquivo .XML, usando o método Assignment with <hostdev>. Como resultado, o comando virsh attach-device é bem sucedido sem erros. Para mais detalhes sobre a diferença entre Assignment with <hostdev> e Assignment with <interface type='hostdev'> (somente dispositivos SRIOV), veja PCI Passthrough de dispositivos de rede host.

(BZ#1792691)