《空气和水》ITMS 系列 -- 写在前面与网络设备中的配置管理

写在前面

2014 - 2024 作者 H 入职一家 IT 运维软件开发公司十年来,对 ITMS 的一些想法

主要工作对象为高校的园区网、数据中心等 IT 基础设施

想法很多、很杂,先记录下来,有空慢慢整理、归类、迭代

网络设备 配置管理

设想,理想情况下如果一个网络,硬件没变过,配置也没变过,那么这个网络只要今天是好的,那么明天肯定也是好的

虽然现实中有更多的意外会发生,如断电、断线、被偷等等,但配置管理应该是 ITMS 中的重要一环

硬件确定了,配置确定了,那么这个网络就确定了,网络的功能和行为都确定了

Configuration-as-code

CaC 配置即代码

借鉴代码管理中应用最广的 git 版本管理的经验,网络的配置也有必要这么管理

我们不妨来对应一下

  • repo: 一张网就是一个 repo,其中有文件,即某台设备的配置,和文件类,即某种分类组织方式
  • branch, tag: 如果有条件做网络仿真,倒也可以区分 dev 和 prod 分支,但一般不太可能;tag 打标签是有用的
  • commit: 配置一般可分为 startup config 和 running config,如果有差异,则可视 running config 为未提交的修改

除了版本管理之外,在代码管理方面的成熟经验也很有启发

  • comment: 备注,这段配置是干嘛的 for who, for what
  • diff: 设备间横向对比,时间上纵向对比
  • template: 许多接入设备是不是配置都差差不多,模板库不考虑一下么
  • snippet: 实用配置收集
  • static analysis: 合规性检查
  • ci/cd: 持续集成,hook
  • ai: 输入硬件型号、固件版本,输入想做的操作,让 AI 帮你生成配置吧