摘要
- RFC 1514 的
hrStorageTable记录有固定资源上限的逻辑存储区,口径是请求方实际可用的量,而不是底层设备的原始容量。 hrStorageSize与hrStorageUsed都以hrStorageAllocationUnits为单位;离开单位的整数不能直接当成字节数。- 设备、磁盘、分区、文件系统分别有自己的表,索引为零可以表示映射信息不可得,并不能证明背后没有存储。
先问“这个数在说什么”
设想一台早期工作站。磁盘控制器知道介质容量,操作系统知道分区,文件系统知道挂载点,应用只知道自己能否再取得一块空间。四个观察者面对同一台机器,却不必给出同一个数字。
差异有真实理由。格式化和文件系统引用信息占用介质,却不能被应用当作数据空间;配额可以把应用限制在更小的池里;交换空间与缓冲池具有存储功能,却不一定对应一块独立磁盘。若采集器把这些值都改名为“磁盘容量”,准确的原始记录会在展示层变成矛盾。
RFC 1514 的 Host Resources MIB 正是为跨平台管理而来。它不能要求个人电脑、Unix 系统和其他主机拥有相同的内部结构,于是采用概念表:共同规范不替本地系统发明一种唯一现实,只规定远端管理者必须如何理解暴露出来的对象。
逻辑池从申请者一侧定义
hrStorageTable 的描述十分具体。凡是已经分配、并有固定资源限制的逻辑存储区,都应有一行。该行表示“请求实体实际可用”的量,扣除格式化和文件系统引用信息造成的损耗。它接近应用看到的逻辑空间,而不是操作系统通常看到的物理存储实体。
这意味着容量不是脱离关系的属性。物理介质上的元数据扇区没有消失,只是退出了应用可分配的口径。底层磁盘还有空闲,也不代表某个受限池还能扩张。内存区、交换空间、缓冲池同样可以进入这张表,因为关键条件是“按块向请求方分配”,而不是“长得像磁盘”。
反过来,没有文件系统的磁带或软盘通常不应仅凭物理存在就进入表中。它们未必由操作系统按块分给应用。RFC 1514 选择的是一种分配关系,而不是一份机箱资产清单。
少了单位,容量就只剩坐标
每一行还必须给出 hrStorageAllocationUnits,说明一个分配对象包含多少字节。若资源按扇区、块、缓冲区甚至包来计量,该值往往大于一。hrStorageSize 与 hrStorageUsed 保存的都是这种单位的数量。
只有将数量乘以单位,才能得到所表示的字节数。采集器若留下 hrStorageSize 却丢掉 hrStorageAllocationUnits,保存的不是容量,只是一个失去比例尺的坐标。若同一行的单位发生变化,监控系统仍机械连接前后整数,还会制造出并不存在的容量突变。
这种设计没有强迫所有主机按字节分配。共同层只规定成对解释的方法,本地实现仍可采用符合自身运行方式的块大小。这正是最小共同规范发挥作用的地方:互操作需要明确语义,不需要中央决定每台机器如何分配存储。
物理设备没有被藏起来
RFC 1514 另外设置了设备表,并为处理器、网络接口、打印机和磁盘等设备建立细分表。磁盘表描述长期存储设备,容量以千字节报告。分区和文件系统也各有自己的身份与字段。
这些层可以关联,却不是天然一一对应。hrPartitionFSIndex 在分区没有文件系统、或者文件系统信息不可得时可以为零。hrFSStorageIndex 从本地文件系统指向能够说明占用比例和空间耗尽的逻辑存储行;没有这种信息时同样为零。
零不是一张“无盘证明”。它只说当前管理视图没有提供可用关联。远端系统为了画出完整拓扑而猜一个索引,会得到更漂亮的图,也会把未知改写成事实。
拒绝次数也不是损失总账
hrStorageAllocationFailures 记录该逻辑池因为空间不足而无法满足请求的次数。它可以揭示某个池已经碰到上限,即使定时采样没有抓到峰值。但它不告诉管理者是哪一个进程、被拒绝多少字节、影响了多少用户、是否丢失数据、持续多久或后来是否恢复。
RFC 1514 还提醒:Counter 没有规定初始值,只是建议初始化为零。RFC 2790 把消费者的责任说得更清楚——管理站不能依赖这个初始化。因而一次孤立读数不能证明“自开机以来”的失败总量。只有确认计数处于连续纪元,前后差值才有明确用途。
容量字段定义池的边界,失败计数观察申请被拒绝的事件。二者不是彼此的替代品,更不能直接升级为业务结果。
可写语法不是授权书
RFC 1514 在介绍管理框架时已经说明,对象的访问级别表示读写在协议上是否有意义,它独立于行政授权政策。hrStorageSize 标为 read-write,并不等于任何能访问 SNMP 的管理者都获得调整磁盘的权力。
后继 RFC 2790 补充了操作边界:只有当调整对该存储区有意义、底层系统也确实支持时,写入才成立,例如改变缓冲池所占内存或交换空间所占磁盘。协议表达可能性,主机实现决定能力,授权机制决定谁能操作。这三层不能因一个“可写”标签而合并。
RFC 1514 的安全章节只说没有讨论安全问题。RFC 2790 则明确提醒,读取主机资源会暴露敏感配置和性能信息,可写对象还可能改变主机行为。标准的演进没有改变最初的分层,反而让控制边界更清楚。
七年后,逻辑层仍然存在
2000 年的 RFC 2790 废止并替代 RFC 1514,将模块转换到 SMIv2,同时保留了最关键的文字:逻辑存储区、有固定上限、请求方可实际使用、排除格式化损耗。分配单位、可为空的文件系统关联以及独立设备层也都继续存在。
这段延续说明,早期互联网管理追求的并非一张万能资产表。它要让不同主机在不放弃本地实现的前提下,向远端交付足够的解释结构。互操作来自类型、单位和关系的窄契约,而不是把所有数字压成“容量”。
今天的遥测系统仍面对同样选择。采集时必须让表示层、行身份、单位、关联与计数纪元跟着数字一起走。只要这些条件存在,物理供给、逻辑限制、文件系统可用量和拒绝事件可以被诚实比较。一旦条件被删掉,再高的小数精度也无法补回原来的含义。
来源
- RFC 1514 — 书目记录
- RFC 1514 — Host Resources MIB
- IETF Datatracker — RFC 1514
- RFC 2790 — 书目记录
- RFC 2790 — Host Resources MIB
- IETF Datatracker — RFC 2790
- RFC 1155 — 书目记录
- RFC 1155 — 管理信息结构与标识
- RFC 1212 — 书目记录
- RFC 1212 — 简明 MIB 定义
- RFC 2578 — 书目记录
- RFC 2578 — SMIv2
- Heng Lu — Running-Code Primacy
- Heng Lu — Minimum Initial Specification, Localized Future Decision, and Voluntary Adoption
- Heng Lu — On Reality Layers, Symbolic Power, and Why Clarity Feels So Hostile
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
