Resumo

  • A hrStorageTable da RFC 1514 representava áreas lógicas com limites fixos e a quantidade realmente utilizável pela entidade solicitante, não o total bruto do dispositivo.
  • hrStorageSize e hrStorageUsed contavam hrStorageAllocationUnits; sem esse multiplicador, o inteiro não dizia quantos bytes estavam representados.
  • Dispositivos, discos, partições e sistemas de arquivos mantinham tabelas próprias, e um índice zero podia marcar informação de associação indisponível.

A divergência era uma pista, não um erro

Um operador abre o inventário de um host e vê o tamanho do disco. Depois abre a visão de uso e encontra uma área menor. O primeiro impulso é perguntar onde foi parar a diferença. A resposta pode ser simples: formatação e referências do sistema de arquivos ocupam parte do meio; um limite lógico reserva apenas uma fração; swap ou buffers dividem o recurso.

As duas leituras respondem a perguntas distintas. O erro surge quando um coletor descarta a origem e chama tudo de “disco”. Nesse instante, uma abstração legítima vira aparente perda de capacidade.

A Host Resources MIB precisava atravessar computadores pessoais, variantes de Unix e arquiteturas diferentes. A RFC 1514 não tentou uniformizar o interior dessas máquinas. Criou tabelas conceituais capazes de transportar a perspectiva de cada recurso.

O lado de quem faz a solicitação

Uma entrada de hrStorageTable existia para cada área lógica alocada com limites fixos. O valor representava o que a entidade solicitante podia realmente usar, excluindo perdas por formatação ou informações de referência do sistema de arquivos. O texto contrastava essa visão de aplicação com entidades físicas normalmente vistas pelo sistema operacional.

Assim, partição, sistema de arquivos, segmento de RAM e espaço de memória virtual podiam aparecer juntos. O vínculo comum era a alocação, não o material. Metadados continuam ocupando setores físicos, mas não estão disponíveis como dados para o aplicativo. Um pool pode chegar ao limite embora ainda exista espaço em outra parte do dispositivo.

Uma fita ou um disquete sem sistema de arquivos, por outro lado, geralmente não entrava só por existir. Se o sistema não o distribuía em unidades para aplicações solicitantes, ele não participava dessa superfície lógica.

Cada inteiro carregava uma régua

hrStorageAllocationUnits informava o tamanho em bytes de um objeto alocado. Setores, blocos, buffers ou pacotes podiam ter unidade maior que um. hrStorageSize contava todas as unidades; hrStorageUsed, as alocadas.

Converter em bytes exigia multiplicar. Salvar o tamanho e apagar a unidade preservava um valor sem escala. Comparar linhas ou épocas com unidades diferentes podia produzir saltos imaginários e percentuais sem denominador legítimo.

O desenho permitia que o host mantivesse sua granularidade nativa. A camada comum estabelecia como transportar o significado, não como a máquina deveria dividir a própria memória ou o próprio disco.

O hardware falou em outra tabela

A RFC 1514 mantinha um grupo de dispositivos e tabelas específicas para processadores, interfaces, impressoras e discos. A tabela de disco descrevia armazenamento de longo prazo e capacidade em kilobytes. Partições e sistemas de arquivos também tinham registros separados.

As relações precisavam ser observadas. hrPartitionFSIndex podia ser zero porque não havia sistema de arquivos ou porque a informação não estava disponível. hrFSStorageIndex ligava um sistema de arquivos local à área lógica usada para acompanhar ocupação e diagnosticar falta de espaço; se essa visão faltasse, o valor também era zero.

Zero não provava ausência de armazenamento. Preservava a ausência de conhecimento no modelo remoto. Preencher a lacuna por dedução deixaria o inventário mais completo apenas na aparência.

A contagem de recusas tinha fronteiras

hrStorageAllocationFailures aumentava quando pedidos não eram atendidos por falta de espaço na área representada. O delta podia revelar pressão que uma amostra periódica de uso não registrou. Não dizia qual processo pediu, quantos bytes foram recusados, quem sofreu impacto, se houve perda ou se a operação se recuperou.

O Counter não possuía valor inicial definido. A RFC 1514 recomendava iniciar em zero; a RFC 2790 manteve a recomendação, mas avisou que estações de gestão não podiam depender dela. Uma leitura isolada não era um total histórico. Era necessário provar uma época contínua e comparar amostras.

Tamanho do pool, ocupação e recusas eram três fatos diferentes. Um não completava automaticamente a história do outro.

Read-write não nomeava o autorizado

A RFC 1514 separou o nível de acesso no protocolo da política administrativa de autorização. Marcar hrStorageSize como read-write dizia que escrever podia fazer sentido; não concedia poder a qualquer estação SNMP.

A RFC 2790 delimitou a operação: ela valia onde o redimensionamento fosse sensato e possível no sistema subjacente, como alterar memória de um pool de buffers ou disco destinado a memória virtual. O esquema oferecia uma interface, a implementação decidia a capacidade, e a autorização decidia quem podia agir.

O primeiro documento não discutiu segurança. O sucessor explicou que leituras expunham informações sensíveis de configuração e desempenho e que escritas podiam modificar o comportamento do host. A revisão tornou visível um risco que a sintaxe jamais resolvera sozinha.

A substituição preservou as camadas

Em 2000, a RFC 2790 tornou a RFC 1514 obsoleta e levou o módulo ao SMIv2. Mesmo assim, conservou áreas lógicas, limites fixos, quantidade utilizável pelo solicitante, exclusão de overhead, unidade de alocação e associação opcional com o sistema de arquivos.

Essa continuidade mostra o acordo histórico: interoperabilidade não exigia que todos os hosts compartilhassem uma ontologia interna. Exigia que cada valor chegasse com tipo, unidade e relação suficientes para ser interpretado por outro sistema.

A telemetria atual ainda pode obedecer a essa disciplina. Camada representada, identidade da linha, unidade, associação e época precisam viajar com a medida. Se o pipeline retiver apenas o inteiro, nenhuma interface futura conseguirá descobrir se ele significava blocos, quota de aplicativo, sistema de arquivos ou dispositivo físico.

Fontes