Páginas

sexta-feira, 10 de abril de 2026

Linux Kernel 7.0: O que administradores precisam saber - PT BR

 


Aprenda a atualizar para o Linux Kernel 7.0 com segurança. Cobre autocorreção do XFS, ganhos em EXT4, ajuste do TSX e otimizações para AMD EPYC.

O Linux Kernel 7.0 chega com um incremento de versão majoritária seguindo a preferência histórica de Linus Torvalds — saltar após o x.19 — não por rupturas ou features exclusivas. Ainda assim, o ciclo traz otimizações significativas em desempenho, sistemas de arquivos, redes e suporte a hardware. 

Este guia destaca as mudanças mais relevantes para administradores de sistemas, com foco em estabilidade, diagnóstico e boas práticas de atualização.

Pré‑requisitos

- Acesso root ou sudo.

- Conhecimento básico de compilação de kernel (se for build manual).

- Backup do kernel atual e dos módulos (/boot, /lib/modules).

- Ambiente de recuperação (ex.: GRUB com opção de fallback).


Principais mudanças no Linux 7.0

1. TSX da Intel agora em modo auto

Em CPUs Intel com TSX (Transactional Synchronization Extensions) e sem problemas de segurança conhecidos, o kernel passa a habilitar TSX por padrão. Isso melhora desempenho imediato em cargas de trabalho com transações de memória (bancos de dados, máquinas virtuais).

Como verificar o estado atual:

bash
cat /sys/devices/cpu/tsx/ctrl

Saída esperada (modo auto):

text
auto

Ajuste manual (se necessário):

bash
# Desabilitar explicitamente (ex.: política de segurança)
echo off | sudo tee /sys/devices/cpu/tsx/ctrl

2. Otimizações de escalabilidade em AMD EPYC

O kernel 7.0 inclui melhorias no escalonador (sched) e no gerenciador de memória (mm), com ganhos mensuráveis em EPYC. Isso afeta principalmente sistemas com muitos núcleos (≥ 64).

Teste simples de latência entre threads:

bash
# Instalar ferramentas (Debian/Ubuntu)
sudo apt install linux-tools-common

# Executar latência de despertador
sudo perf bench sched messaging -g 64

Compare os resultados com o kernel anterior. Em sistemas EPYC, você deve observar redução no tempo total.

3. Autocorreção (self‑healing) no XFS

O XFS agora pode reparar certas inconsistências de metadados de forma autônoma, sem intervenção manual ou desmontagem. A funcionalidade é ativada por padrão em montagens com errors=continue (padrão em muitas distribuições).

Verificar se o volume XFS suporta o recurso:

bash
sudo xfs_info /montagem | grep meta_uuid


Forçar verificação e reparo online:

bash
# Verificar sem reparo
sudo xfs_scrub -v /montagem

# Reparar (se detectado automaticamente)
# O kernel aplica correções em segundo plano; acompanhe com:
sudo journalctl -f -t kernel
⚠️ Para volumes críticos, mantenha backups regulares. O self‑healing cobre apenas metadados, não dados corrompidos.

4. Melhor desempenho em escrita direta no EXT4
Operações de O_DIRECT concorrentes (comuns em bancos de dados) ganham desempenho devido a refatorações no bloco de alocação.

Teste rápido com fio:

bash
# Instalar fio
sudo apt install fio   # Debian/Ubuntu
sudo dnf install fio   # RHEL/Fedora

# Teste de escrita direta concorrente
fio --name=teste --rw=write --size=1G --direct=1 --numjobs=4 --group_reporting

Espere uma redução no tempo de conclusão em relação a kernels 6.x, especialmente em discos NVMe.

5. Log padronizado de erros de I/O

O kernel agora reporta erros de entrada/saída de forma uniforme (via dev_printk). Isso facilita o monitoramento com ferramentas como systemd-journald ou promtail.

Exemplo de log (saída esperada):

bash
echo 1 | sudo tee /sys/block/sda/device/delete  # simula falha (cuidado!)
# No journal:
kernel: sda: I/O error, dev sda, sector 123456 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0


Monitoramento contínuo:

bash
sudo journalctl -k -f | grep 'I/O error'


6. Trocar o logotipo Tux na inicialização

Novas opções no Kconfig (LOGO_TUX, LOGO_CUSTOM) permitem substituir o Tux sem recompilar todo o kernel? Não — você ainda precisa compilar, mas a configuração fica mais simples.

Passo a passo para substituir o logo (avançado):

1. Converta sua imagem (PNG 80×80, 224 cores) para formato C:

  1. bash
    convert meu_logo.png -colors 224 -depth 8 ppm:- | ppmtologo -t -f > logo_meu.c

2. No diretório do kernel, substitua drivers/video/logo/logo_linux_clut224.ppm

3. Recompile e instale o kernel.

⚠️ Esse procedimento não é recomendado para servidores de produção. Use apenas em estações pessoais ou ambientes controlados.

Procedimento seguro para atualização do kernel

Distribuições com pacotes prontos (recomendado para a maioria)

bash
# Debian/Ubuntu
sudo apt update && sudo apt upgrade linux-image-generic

# RHEL/Fedora
sudo dnf update kernel

# Arch
sudo pacman -Syu linux



Sempre mantenha pelo menos um kernel anterior no GRUB. Não remova kernels antigos até confirmar que o sistema reinicia sem erros.

Compilação manual (apenas para testes ou necessidades específicas)

bash
# Baixar o kernel 7.0 (substitua a URL pela oficial)
wget https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-7.0.tar.xz
tar xf linux-7.0.tar.xz
cd linux-7.0

# Usar configuração atual como base
cp /boot/config-$(uname -r) .config
make olddefconfig

# Opcional: ajustar a configuração do logo (veja seção anterior)
make menuconfig   # Device Drivers > Graphics support > Bootup logo

# Compilar (use -j com número de núcleos)
make -j$(nproc)

# Instalar módulos e kernel
sudo make modules_install
sudo make install

# Atualizar GRUB
sudo update-grub    # Debian/Ubuntu
sudo grub-mkconfig -o /boot/grub/grub.cfg   # RHEL/Arch

Verificações pós‑atualização

bash
# Confirmar versão
uname -r
# Saída: 7.0.0

# Verificar módulos carregados
lsmod | grep -E "xfs|ext4"

# Testar logs padronizados de I/O (cuidado — use um dispositivo de teste)
sudo dd if=/dev/urandom of=/tmp/teste bs=1M count=10
sudo losetup -f --show /tmp/teste   # cria /dev/loop0
sudo blockdev --setro /dev/loop0    # força erro de leitura
sudo dd if=/dev/loop0 of=/dev/null status=progress
# O journal deve mostrar a nova mensagem padronizada

Armadilhas cumuns e como evitá-las


Leituras complementares

bash
man 5 proc                      # para /sys/devices/cpu/tsx
man 8 xfs_scrub
man 1 fio
info grub                       # parâmetros de kernel
kernel.org/doc/html/latest/admin-guide/ext4.html


O Linux 7.0 é uma evolução sólida — sem surpresas de compatibilidade, mas com ganhos reais em desempenho e administrabilidade. Aplique a atualização com os procedimentos padrão de fallback e monitore os logs por pelo menos uma semana em homologação antes do rollout em produção.

Nenhum comentário:

Postar um comentário