浅谈SD-WAN的故障排除方法
当SD-WAN出现问题或者您怀疑它导致应用程序出现问题时,您会怎么做?当然是,排除故障。
但SD-WAN故障排除要求IT团队非常了解他们正在处理的网络设备、连接和拓扑,以及许多其他因素。以下是IT团队在处理SD-WAN问题时可以遵循的一些有用的监控和实际故障排除的步骤。
SD-WAN故障排除的第一步是了解网络是什么时候开始无法正常运行的。在大多数情况下,监控SD-WAN与监控常规网络并没有太大区别。物理组件通常最容易监控的:他们要么工作,要么不工作。由于抽象会使得多个网络链路看起来好像是一个,因此逻辑函数可能会更具挑战性。
监控SD-WAN
1. 事件处理。
一个好的网络管理架构中最有用的元素是检查来自网络设备(包括SD-WAN设备)的事件。把事件想象成是网络让你知道值得注意的事情发生了。该过程不需要轮询,并且它可以随着网络的增长而扩展。
与简单网络管理协议(SNMP)陷阱相比,我更喜欢使用syslog事件,因为它们不需要将特定的管理信息库加载到管理系统中来查看详细信息。IT团队应该配置SD-WAN设备,以便将事件发送到公共事件处理系统,在那里可以存储、关联和操作事件。
预算受限的组织可以使用开源收集器(如syslog-ng)以及各种分析工具来总结网络可以生成的大量事件。有预算的组织可以研究ELK堆栈 - Elasticsearch,Logstash和Kibana。如果您需要厂商支持,则可以使用厂商支持的ELK版本、设备供应商和日志处理供应商的产品。
事件处理系统应配置为在检测到严重事件时自动生成故障单或向IT组织发送实时警报。所有事件都应该在每日或每周摘要中报告,以确保最终可以看到遗漏的事件 - 比如说,知道一半的冗余设计不起作用是件好事。
2. 活动链路测试。
SD-WAN使用多链路提供可靠的端到端服务。活动链路监控允许系统验证SD-WAN在提供所需可靠性方面成功与否。可能需要多次测试来验证不同类型流量的路径,例如实时数据与批量数据。随着SD-WAN站点数量的增加,易于部署对于成功实施至关重要。
确保将测试配置为模拟实际应用程序流量,包括数据包大小、传输速率和服务质量标记。活动链路测试的一个优点是,它可以在没有应用程序流量时检测正常工作时间之外的问题。活动链路测试模拟真实的应用流量并测试整个端到端系统,包括链路选择。
IT团队可以在概念验证评估期间通过禁用每个WAN链接并监控测试结果如何变化来使用此类测试。这对于确定廉价宽带链路在低延迟路径关闭时处理高优先级或实时流量的能力特别有用。将测试配置为始终运行,这样您还可以了解应用程序在一天中的不同时间运行的可能性。您可能还想知道其他应用程序运行时的性能级别 - 如备份或数据库同步,或宽带网络繁忙时。
3. 物理状态。
SD-WAN设备通常基于具有内部CPU、内存、接口、电源和冷却的x86系统。网络事件(通常是syslog)应该报告这些组件的问题。使用SNMP进行监控可以提供有关这些资源使用的额外数据,并提供以下问题的答案:
每条路径上使用多少个缓冲区?
CPU是否在一天中的关键时刻处于饱和状态?
电源是否正常工作,或者AC主输入波动是否超出了电源可以处理的规格?
缓冲等参数的默认配置通常是正确的,但有时您需要能够修改缓冲区的数量以适应应用程序的功能特性,例如处理大量非常小的数据包。确保可以根据需要修改队列深度。
您应该验证SD-WAN控制器在物理链路出现问题时提供警报和报告。它应该能够检测到由于拥塞和双工不匹配导致的振荡链路、接口错误、数据包丢失,双工不匹配仍然是一个常见的问题,因此尽可能使用自动协商。使用每日或每周报告来确定可能被忽略的警报问题。
4. 拓扑图。
在进行故障排除时,了解拓扑很重要,但手动更新拓扑图是一个耗时且容易出错的过程。寻找SD-WAN控制系统,以提供物理和逻辑拓扑的动态映射。基线就像SD-WAN物理拓扑的真实网络源,了解实际状态和期望状态之间的差异可以使SD-WAN故障排除更加容易。
确定问题
解决网络问题的关键是有条不紊。从一端开始,向另一端努力,或着采用分治策略。根据症状确定可能存在的问题类型。开放系统互连模型可以方便地确定问题的类型并在正确的方向上直接排除故障,例如:
物理问题,如失效的界面;
链接问题,如双工不匹配;
路由问题,例如某些目的地可达,且单跳测试成功;
应用程序问题,如防火墙或最大传输单元(MTU)不匹配。
如果某些数据通过了测试,则较低级别的功能就可能正常工作,因此您可以将工作重点放在更高级别上。
SD-WAN故障排除步骤
对问题的分析通常包含以下几点:
验证SD-WAN节点的基本功能。此步骤检查CPU、内存和接口连接。节点应该能够与控制器通信并下载其配置。
检查基本接口功能。所需的接口应该启动并与链路另一端的设备通信。应该与SD-WAN控制器建立基本连接,以便下载其配置。
验证VPN功能。 SD-WAN产品在物理拓扑之上创建逻辑VPN覆盖。您需要了解VPN的加密过程是如何工作、如何失败以及如何验证它是否正常工作的。
与整体路由架构集成。 SD-WAN设备能够使多个链路发挥作用,就像它们是一个链路一样。每个站点的网络可达性需要在不影响整体路由架构的情况下与其他站点进行通信 - 即,没有路由黑洞、路由环路或不可达的子网。您需要了解路由分发的工作原理以及如何对其进行故障排除。
验证转发策略。数据包是否在SD-WAN设备之间采用了合适的路径? SD-WAN设备测量它们之间的延迟、数据包丢失和抖动,并使用策略来确定每个应用程序应使用哪个链路。当一个应用程序的链路失败 - 或者它超出该流量类型的规范时 - 流量将被移动到另一个链路,这可能会影响移动的应用程序,以及使用仍在运行的链路的应用程序。这种分析可能需要一些低级命令来访问详细数据。
当您需要低级别详细信息时,命令行界面非常有用。这些命令将包含用于检查系统状态和测试命令的show命令,例如ping和traceroute。了解如何将它们应用于单个链路以及应用程序流的测试。
可能需要数据包捕获技术来诊断应用程序是否存在其他方法无法理解的问题。 Wireshark的TCP序列空间绘图功能是一个依赖于数据包捕获文件的有用工具。
WAN运营商 - 链路 - 问题
您需要了解丢包、延迟和抖动的链路特性。它们是否符合您定义的策略?链路是否根据链路提供者定义的服务级别协议(SLA)执行? MPLS链路可能有SLA,而廉价的宽带链路则没有。
这里可能需要采用分治法。有选择地一次只启用一个物理链路,并验证链路是否正常工作。然后,尝试链路组合,最终得到所有链路运行的点。不要忘记检查策略是否正确。链路特征可能会发生变化,导致这些链路对任何策略都是不可接受的。
生成一个关于链路特征和使用情况的每周报告是一个好方法。对于大型SD-WAN实施,由于报告本身太大而无法使用,所以要过滤结果,仅显示那些特征与任何策略都不匹配的链路。
检查MTU不匹配。使用小数据包的应用程序可以工作,但如果需要更大的数据包则不行。 ping和终端连接成功,但文件传输、备份和数据库同步失败,这时需要考虑MTU问题。
双工不匹配。检查接口统计信息以确定是否存在双工不匹配,即使您无法检查以太网链路上每个接口的配置。全双工接口将显示收到的runt数据包,半双工接口将显示延迟冲突。这些计数器应包含较小的值,如果存在不匹配,则会在活动链路上增加。
结论
故障排除一半是艺术,一半是科学。我建议可以学习特定SD-WAN产品的工作原理以及在初始概念验证阶段存在哪些SD-WAN故障排除工具。可以创建一个简单的文本文档,描述针对特定SD-WAN供应商采取的基本步骤。当网络出现问题时,SD-WAN的故障排除过程就能够得到简化。
原文来自:http://network.51cto.com/art/201812/589229.htm
本文地址:https://www.linuxprobe.com/sd-wan-net.html编辑:圆蛋,审核员:逄增宝