Saltar para o conteúdo
EuroVPSEuroVPS

Numerar cabos. Porque «o maior mais um» é a regra errada

Os cable IDs só ajudam se um número significar um cabo para sempre. Como atribuí-los de forma monótona, em fail-closed, como etiquetar as duas pontas e como apanhar os duplicados cedo.

Por EuroVPS Engineering

6 min de leitura
Numbering cables: why "highest plus one" is the wrong rule

Todas as equipas de datacenter concordam que os cabos devem ser numerados. Muito menos concordam sobre de onde vêm os números, e é aí que a etiquetagem de cabos se desfaz em silêncio. O método habitual é consultar o maior cable ID (identificador de cabo) no DCIM e somar um. Parece seguro. Não é. Este artigo explica porquê, e como gerir cable IDs para que um número signifique sempre exatamente um cabo, de forma definitiva.

Para que serve um cable ID

Um cable ID é uma promessa: este número refere-se a este cabo e a nada mais. A promessa permite a um engenheiro em frente a um rack fazer corresponder um cabo físico a um registo em segundos, confirmar as duas pontas e agir sem seguir nada à mão. Permite também que tickets antigos, registos de alterações, fotografias e desenhos continuem a significar algo anos depois.

A promessa quebra-se no momento em que um número aparece em dois cabos. A partir daí, cada referência a esse número é ambígua, e uma etiqueta de cabo ambígua é a forma como o cabo errado acaba por ser puxado.

Porque falha «o maior mais um»

A regra do maior mais um parte do princípio de que a lista atual de links do DCIM é a história completa de todos os números alguma vez usados. Quase nunca é.

  • Links apagados. Quando um cabo é retirado, o seu link é apagado do DCIM. Se por acaso tinha o número mais alto, o engenheiro seguinte reutiliza esse número, enquanto a etiqueta antiga pode ainda estar num cabo numa gaveta, numa fotografia ou num ticket do ano passado.
  • Impressos mas ainda não registados. As etiquetas são muitas vezes impressas antes do trabalho, e o DCIM é atualizado depois. Entre os dois momentos, os números existem em fita mas não na base de dados, e outra pessoa pode ficar com eles.
  • Duas pessoas ao mesmo tempo. Dois engenheiros a planear dois trabalhos na mesma tarde leem ambos o mesmo número mais alto e somam ambos um.
  • Campos de texto livre. Na maioria das ferramentas de DCIM o campo do cabo é texto livre. Nada na base de dados impede o mesmo valor de cair em dois links, por isso a unicidade tem de vir do processo.

Cada um destes casos é raro por si só. Ao longo de anos e de milhares de cabos, são uma certeza.

A regra que funciona: monótona, reservada, nunca reutilizada

Trate os cable IDs como números de fatura. Vêm de um único allocator, só sobem, e um número que foi emitido nunca volta a ser emitido.

Conte tudo o que alguma vez existiu. A noção de «número mais alto» do allocator tem de incluir os links ativos no DCIM, os links no histórico de alterações do DCIM que entretanto foram apagados, todos os trabalhos de impressão de etiquetas registados e as próprias reservas do allocator. O número seguinte é um acima do mais alto de todos esses.

Reserve antes de imprimir. Ninguém escreve uma etiqueta ou um link sem antes ter reservado um bloco de números para um fim nomeado («montagem de rack, fila dois, cablagem de dados»). A reserva fica registada com quem a pediu e porquê.

Anule, nunca devolva. Se um número reservado não for usado, marque-o como anulado. Fica queimado. As lacunas na sequência são inofensivas. A reutilização não é.

Fail closed. O allocator relê o DCIM a cada reserva. Se não conseguir, não emite nada. Uma tarde ligeiramente mais lenta é um resultado muito melhor do que um duplicado.

Um livro-razão mínimo é uma única tabela em que o cable ID é a primary key, para que a própria base de dados recuse uma segunda utilização:

