Vai al contenuto
EuroVPSEuroVPS

Numerare i cavi. Perché «il più alto più uno» è la regola sbagliata

I cable ID servono solo se un numero indica un cavo per sempre. Come allocarli in modo monotono, fail-closed, come etichettare entrambi i capi e come scoprire i duplicati presto.

Di EuroVPS Engineering

6 min di lettura
Numbering cables: why "highest plus one" is the wrong rule

Ogni team di datacenter concorda che i cavi vanno numerati. Molti meno concordano su da dove vengano i numeri, ed è lì che l'etichettatura dei cavi si sfalda in silenzio. Il metodo abituale è cercare il cable ID più alto nel DCIM e aggiungere uno. Sembra sicuro. Non lo è. Questo articolo spiega perché, e come gestire i cable ID in modo che un numero indichi sempre esattamente un cavo, per sempre.

A cosa serve un cable ID

Un cable ID è una promessa: questo numero si riferisce a questo cavo e a nient'altro. La promessa permette a un ingegnere in piedi davanti a un rack di abbinare in pochi secondi un cavo fisico a un record, confermare entrambi i capi e agire senza tracciare nulla a mano. Permette anche a vecchi ticket, registri di modifica, foto e disegni di continuare a significare qualcosa anni dopo.

La promessa si rompe nel momento in cui un numero compare su due cavi. Da quel momento ogni riferimento a quel numero è ambiguo, e un'etichetta ambigua è il modo in cui viene staccato il cavo sbagliato.

Perché «il più alto più uno» fallisce

La regola del più alto più uno presume che l'elenco attuale dei link nel DCIM sia la storia completa di ogni numero mai usato. Quasi mai lo è.

  • Link cancellati. Quando un cavo viene rimosso, il suo link viene cancellato dal DCIM. Se per caso portava il numero più alto, l'ingegnere successivo riusa quel numero, mentre la vecchia etichetta può essere ancora su un cavo in un cassetto, in una foto o nel ticket dell'anno scorso.
  • Stampati ma non ancora registrati. Le etichette vengono spesso stampate prima del lavoro, e il DCIM aggiornato dopo. Tra i due momenti, i numeri esistono sul nastro ma non nel database, e qualcun altro può prenderseli.
  • Due persone insieme. Due ingegneri che pianificano due lavori nello stesso pomeriggio leggono entrambi lo stesso numero più alto ed entrambi aggiungono uno.
  • Campi a testo libero. Nella maggior parte degli strumenti DCIM il campo cavo è testo libero. Nulla nel database impedisce allo stesso valore di finire su due link, quindi l'univocità deve venire dal processo.

Ognuno di questi casi è raro da solo. Su anni e migliaia di cavi, sono certi.

La regola che funziona: monotona, riservata, mai riusata

Trattate i cable ID come numeri di fattura. Vengono da un unico allocator, vanno solo in su, e un numero che è stato emesso non viene mai emesso di nuovo.

Contate tutto ciò che è mai esistito. L'idea di «numero più alto» dell'allocator deve includere i link attivi nel DCIM, i link nella cronologia delle modifiche del DCIM che sono stati poi cancellati, ogni job di stampa di etichette registrato e le prenotazioni dell'allocator stesso. Il numero successivo è uno sopra il più alto di tutti questi.

Prenotate prima di stampare. Nessuno scrive un'etichetta o un link finché non ha prenotato un blocco di numeri per uno scopo nominato («costruzione rack, fila due, cablaggio dati»). La prenotazione viene registrata con chi l'ha chiesta e perché.

Annullate, non restituite mai. Se un numero prenotato non viene usato, segnatelo come annullato. Resta bruciato. I buchi nella sequenza sono innocui; il riuso non lo è.

Fail closed. L'allocator rilegge il DCIM a ogni prenotazione. Se non ci riesce, non emette nulla. Un pomeriggio leggermente più lento è un esito molto migliore di un duplicato.

Un registro minimale è una singola tabella in cui il cable ID è la primary key, così è il database stesso a rifiutare un secondo uso:

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
);

Tenete onesto il DCIM

L'allocator è solo metà del sistema. L'altra metà è controllare cosa finisce davvero nel DCIM.

Rifiutate le scritture non prenotate. Qualunque strumento scriva cable ID nel DCIM deve prima verificare che il numero sia prenotato, e rifiutare se non lo è, o se l'allocator non è raggiungibile.

Osservate la deriva. Eseguite una verifica periodica che legga ogni link e sollevi un allarme su tre condizioni: un numero su due o più link, un numero sopra il livello massimo dell'allocator che non è mai stato prenotato, e un numero annullato in uso. Su uno schema in stile RackTables, la verifica dei duplicati è una query:

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

Eseguitela ogni pochi minuti, inviate ogni risultato a una persona, e trattate ogni allarme come un rilievo da inseguire, non come rumore.

Memorizzate il numero nudo. Decidete un solo formato per il valore memorizzato, come cifre nude, e manteneteli. Se alcuni link dicono CID1234 e altri 1234, una verifica di univocità sul testo mancherà la coppia. Quando introducete una regola di questo tipo su un parco esistente, fate in modo che l'allocator e le verifiche leggano entrambe le forme, così i valori storici contano ancora.

Etichette che rispondono alla domanda successiva

Un'etichetta che dice solo «1234» dice a un ingegnere quale record aprire. Un'etichetta che dice anche dove va l'altro capo spesso evita del tutto di aprirlo. Stampiamo un layout a due righe su nastro laminato avvolto a bandierina:

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

La riga superiore è il cable ID con rack, dispositivo e porta di questo capo. La riga inferiore è rack, dispositivo e porta dell'altro capo, e la lunghezza del cavo. La stessa etichetta va su entrambi i capi, e l'avvolgimento a bandierina significa che si legge da entrambi i lati del cavo.

Due punti pratici da molte sessioni di stampa: stampate le etichette di un cavo per ogni job di stampa con una breve pausa tra i job, perché lotti grandi possono saturare il buffer di una stampante di etichette e produrre nastro bianco; e salvate ogni job di stampa come script insieme al progetto, perché quegli script fanno parte del registro di quali numeri esistono.

Costruite prima sulla carta

L'abitudine più forte è prenotare gli ID, scrivere i link nel DCIM come piano e stampare l'intero set di etichette prima che l'hardware arrivi. La notte dei lavori, gli ingegneri cablano contro etichette che già esistono e un registro che già corrisponde. La verifica successiva diventa un confronto, non una ricostruzione.

Una checklist per il vostro parco

  • Da dove vengono i vostri cable ID? Se la risposta è «il più alto più uno», che dire dei link cancellati?
  • Qualcosa impedisce che lo stesso numero venga memorizzato su due link?
  • Quando avete cercato per l'ultima volta cable ID duplicati nel vostro DCIM?
  • Le vostre etichette dicono a un ingegnere dove va l'altro capo?
  • I vostri job di stampa delle etichette sono conservati da qualche parte?

La numerazione dei cavi non è glamour. Fatta bene, è uno dei modi più economici per tenere le mani lontane dal cavo sbagliato.

Se desiderate aiuto per mettere ordine nei registri di cablaggio, i nostri ingegneri sono lieti di condividere il metodo. Parla con un ingegnere

Related

Correlati: Un ID univoco su ogni cavo, mai riusato · DCIM: ogni oggetto, porta, cavo e indirizzo tracciato

Pubblicato il 4 settembre 2026.

Tutte le note dal campo