Pular para o conteúdo

DRBD 9 se aproxima do Linux principal com 7 patches de preparação

A LINBIT publicou em 23 de setembro 7 patches que remodelam o código DRBD 8.4 do kernel em direção ao DRBD 9, que suporta até 31 pares por volume.

Por Tech AI Wire Team

3 min de leitura

XLinkedIn
A long aisle of white server racks with perforated doors in a data center, under yellow cable trays and strip lights.
Foto: PiDatacenters

Em números

patches in the preparation series
7
peers per volume in DRBD 9
31
new maximum resync rate
8 GiB/s

Christoph Böhmwalder enviou uma série de 7 patches às listas de discussão do kernel Linux em 23 de setembro de 2026. Ela se intitula "drbd: preparation for DRBD 9". A série remodela o antigo código DRBD do kernel para que o muito mais recente DRBD 9 possa segui-lo até a linha principal. Isso importa para quem roda armazenamento replicado no Linux, porque a versão distribuída dentro do kernel ainda está no antigo ramo 8.4.

DRBD significa Distributed Replicated Block Device. Ele copia um disco, bloco a bloco, para uma ou mais máquinas pela rede. Se um servidor cair, outro mantém uma cópia idêntica dos dados. A LINBIT, empresa por trás do projeto, diz que ele é mantido há mais de duas décadas.

O que os 7 patches mudam

A carta de apresentação descreve a abordagem em uma linha. "Cada patch leva uma parte do código DRBD 8.4 dentro da árvore para a forma que ela tem no código DRBD 9 fora da árvore", escreveu Böhmwalder.

"Dentro da árvore" (in-tree) significa código que fica no código-fonte oficial do kernel. "Fora da árvore" (out-of-tree) significa código mantido separadamente e compilado como módulo adicional. O DRBD 9 sempre esteve fora da árvore.

A carta de apresentação lista estas mudanças:

  • Limites mais altos para redes rápidas: buffers de socket de até 128 MiB e uma taxa máxima de ressincronização de 8 GiB/s.
  • O arquivo drbd_worker.c é renomeado para drbd_sender.c, seguindo a estrutura do DRBD 9.
  • Os campos de bits da estrutura de dados drbd_interval são substituídos.
  • A tabela de nomes de pacotes de rede muda para um novo local.
  • As mensagens de log ganham limitação de taxa por objeto, para que um único dispositivo com falha não possa inundar o log do kernel.

A série foi enviada às listas linux-kernel e linux-block. A carta de apresentação enfatiza que nada muda para os usuários atuais: "Os padrões não mudam, todas as configurações existentes continuam válidas."

Por que o DRBD 9 vale o esforço

A LINBIT explicou o objetivo em um post de blog de Michael Troutman de 27 de abril de 2026. O kernel traz o DRBD 8.4.11, que o post chama de estagnado. O desenvolvimento ativo acontece no DRBD 9.3, fora do kernel.

A distância entre os dois é grande.

CapacidadeDRBD 8.4 (no kernel)DRBD 9 (fora da árvore)
Nós por volume2, para failoverAté 31 pares
Proteção contra split-brainDepende de fencingQuórum embutido para 3 ou mais nós
Tratamento de nós com falhaConfiguração manual de STONITH ou fencingAutomático

Split-brain é a falha em que duas máquinas acreditam ter a cópia ativa e começam a gravar dados diferentes. O quórum evita isso ao permitir que um nó grave apenas enquanto enxerga a maioria do cluster. STONITH, abreviação de "shoot the other node in the head" (atire na cabeça do outro nó), é a solução mais antiga: desligar um nó suspeito antes que ele cause danos. O DRBD 9 também adiciona salvaguardas para sincronizar um nó que volta ao cluster.

O post da LINBIT apontou o Linux 7.2 como alvo para os patches do DRBD 9.3. A série desta semana é descrita como preparação, portanto o código completo do DRBD 9 será um envio posterior e separado.

O que isso significa para desenvolvedores

Se você usa DRBD hoje, verifique qual dos dois você tem. Talvez você já carregue o módulo DRBD 9 fora da árvore da LINBIT em vez do driver 8.4 do kernel. cat /proc/drbd mostra a versão carregada. Esta série ainda não muda nada para nenhum dos dois grupos, e a carta de apresentação promete que as configurações existentes continuam válidas.

Se você depende do driver 8.4 do kernel, o trabalho upstream é um motivo para planejar agora um teste do DRBD 9. Quando ele for incorporado, o driver do kernel ganhará volumes com vários pares e quórum. Isso muda a forma como um cluster precisa ser configurado e isolado por fencing. Testá-los primeiro em um cluster de homologação é melhor do que descobrir as diferenças depois de uma atualização do kernel da distribuição.

Se você monta armazenamento em redes rápidas, observe os novos limites. Um teto de ressincronização de 8 GiB/s e buffers de socket de 128 MiB deixam folga para links rápidos de data center. O site da LINBIT informa que o DRBD pode replicar via TCP/IP ou RDMA, o transporte de baixa latência usado em redes InfiniBand e RoCE. Os padrões continuam os mesmos, então você ainda precisa aumentá-los por conta própria.

Acompanhe a lista linux-block para a próxima rodada. Os comentários de revisão desses 7 patches mostrarão a rapidez com que os mantenedores aceitam um driver grande, mantido há muito tempo fora da árvore. Essa resposta decide quando um kernel padrão poderá substituir um módulo DRBD empacotado separadamente.

Fontes

  1. [PATCH 0/7] drbd: preparation for DRBD 9 - linux-kernel mailing list
  2. Working to Put DRBD 9 in the Mainline Linux Kernel - LINBIT
  3. DRBD - LINBIT

Artigos relacionados

A process listing on a Kubernetes v1.37 node, showing containerd, kubelet and kube-proxy owned by the kube user while the systemd services still run as root.
Ferramentas dev

Kubernetes 1.37 promove o modo rootless a beta

O Kubernetes 1.37 promove o KubeletInUserNamespace a beta. O kubelet, os runtimes de contentores, os plugins CNI e o kube-proxy passam a poder correr como utilizador comum.