
这篇关于网络实现的博客是我的Back to Basics系列文章的第三篇。第一个博客,收集需求,关注为什么网络搭建完成。第二个博客,网络设计、关注什么是建立。本博客关注的是如何网络搭建完成。
ACME Corporation的数据中心迁移项目的目标是将所有现有的应用程序和服务从现有的数据中心迁移到新的数据中心。为了实现这一点,在项目的这个阶段存在一些具有可交付成果的任务。
构建
已完成低层设计文件并获得批准。现在是收集最终信息的时候了,这样就可以在网络设备上创建和安装网络配置。最后的信息,包括物理连接、IP地址以及命名和编号约定,被收集到一个或多个存储库中。
物理连接信息用于创建机架-堆栈团队的布线请求。它也被用来建立一个详细的物理图。逻辑信息(例如,IP地址、命名和编号约定)用于创建多个逻辑图。根据设计的复杂性,可能需要单独的图来显示底层、覆盖和路由设置。
在创建图的同时,也创建了配置模板。在适当的存储库中查找时,最终的信息将替代这些模板中的变量。创建模板是为了匹配项目设计阶段确定的最小模块。目标是一致性、可重用性和可重复性。模板创建了一些小的配置片段,这些配置片段可以快速应用,并且在验证步骤失败时很容易排除故障。
ACME公司在网络自动化和编配方面还没有采用最新的技术。因此,Microsoft Excel同时用于信息存储库和配置模板。通过使用公式和输入验证,构建团队具有产生可靠结果的优良记录。
测试
构建ACME的新数据中心网络是为了支持一组转换为技术需求的业务需求。尽管还有许多其他的技术需求,但技术需求包括吞吐量、延迟、错误率和故障转移时间。验证网络满足这些要求的唯一方法是测试它。
这个网络是从头开始设计,然后从头开始建造的。网络测试应该遵循相同的模式,首先验证每个网络组件的运行状况。所有设备都正常通电了吗?上电自检(POST)或设备日志中是否存在错误?是否有正确的物理接口?
从第一层移动到第二层,哪些特性(例如,生成树,多机箱链路聚合)正在被使用,它们是否按预期运行?使用流量生成器模拟多个主机,是网络学习媒体访问控制(MAC)地址吗?
在第3层,是否配置了正确的IP地址并能够相互通信?路由协议是否显示预期的邻居关系?路由表是否显示了所有需要的路由?
使用专门的网络测试设备是测试错误、延迟、吞吐量和故障转移时间的最佳方法,特别是在要求具有高弹性网络的情况下。要求不那么严格的网络可以使用工作站和笔记本电脑来执行足够的测试。
所有的结果都应记录在一个文档中,并作为基线保存,以便与未来的测试结果进行比较。一旦更新,该文档应该被接受、批准和签署,以确认一个成功的构建。
集成
新的网络满足业务需求,但它仍然是孤立的,因此在当前状态下无法使用。下一步是将其连接到ACME的其他网络,以便可以开始服务迁移。
ACME需要三种类型的连接来集成新的数据中心。
- 该数据中心需要连接到现有的广域网(WAN),以支持所有企业内部用户。
- Internet连接需要支持远程访问用户、合作伙伴连接以及一般Internet访问。
- 数据中心互连(DCI)是将业务从现有数据中心迁移到新数据中心的专用路径。
ACME有一个广泛的变更控制过程,到目前为止,还不需要遵循这个过程。集成新的数据中心需要遵循流程。配置更改需要同行评审。整个变更需要一个程序方法(Method of Procedures, MOP)文档,该文档详细说明了变更的所有方面。还需要额外的网络图来显示集成和转换状态。许多会议都是为了协商变更窗口。
在更改窗口期间,将实现并测试所有三种连接类型。必须对这些连接执行测试,以确保它们支持所有需求。结果应该记录在测试文档中,并作为继续进行服务迁移的信号签字。
退役
拆除旧网络的风险与整合新网络的风险一样大。为了帮助减轻此风险,此步骤还会调用完整的更改顺序流程。
ACME决定,一旦迁移了最后一个服务,就没有理由推迟退役。退役网络是关键的途径,因为这个空间被指定用于另一个目的。
检查掉队者是必须的。所有服务都应该已经迁移或退役,但这需要进行验证。验证步骤可以包括以下一些步骤。
- 清除港口计数器并检查它们是否保持在零或如果它们增加。
- 检查主用主机的MAC地址和ARP表。
- 检查DCI是否有意外流量。
调查所有指向某个服务的证据,该服务可能由于网络退役而导致停机。
一旦验证了原始数据中心不是活动服务的所在地,就执行MOP。
迭代?
网络实现的目标是提供一个工作网络,完成项目。在上一篇文章中,我们讨论了如何在需求收集和设计之间进行迭代。实现阶段还添加了迭代,如下图所示。

问题可能出现在实现的任何构建、测试和集成阶段。当这种情况发生时,有三种可能性。
- 迭代实现内部,直到问题得到解决。
- 回到设计阶段调整设计,然后继续执行。
- 如果回到设计没有帮助,那么回到澄清需求,然后回到设计,然后继续实现。
如果问题需要访问需求收集,那么重要的是不要从需求回到实现,跳过设计。这样做会使所有设计文件失效。所有的文档对于这个项目和将来的项目来说都是重要的工件,这些工件可能会引用文档。
在这个系列中阅读我的其他博客