Novos Recursos e Alterações UEK 8
Novos recursos, aprimoramentos e outras alterações notáveis introduzidas no UEK 8.
Resumo de Alterações Notáveis no UEK 8
A seguir, um resumo dos recursos, alterações e melhorias introduzidas no UEK 8, em relação ao UEK R7:
-
Base de kernel estável do Linux 6.12
A release do kernel principal 6.12 usada como kernel base para o UEK 8 inclui muitos recursos e melhorias de kernel upstream em relação às releases anteriores do UEK e ao RHCK no Oracle Linux 9.
-
O empacotamento do módulo do kernel foi atualizado
Os módulos do kernel são distribuídos em pacotes mais atômicos para reduzir a superfície de ataque no kernel, melhorar a manutenção do módulo do kernel e também melhorar a visibilidade da descontinuação do módulo. Consulte Alterações na Distribuição e no Pacote de Conteúdo do UEK para obter uma visão completa do empacotamento do kernel no UEK 8.
-
64k Tamanho da página base no braço
Nesta release, uma versão do kernel com um tamanho de página base de 64k só está disponível para formas de Computação baseadas em Ampere Arm no Oracle Cloud Infrastructure. O tamanho da página base de 64k melhora a forma como as plataformas Arm processam cargas de trabalho com conjuntos de dados de memória grandes e contíguos. Consulte (aarch64) 64k Tamanho da Página Base no Arm para obter mais informações.
-
Outras atualizações da plataforma
Várias atualizações genéricas da plataforma estão incluídas. Consulte Atualizações Genéricas da Plataforma. Algumas outras atualizações de plataforma específicas da Intel estão disponíveis, incluindo recursos de segurança, como extensões do Intel Software Guard e novo suporte de hardware para a tecnologia Intel Quick Assist (QAT). Consulte Atualizações da Plataforma Intel.
-
Programador Completamente Justo (CFS) substituído pelo Primeiro Prazo Virtual Qualificado Mais Antigo (EEVDF)
O CFS é substituído pelo agendador EEVDF para melhorar o comportamento do agendamento e reduzir a complexidade da configuração. Consulte EEVDF Scheduler Replaces CFS.
-
Gerenciamento de memória aprimorado
Muitas melhorias no gerenciamento de memória aparecem no UEK 8, incluindo várias otimizações de mapeamento de memória, melhorias no desempenho por meio da introdução de estruturas de fólio e alguns aprimoramentos no manuseio de Huge Page. Consulte Memory Management.
-
Atualizações dos sistemas de arquivos
O suporte para os sistemas de arquivos Btrfs e OCFS2 está ativado no UEK 8. Há aprimoramentos significativos disponíveis para os sistemas de arquivos Btrfs, XFS e NFS nesta versão. Para obter mais informações sobre novos recursos de sistemas de arquivos introduzidos no UEK 8, consulte Sistemas de arquivos
-
ASMLib v3 e io_uring
Vários aprimoramentos do io_uring estão incluídos nesta versão do UEK, que também suporta ASMLib v3. O ASMLib v3 usa io_uring para o recurso Gerenciamento Automático de Armazenamento do Oracle Database. Consulte io_uring Enhancements e ASMLib v3.
-
Atualizações de rede
Vários aprimoramentos gerais de rede estão incluídos no UEK 8. Consulte Aperfeiçoamentos Gerais de Rede.
-
Atualizações relacionadas à segurança
Algumas outras atualizações relacionadas à segurança estão incluídas nesta versão do UEK, incluindo algumas atualizações do Gerador de Números Aleatórios que ajudam a melhorar o desempenho e a segurança. Consulte Aprimoramentos do Gerador de Números Aleatórios. O recurso de offload do kernel TLS é ativado no UEK 8. Consulte KTLS.
-
Filtro de Pacotes Berkeley
Vários aprimoramentos estão disponíveis no Berkeley Packet Filter (BPF) usado para rastreamento, incluindo um alocador de memória dedicado, um novo buffer de anel de usuário e o uso de módulos BTF (Resilient BPF Type Format) para usar o BTF para módulos fora da árvore. Consulte Aprimoramentos do Berkeley Packet Filter (BPF).
-
DTrace v2.0
O Dtrace v2.0 continua disponível no UEK 8 e aproveita recursos de rastreamento de kernel, como o eBPF. Informações detalhadas sobre releases do DTrace e outras alterações notáveis estão disponíveis em Notas da Release do Oracle Linux: DTrace.
.
Alterações na Distribuição e Embalagem de Conteúdo UEK
A tabela a seguir fornece detalhes sobre como o conteúdo do UEK 8 é distribuído e empacotado e inclui informações sobre dependências de pacotes e quaisquer outros requisitos notáveis.
O empacotamento do kernel é atualizado no UEK 8 e difere das versões anteriores do UEK. Mais notavelmente, os módulos do kernel agora são fornecidos em uma coleção de pacotes separados. A separação dos módulos dos pacotes principais do kernel ajuda a reduzir a sobrecarga, fornece um mecanismo para minimizar a superfície de ataque e melhora a manutenção do módulo do kernel.
Os arquivos de configuração para identificar módulos que são negados do carregamento são renomeados de arquivos 'lista negra' para 'denylist' como parte da iniciativa da Oracle de usar linguagem mais inclusiva em seus produtos.
Além disso, algumas ferramentas do utilitário kernel que foram empacotadas no pacote kernel-uek-core nas versões anteriores são movidas para um pacote separado, kernel-uek-tools.
Você pode listar os módulos disponíveis em cada pacote executando:
rpm -q -l kernel-uek-modules-<ext>
Para localizar a qual pacote um módulo que está disponível no sistema pertence, você pode executar:
rpm -q -f /lib/modules/$(uname -r)/<path to module>
Se você executar o comando modprobe para um módulo e o pacote ao qual o módulo pertence não estiver instalado, a saída o notificará e fornecerá o nome do pacote que você deve instalar. Observe que talvez você precise atualizar o pacote kmod para a versão mais recente para que essa funcionalidade funcione.
sudo modprobe wl1251_sdio
modprobe: FATAL: Module wl1251_sdio not found in directory /lib/modules/6.12.0-0.20.20.el9uek.x86_64,
ensure the following package is installed: kernel-uek-modules-wireless-6.12.0-0.20.20.el9uek.x86_64
Um arquivo de mapeamento de pacote está incluído em /lib/modules/$(uname -r)/modules.packages e é enviado no pacote kernel-uek-core para UEK 8 e versões posteriores. Você também pode usar este arquivo para identificar o pacote do módulo que contém um driver específico.
|
Pacote |
Descrição |
|---|---|
|
|
Este é um meta pacote que não contém arquivos. No Oracle Linux 9, o pacote tem as seguintes dependências:
A instalação deste pacote é igual à instalação do kernel UEK completo. A instalação desse pacote mantém a compatibilidade com versões anteriores. |
|
|
Este pacote contém o binário do kernel UEK e os arquivos de suporte que são copiados para |
|
|
Este pacote contém um número mínimo de módulos de núcleo kernel e arquivos de suporte usados para Oracle Engineered Systems. O pacote é uma dependência do |
|
|
Este pacote contém vários módulos que são comumente usados na maioria das configurações do servidor. Observe que este pacote requer que o pacote |
|
|
Este pacote contém módulos para hardware do tipo desktop. Este pacote pode ser removido para proteger o sistema em muitas plataformas de servidor se nenhum dos módulos for usado. |
|
|
Este pacote contém drivers USB. Este pacote pode ser removido para proteger o sistema em muitas plataformas de servidor se nenhum dos módulos for usado. |
|
|
Este pacote contém drivers sem fio. Este pacote pode ser removido para proteger o sistema em muitas plataformas de servidor se nenhum dos módulos for usado. |
|
|
Este pacote contém módulos netfilter incomuns. Este pacote pode ser removido para proteger o sistema em muitas plataformas de servidor se nenhum dos módulos for usado. |
|
|
Este pacote contém módulos que planejamos remover em versões futuras. Este pacote é opcional e você pode instalá-lo manualmente no repositório yum ou no canal ULN. Os módulos incluídos neste pacote são obsoletos e podem ser removidos em uma versão futura. |
|
|
Este pacote contém módulos extras para configurações de servidor, mas que não são comumente usados. Este pacote é opcional e você pode instalá-lo manualmente no repositório yum ou no canal ULN. |
|
|
Este pacote contém ferramentas necessárias para satisfazer outras dependências de build e runtime na base de código |
|
|
Esse pacote contém componentes de firmware de núcleo e é uma dependência para o pacote |
|
|
Esse pacote contém componentes de firmware que não são fornecidos no pacote
Observe que este pacote requer que o pacote |
Para proteção de segurança, recomendamos que você remova qualquer um dos pacotes kernel-uek-modules-* que não sejam exigidos pelo sistema. Para remover pacotes:
-
Marque os pacotes de módulos principais necessários no sistema para impedir que sejam removidos. Por exemplo:
sudo dnf mark install kernel-uek-core kernel-uek-modules -
Remova do sistema os pacotes de módulos não utilizados e a metapackage
kernel-uek:sudo dnf erase kernel-uek-modules-desktop kernel-uek
(aarch64) 64k Tamanho da página base no braço
Além da compilação padrão do UEK para Arm (aarch64), que define um tamanho de página base de 4k, um pacote kernel-uek64k que define um tamanho de página base de 64k está disponível apenas para formas de Computação baseadas em Ampere Arm no Oracle Cloud Infrastructure. Para casos de uso diferentes do OCI, o pacote kernel-uek64 só está disponível como uma visualização técnica. O pacote kernel-uek64k está disponível para o Oracle Linux 9 e versões posteriores.
O kernel de tamanho de página 64k é uma opção útil para plataformas Ampere (baseadas em Arm) que processam cargas de trabalho com conjuntos de dados de memória grandes e contíguos e podem obter melhor desempenho para alguns tipos de operações com uso intensivo de memória e CPU.
O kernel de tamanho de página 4k é útil para ambientes menores, onde minimizar o uso da memória do sistema físico é uma prioridade.
Observe que o kernel de tamanho de página 4k e o kernel de tamanho de página 64k não diferem na experiência do usuário, pois o espaço do usuário é o mesmo.
Depois que um sistema é instalado com a alternância de kernel-uek64k para um tamanho de página do kernel 4k, não há suporte.
Instalação do kernel-uek64k
O único tamanho de página nas formas de computação NVIDIA Grace é definido como 64k por padrão. Opcionalmente, você pode alterar do tamanho de página padrão de 4k para o tamanho de página de 64k nas formas Ampere.
A instalação do
kernel-uek64k em sistemas fora da Oracle Cloud Infrastructure (OCI) só está disponível como visualização técnica. Não instale este kernel em sistemas de produção fora da OCI.Para instalar o kernel-uek64k em um sistema instalado com o tamanho de página padrão 4k kernel-uek:
Atualizações Genéricas da Plataforma
Algumas atualizações genéricas da plataforma estão disponíveis no UEK 8. As atualizações incluem:
-
Detecção de bloqueio dividido para operações na memória que abrangem duas linhas de cache, como acesso à memória desalinhado. Consulte também https://docs.kernel.org/arch/x86/buslock.html
-
Shadow Stacks para o espaço do usuário, usando a tecnologia de aplicação de fluxo de controle (CET) do x86 para fornecer proteção contra ataques de programação orientados a retorno. Essa implementação funciona mantendo uma pilha secundária usando um tipo de memória especial que tem proteções contra modificação. Consulte também https://docs.kernel.org/arch/x86/shstk.html.
-
O rastreamento de profundidade de chamada é implementado para melhorar o desempenho no código de mitigação de vulnerabilidade de segurança Retbleed.
-
O recurso de CPU x86 é atualizado para que núcleos de CPU secundários sejam inicializados em paralelo a fim de melhorar os tempos de inicialização do kernel em sistemas com alta contagem de núcleos.
-
Emulação de 32 bits em kernels x86_64 com o parâmetro de linha de comando
ia32_emulation. Quando definido como verdadeiro, você pode carregar programas de 32 bits e executar chamadas de sistema de 32 bits.
Atualizações da plataforma Intel
Algumas atualizações da plataforma Intel upstream estão incluídas no UEK 8. Os itens notáveis incluem:
- O Intel Software Guard Extensions (SGX2), uma implementação baseada em hardware do Enclave Dynamic Memory Management (EDMM), é uma versão aprimorada de uma tecnologia de segurança que pode proteger dados e códigos confidenciais, isolando-os em regiões de memória privada chamadas enclaves. O SGX2 apresenta novos recursos, como gerenciamento dinâmico de memória, para que os enclaves possam redimensionar e gerenciar sua memória durante o tempo de execução. Essa atualização é importante para aplicativos com cargas de trabalho dinâmicas ou requisitos de memória maiores, que exigem uma arquitetura mais escalável. O SGX2 fornece confidencialidade e integridade robustas para cargas de trabalho confidenciais em ambientes on-premises e na nuvem. Consulte https://www.intel.com/content/www/us/en/support/articles/000058764/software/intel-security-products.html.
-
Interrupções de espaço de usuário do FRED (Flexible Return and Event Delivery). Consulte também https://docs.kernel.org/arch/x86/x86_64/fred.html.
-
Verificação em campo para ajudar a testar a integridade da CPU, detectando problemas que não são detectados pelas verificações de paridade ou ECC. Consulte também https://docs.kernel.org/arch/x86/ifs.html.
-
A funcionalidade de tecnologia de assistência rápida (QAT) é atualizada para suportar processadores Intel Xeon de 4ª geração.
-
Máscara de endereço linear (modo LAM_U57) para alterar a verificação aplicada a endereços lineares de 64 bits, para que o software possa usar bits de endereço não traduzidos para armazenar metadados. LAM_U57 pode usar 6 bits de metadados nos bits 62 a 57.
EEVDF Scheduler Substitui CFS
O Early Eligible Virtual Deadline First (EEVDF) é um novo agendador de kernel que substitui o Completely Fair Scheduler (CFS). O EEVDF fornece uma melhor política de agendamento para o kernel e reduz a complexidade da configuração e melhora o comportamento do agendamento.
Gerenciamento de Memória
Várias atualizações importantes de gerenciamento de memória estão disponíveis no UEK 8 com alterações upstream incluídas da v5.15 para a v6.12.
- A estrutura de dados das contas substitui a página struct para fornecer melhor abstração para o gerenciamento de páginas. Folios é uma nova estrutura de dados que representa uma ou mais páginas de memória. A nova estrutura reduz a confusão de tipos e a sobrecarga de memória.
- Huge Pages são melhoradas com várias atualizações úteis, incluindo:
- Atualize para tratar falhas enormes do TLB ao usar o bloqueio por VMA. As operações de gerenciamento de memória, como falhas de página e mapeamento de memória, podem ser tratadas de maneira mais precisa e eficiente, reduzindo a disputa e melhorando a simultaneidade.
- THP de vários tamanhos para memória anônima, que permite a alocação de fólios maiores que o tamanho da página base, mas menores que o tamanho PMD.
- Dividir THPs subutilizados, e melhorar THP = sempre política. Essas mudanças melhoram o provisionamento excessivo de THPs em áreas de memória pouco acessadas.
- O flag MADV_DONTNEED madvise() funciona em páginas hugetlb e pode ser útil para desmapear e liberar páginas hugetlb mapeadas privadas.
- O flag MADV_COLLAPSE madvise() recolhe as páginas em uma enorme página transparente.
- Melhorias contínuas no código de grupos de controle de memória, memcg, para desacoplar campos v1 no código da base de código v2.
- Uma nova interface sysfs,
/proc/sys/vm/enable_soft_offline, está disponível para que você possa desativar o soft-offlining automático das páginas. Esse recurso pode ser útil para gerenciar o offlining da página do espaço do usuário. -
Otimizações de mapeamento de memória:
- O Maple Tree substituiu o Red-Black Trees (RB Trees) para gerenciar áreas de memória virtual (VMAs) para melhor desempenho com pesquisas, inserções e exclusões mais rápidas.
- Foi introduzido um mecanismo para nomear VMAs anônimos para depuração e criação de perfil aprimoradas.
- Bloqueio de mmap por VMA para melhorar a simultaneidade e reduzir a contenção em aplicativos multithread com muitos VMAs.
- Introdução da estrutura de dados
ptdescpara otimizar o gerenciamento de tabelas de página desacoplando metadados de página da estrutura de dadospage.
Sistemas de Arquivos
Os seguintes recursos e aprimoramentos de sistemas de arquivos foram introduzidos no UEK 8:
Btrfs
As seguintes alterações notáveis no sistema de arquivos Btrfs foram introduzidas no UEK 8:
-
Dados compactados podem ser enviados ou recebidos sem transformação, e pedaços de dados maiores que 64K agora são tratados para gravações.
-
Uma nova árvore de grupo de blocos de árvore melhora os tempos de montagem e melhorias no código de grupo de blocos reduzem a fragmentação.
-
A contabilidade de cotas é simplificada. Cotas simples podem ser usadas em vez de grupos de cotas para rastreamento direto do uso do espaço, vinculando extensões a seus subvolumes. Essa abordagem pode melhorar o desempenho, mas cotas simples não conseguem rastrear dados compartilhados; portanto, são mais adequadas para ambientes em que as extensões são imutáveis e persistem por mais tempo do que qualquer cópia.
-
A introdução de um FSID temporário possibilita a montagem de dispositivos clonados. O sistema de arquivos obtém um UUID gerado aleatoriamente na montagem.
-
Verificações de gravação de NOCOW aprimoradas melhoram o throughput em 9%.
-
Uma nova opção de montagem
discard=asyncé ativada por padrão para dispositivos que suportam corte/descartamento, aplicando o descarte assíncrono para todo o sistema de arquivos. -
A opção de montagem
ignoremetacsumsignora somas de verificação de metadados inválidas, e a opção de montagemignoresuperflagspode ser definida para ignorar flags de superbloco que rastreiam o andamento da conversão. -
As tarefas de envio e realocação, como saldo, remoção do dispositivo, redução e recuperação do grupo de blocos, são executadas em paralelo.
-
É possível adicionar dispositivos durante um saldo pausado.
XFS
As seguintes alterações notáveis no sistema de arquivos XFS foram introduzidas no UEK 8:
-
Agora é possível montar um sistema de arquivos com o tamanho do bloco maior que o tamanho da página.
-
Contagens de grande extensão estão disponíveis para grandes imagens de disco virtual.
-
Confirmações de conteúdo de arquivo atômico agora estão disponíveis.
-
Fsck e reparo on-line totalmente autônomos estão disponíveis como uma pré-visualização técnica.
-
Uma atualização do comando mkfs.xfs define um tamanho mínimo de sistema de arquivos XFS como 300 MB para impedir a criação de sistemas de arquivos pequenos que causaram problemas de desempenho e redundância. Essa alteração difere do comando incluído no pacote
xfsprogsanterior disponível no repositóriool9_baseos_latestnos sistemas Oracle Linux 9.
NFS
As seguintes alterações notáveis do sistema de arquivos NFS foram introduzidas no UEK 8:
-
O recurso NFSv4.2 READ_PLUS é ativado por padrão dentro do kernel para melhorar o tratamento de arquivos esparsos, incluindo uma descrição de buracos ou blocos de dados que não são inicializados.
-
Vários recursos de protocolo mais antigos para NFS são removidos no UEK 8. Consulte Recursos Obsoletos e Removidos.
Aprimoramentos do Berkeley Packet Filter (BPF)
Várias atualizações importantes estão disponíveis no UEK 8 para o Filtro de Pacotes Berkeley (BPF), incluindo:
-
A introdução de um alocador de memória BPF dedicado é adicionada para melhorar a confiabilidade das alocações feitas dentro de programas BPF, que podem ser executados em uma ampla variedade de contextos.
-
Adição de um novo tipo de mapa BPF de buffer de anel de usuário para transmissão de mensagem assíncrona e transferência de dados mais rápida entre um programa BPF e o espaço do usuário.
-
Programas BPF agora podem chamar funções do kernel a partir de um módulo carregável, podem acessar e armazenar objetos task_struct e podem usar valores de tempo absoluto.
-
Estão incluídas funções auxiliares mais amigáveis, como
bpf_trace_vprintk, e também ajudantes destrutivos, comocrash_kexec. -
Os programas BPF podem anexar funções de filtro a kfuncs. O filtro pode limitar os contextos de onde o kfunc pode ser chamado.
-
As informações do BTF (Resilient BPF Type Format) para módulos são incluídas para que os módulos fora da árvore possam definir o BTF que funciona durante a vida útil de uma versão UEK.
- O BPF trampoline agora está disponível para plataformas aarch64 para fornecer uma execução mais rápida do programa de rastreamento BPF usando programas Fentry e Fexit.
-
Ganchos BPF:
-
Para ver e filtrar pacotes completos.
-
Para alterar o protocolo solicitado para um novo soquete, principalmente para fazer com que os programas que solicitam conexões TCP usem TCP de vários caminhos de forma transparente.
-
Aprimoramentos do io_uring
io_uring é uma interface de chamada do sistema para gerenciar operações de E/S assíncronas do dispositivo de armazenamento. Vários recursos e melhorias são fornecidos na implementação que está disponível no UEK 8 e alguns deles podem ter sido retroportados para versões anteriores do UEK. As atualizações incluem muitas otimizações para segurança e desempenho. Novos recursos e mudanças significativas incluem:
-
O
io_uringagora suporta o envio e o recebimento de Informações de Proteção T10 junto com o buffer de dados. -
Operações para
getsockopt(),setsockopt(),bind(),listen()ewaitid(). -
Mecanismo para omitir chamadas do sistema com IORING_SETUP_SQPOLL no momento da configuração. Uma chamada para
io_uring_enter()inicia um thread de kernel que ocasionalmente sonda a fila de submissão e envia automaticamente quaisquer solicitações encontradas lá. -
Solicitação em batch para chamadas
recv()e parareads(). -
IORING_OP_SENDZC para realizar gravações com cópia zero.
-
Várias otimizações de código Ring:
-
Anéis e fila de submissão podem estar na memória de espaço do usuário, como páginas enormes.
-
Um anel agora é capaz de sinalizar outro para acelerar as solicitações de mensagens.
-
O trabalho relacionado ao anel pode ser adiado até que um aplicativo o solicite.
-
-
Aprimoramentos do
io_uringem gravações em buffer, no XFS. -
A otimização
io_uringem XFS e Ext4 pode tratar várias gravações de E/S direta em um arquivo em paralelo. -
Timeouts absolutos, juntamente com os timeouts relativos que já estavam disponíveis, agora são possíveis.
ASMLib v3
ASMLib é uma biblioteca para o recurso Gerenciamento Automático de Armazenamento do Oracle Database. O ASMLib v3 aproveita os recursos io_uring incluídos no kernel para oferecer alto desempenho. O UEK 8 é testado e totalmente compatível com o Oracle ASMLib v3.
Observe que com essa atualização, o módulo do kernel oracleasm não está mais incluído, pois o Oracle ASMLib v3 não requer mais que esse módulo funcione.
A release 3.1 do ASMLIB aproveita os aprimoramentos de transferência de informações de proteção adicionados ao io_uring no UEK 8. Através desta interface, as somas de verificação CRC podem ser anexadas a cada E/S, fornecendo uma camada adicional de proteção contra corrupção de dados.
Para usar esse recurso, os discos ASM devem ser provisionados no hardware de armazenamento que implementa Informações de Proteção T10 (controlador SCSI com suporte a DIX ou NVMe).
Consulte Oracle Linux: Instalando e Configurando o Oracle ASMLIB v3.
RDMA
O UEK 8 inclui recursos RDMA (Remote Direct Memory Access) que são fornecidos no kernel upstream, com a adição da funcionalidade Ksplice e DTrace. O RDMA permite acesso direto à memória entre dois sistemas conectados por uma rede InfiniBand ou RoCE. O RDMA facilita a rede de alto rendimento e baixa latência em clusters.
Os pacotes do Oracle RDMA estão disponíveis nos seguintes canais ULN e repositórios yum:
-
Oracle Linux 10
-
Canal ULN:
ol10_x86_64_RDMA -
Repositório de servidores yum do Oracle Linux:
ol10_RDMA
-
-
Oracle Linux 9
-
Canal ULN:
ol9_x86_64_RDMA -
Repositório de servidores yum do Oracle Linux:
ol9_RDMA
-
Consulte Fazendo Upgrade de Pacotes do Oracle RDMA no Oracle Linux se estiver fazendo upgrade de um sistema que tenha o pacote oracle-rdma-release ou oracle-rdma-release-guest instalado.
Aprimoramentos Gerais de Rede
Alguns aprimoramentos gerais de rede estão disponíveis no UEK 8 com alterações upstream incluídas da v5.15 para a v6.12.
-
O BIG TCP, que usa tamanhos maiores de pacotes TSO/GRO para tráfego IPv6, é incluído para melhorar o desempenho ao enviar pacotes TCP IPv6 grandes em redes de data center. Observe que esse recurso não é ativado por padrão porque ele pode afetar programas eBPF que podem assumir que o cabeçalho TCP segue imediatamente o cabeçalho IPv6. O BIG TCP é ativado definindo o
gro_ipv6_max_sizee ogso_ipv6_max_sizeem um dispositivo de link. -
Uma nova opção de soquete SO_RESERVE_MEM está disponível para fornecer um mecanismo para que os usuários reservem uma certa quantidade de memória para o soquete. Com este conjunto de opções de soquete, a pilha de rede gasta menos ciclos fazendo alocações e recuperações futuras, o que pode levar a um melhor desempenho do sistema, com o custo de uma quantidade de memória pré-alocada e irrecuperável, mesmo sob pressão de memória.
-
O agendador de pacotes de enfileiramento justo obteve várias melhorias de desempenho, incluindo um aumento de throughput de 5% na carga de trabalho intensiva de Solicitação/Resposta TCP (TCP_RR) e um aumento de 13% para pacotes UDP sem uma taxa de estimulação definida no soquete.
-
Várias estruturas de dados de rede principal são reorganizadas para melhorar a eficiência do cache, o que pode resultar na melhoria do desempenho do TCP em que há muitas conexões simultâneas.
KTLS
O KTLS lida com registros TLS usando os algoritmos de criptografia simétrica ou decriptografia no kernel para a cifra AES-GCM. O KTLS foi ativado no UEK R7U3 para conexões criptografadas TLS para NFS. O KTLS continua disponível no UEK 8.
Conexões Criptografadas TLS para NFS
RPC-With-TLS está ativado no servidor NFS Linux e no cliente. Esta atualização fornece um mecanismo de autenticação de pares baseado em padrões por uma conexão criptografada utilizando TLS. O protocolo TLS Record é tratado inteiramente por kTLS.
Observe que os sistemas de servidor e cliente devem executar o UEK R7U3 ou posterior, ou devem estar executando um kernel e um cliente de espaço do usuário que suporte a RFC 9289, para usar essa funcionalidade. O pacote de espaço do usuário, ktls-utils, também é necessário e deve ser instalado nos sistemas cliente e servidor. Certifique-se também de ter instalado a versão mais recente do pacote nfs-utils ou de ter feito uma atualização completa do sistema.
A RPC-With-TLS é contribuída upstream pela Oracle e é descrita na RFC 9289.
Aprimoramentos do Gerador de Números Aleatórios
Alguns aprimoramentos no RNG (Random Number Generator) estão disponíveis no UEK 8 com alterações upstream incluídas de v5.15 para v6.12. Mais notavelmente, o RNG mudou do algoritmo hash SHA1 para o algoritmo BLAKE2s mais rápido e seguro.
Além disso, a chamada do sistema getrandom() agora é implementada na área do objeto virtual dinâmico compartilhado (vDSO) do kernel. Essa implementação melhora o desempenho ao obter dados de números aleatórios ao remover a necessidade de alternar de um contexto de espaço do usuário para o contexto do kernel.
KVM e Virtualização
As seguintes alterações no KVM e na virtualização estão incluídas nesta versão do UEK 8:
-
O suporte à MMU de paginação bidimensional (TDP) é adicionado para melhorar significativamente o desempenho de falhas de página em VMs de muitas VCPUs. Essa funcionalidade é ativada por padrão.
-
A configuração do kernel UEK 8 para VCPUs foi aumentada para um limite teórico de 4096. Observe que o limite real da VCPU é específico do caso de uso e depende de muitos fatores, incluindo configuração do sistema e QEMU.
Drivers Atualizados
Os drivers de dispositivo incluídos no UEK 8 estão alinhados com os drivers no kernel mainline Linux 6.12. Algumas atualizações notáveis estão incluídas onde os drivers incluem funcionalidade ou correções disponíveis em versões posteriores do kernel upstream.
Muitos módulos de driver não rastreiam mais informações de versão. A Oracle trabalha com fornecedores para alinhar os drivers de dispositivos incluídos no UEK 8 com o código disponível nas versões do kernel upstream.
Atualizações notáveis de driver são apresentadas na seguinte tabela:
| Módulo de Driver | Descrição do Driver | Versão Alinhada do Kernel | Atualizações Notáveis |
|---|---|---|---|
|
|
Driver HBA FCoE Cisco |
6,14 |
As atualizações da versão 6.14 foram backported para esta versão. Observe que esse driver inclui uma string de versão: 1.8.0.0. |
|
|
Driver HBA Broadcom Emulex Fibre Channel |
6,14 |
As atualizações da versão 6.14 foram backported para esta versão. Observe que esse driver inclui uma string de versão: 0:14.4.0.8. |
|
|
NVIDIA 5th Generation Network Adapters (NVIDIA ConnectX series) Core Driver |
6,12 |
Várias correções e melhorias do 6.14 foram backportadas nesta versão. |
Recursos Obsoletos e Removidos
Os seguintes recursos foram descontinuados, removidos ou não são mais suportados no UEK 8:
Funcionalidades Obsoletas
-
Algoritmo SHA-1
O algoritmo SHA-1 está obsoleto no UEK 8 enquanto estava no modo FIPS e será removido em uma release futura do UEK. O algoritmo SHA-1 foi descontinuado pelo National Institute of Standard and Technology (NIST) porque o algoritmo hash SHA-1 não é mais considerado seguro. Consulte as notas da release do Oracle Linux para obter mais detalhes sobre o uso e a descontinuação do SHA-1.
-
Os módulos de kernel movidos para o pacote
kernel-uek-modules-deprecatedagora estão obsoletos.Esses módulos poderão ser removidos em uma versão futura do UEK.
Consulte Deprecações do Módulo UEK 8 (x86_64) e Deprecações do Módulo UEK 8 (aarch64) para obter uma lista detalhada.
-
cgroupsv1está obsoletocgroupsv1está obsoleto no Oracle Linux 9 e será removido em uma futura versão do Oracle Linux. -
XFS_SUPPORT_V4está obsoletoO formato do sistema de arquivos V4 contém pontos fracos conhecidos no formato em disco. Portanto, a opção está obsoleta no UEK 8 e será removida em uma release futura do UEK.
É possível verificar se o sistema de arquivos está formatado para utilizar V4, ao executar o comando xfs_db -r -c version <device>.
Se o recurso estiver habilitado, você deverá fazer backup de dados, reformatar o dispositivo e restaurar dados.
-
XFS_SUPPORT_ASCII_CIestá obsoletoO recurso de nome sem distinção entre maiúsculas e minúsculas XFS ASCII foi descontinuado no UEK 8 e será removido em uma release futura do UEK. O recurso forneceu uma opção para formatar um sistema de arquivos XFS com a opção
ascii-ciativada para desativar a distinção entre maiúsculas e minúsculas.É possível verificar se o recurso está habilitado usando o comando xfs_info.
Se o recurso estiver habilitado, você deverá fazer backup de dados, reformatar o dispositivo com a opção desabilitada e restaurar dados.
-
As opções
CONFIG_SECURITY_SELINUX_DISABLEeCONFIG_SECURITY_WRITABLE_HOOKSestão desativadasA opção para desativar o SELinux no runtime usando a interface sysfs é removida nesta release do UEK.
O método preferido de desativar o SELinux é usando o parâmetro de inicialização
selinux=0
Recursos Removidos
-
Opção
CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_DESpara os tipos de criptografia 3DES/DES3 RPCSEC GSS está desativadaA criptografia RPCSEC GSS tipos DES e Triple-DES (3DES/DES3) é removida nesta versão UEK.
Esses tipos de criptografia foram descontinuados pelas RFCs 6649 e 8429 porque são conhecidos por serem inseguros.
-
As opções
CONFIG_NFS_V2eCONFIG_NFSD_V2para o servidor e o cliente NFSv2 estão desativadasO suporte para clientes NFSv2 e servidores NFSv2 é removido nesta versão do UEK.
O NFSv2 foi substituído por NFSv3 e NFSv4, que oferecem funcionalidade, desempenho e segurança aprimorados.
- A opção
CONFIG_NFS_DISABLE_UDP_SUPPORTpara NFSv3 sobre UDP está ativadaO suporte para NFS versão 3 no protocolo de rede UDP foi removido nesta release do UEK.
As implementações modernas de NFS/RPC sobre TCP e RDMA fornecem melhor desempenho do que o UDP e fornecem entrega confiável ordenada de dados combinada com controle de congestionamento.
Observe que o NFSv4 já não é suportado pelo UDP, pelos mesmos motivos. -
A opção
CONFIG_STAGINGestá desativadaA opção de configuração do kernel
CONFIG_STAGINGestá desativada no UEK 8. A opção do kernel disponibilizou drivers que não necessariamente atendem ao mais alto nível de qualidade do kernel e que estavam disponíveis para uso em teste. A opção foi descontinuada no UEK R7 e foi removida no UEK 8. -
A opção
CONFIG_IXGBestá desativadaO
CONFIG_IXGBpara hardware Intel PRO/10GbE foi removido nesta versão do UEK. -
crashkernel=auto removido
A opção
crashkernel=autofoi descontinuada no UEK R7 e não tem suporte para o Oracle Linux 9. A opção do kernel é removida no UEK 8. Para obter mais informações sobre como configurar a definiçãocrashkernelno Oracle Linux, consulte Managing Kernels and System Boot on Oracle Linux. -
A opção
CONFIG_IP_NF_TARGET_CLUSTERIPestá desativadaA opção
CONFIG_IP_NF_TARGET_CLUSTERIPque permite criar clusters de balanceamento de carga de servidores de rede sem um roteador ou switch de balanceamento de carga dedicado é removida em favor da funcionalidade já existente na correspondência de cluster do Netfilter. -
Opção
CONFIG_EFI_VARSdesativadaA opção
CONFIG_EFI_VARSque forneceu a interface sysfsefivarspara configurar variáveis UEFI foi removida desta versão do UEK. A funcionalidade de substituição está presente no kernel desde 2012. Para obter mais informações, consulte https://www.kernel.org/doc/html/latest/filesystems/efivarfs.html. -
Driver Firewire removido
A opção
CONFIG_FIREWIREestá desativada nesta release do UEK. -
Vários módulos do agendador de rede removidos
Os seguintes módulos do programador de rede foram descontinuados no UEK R7 e agora foram removidos no UEK 8:
-
cls_tcindex -
cls_rsvp -
sch_dsmark -
sch_atm -
sch_cbq
-
-
Módulo
resilient_rdmaipRemovidoO módulo
resilient_rdmaipfoi descontinuado no UEK R7 e agora foi removido. -
oracleasmMódulo do Kernel RemovidoO módulo kernel
oracleasmé removido no UEK 8. Observe que este módulo continua a ser suportado nas releases UEK R5 e UEK R6.O Oracle ASMLib continua a ser suportado usando interfaces
io_uring. Consulte ASMLib v3 para obter mais informações. -
sundanceMódulo do Kernel RemovidoO driver DLink Sundance (ST201),
sundance, é removido no UEK 8. O módulo foi removido no kernel upstream porque não foi mantido. -
cpu5_wdtMódulo do Kernel RemovidoO driver watchdog
cpu5_wdtfoi removido no UEK 8. O módulo foi removido no kernel upstream porque ele tinha vários problemas que não foram resolvidos e não tinha manutenção. -
Módulos de Kernel
i2c-amd756-s4882ei2c-nforce2-s4985RemovidosOs drivers de muxing legados
i2c-amd756-s4882ei2c-nforce2-s4985são removidos no UEK 8. O módulo foi removido no kernel upstream porque eles são antigos e contêm código tecnicamente impreciso. -
Modos de criptografia
CONFIG_CRYPTO_OFBeCONFIG_CRYPTO_CFBO modo CFB (Feedback de Cifra) (NIST SP800-38A) usado para criptografia TPM2 e o modo OFB (Feedback de Saída) (NIST SP800-38A) usado para transformar uma cifra de bloco em uma cifra de fluxo síncrona são removidos no UEK 8, para se alinhar às alterações de upstream.