CREATE TABLE cable_id (
  cid        INTEGER PRIMARY KEY,
  status     TEXT NOT NULL CHECK (status IN ('RESERVED','IN_USE','VOID')),
  purpose    TEXT NOT NULL,
  reserved_by TEXT NOT NULL,
  reserved_at TEXT NOT NULL
);

Mantenha o DCIM honesto

O allocator é apenas metade do sistema. A outra metade é verificar o que realmente chega ao DCIM.

Recuse escritas não reservadas. Qualquer ferramenta que escreva cable IDs no DCIM deve verificar primeiro que o número está reservado, e recusar se não estiver, ou se o allocator não estiver contactável.

Vigie o desvio. Corra uma verificação periódica que lê todos os links e levanta um alerta em três condições: um número em dois ou mais links, um número acima da marca máxima do allocator que nunca foi reservado, e um número anulado em uso. Num esquema do tipo RackTables, a verificação de duplicados é uma única query:

SELECT cable, COUNT(*) AS links
FROM Link
WHERE cable IS NOT NULL AND cable <> ''
GROUP BY cable
HAVING COUNT(*) > 1;

Corra-a de poucos em poucos minutos, envie qualquer resultado a uma pessoa, e trate cada alerta como um achado a investigar, não como ruído.

Guarde o número puro. Decida um único formato para o valor guardado, por exemplo apenas dígitos, e mantenha-o. Se alguns links dizem CID1234 e outros 1234, uma verificação de unicidade sobre o texto deixa escapar o par. Quando introduzir uma regra destas num parque já existente, faça o allocator e as verificações lerem ambas as formas, para que os valores históricos continuem a contar.

Etiquetas que respondem à pergunta seguinte

Uma etiqueta que diz apenas «1234» indica a um engenheiro que registo abrir. Uma etiqueta que diz também para onde vai a outra ponta poupa muitas vezes abri-lo de todo. Imprimimos uma disposição em duas linhas em fita plastificada, enrolada em bandeira:

1234 RK-A SRV7 NIC1
RK-A SW1 Eth1/9 [2M]

A linha de cima é o cable ID com o rack, o equipamento e a porta desta ponta. A linha de baixo é o rack, o equipamento e a porta da outra ponta, e o comprimento do cabo. A mesma etiqueta vai nas duas pontas, e o enrolamento em bandeira permite lê-la de qualquer dos lados do cabo.

Duas notas práticas de muitas impressões: imprima as etiquetas de um cabo por trabalho de impressão, com uma pausa curta entre trabalhos, porque os lotes grandes podem transbordar o buffer de uma impressora de etiquetas e produzir fita em branco. E guarde cada trabalho de impressão como script junto do projeto, porque esses scripts fazem parte do registo de que números existem.

Construa primeiro no papel

O hábito mais forte é reservar os IDs, escrever os links no DCIM como plano e imprimir o conjunto completo de etiquetas antes de o hardware chegar. Na noite do trabalho, os engenheiros cablam contra etiquetas que já existem e um registo que já corresponde. A verificação posterior passa a ser uma comparação, não uma reconstrução.

Uma lista de verificação para o seu próprio parque

  • De onde vêm os seus cable IDs? Se a resposta é «o maior mais um», e os links apagados?
  • Alguma coisa impede o mesmo número de ser guardado em dois links?
  • Quando foi a última vez que procurou cable IDs duplicados no seu DCIM?
  • As suas etiquetas dizem a um engenheiro para onde vai a outra ponta?
  • Os seus trabalhos de impressão de etiquetas ficam guardados nalgum sítio?

Numerar cabos não é glamoroso. Bem feito, é uma das formas mais baratas de manter as mãos longe do cabo errado.

Se quiser ajuda para pôr ordem nos registos de cablagem, os nossos engenheiros terão todo o gosto em partilhar o método. Fale com um engenheiro

Related

Relacionados: Um ID único em cada cabo, nunca reutilizado · DCIM: cada objeto, porta, cabo e endereço registados

Publicado em 4 de setembro de 2026.

Todas as notas de campo