使用 NVIDIA 高级流式遥测技术识别网络和存储问题

nvdev 2022-05-18 17:36:10

这篇文章最初发表在 Mellanox 博客上。

让我们来谈谈网络流遥测技术以及您需要它的原因。您是否曾经在尝试重新创建问题时遇到过问题,或者很难找出数据包丢失的原因?可能您是一名网络管理员,因为应用程序中断或服务器或存储性能问题而受到指责。如果这些听起来很熟悉,那么您需要良好的网络遥测。因为网络使应用程序能够被访问、共享数据并连接到存储器,所以良好的网络流遥测也是良好的应用程序遥测。

你们中的一些人可能会问,什么是遥测?

什么是遥测?

Just like the dashboard warning lights provide essential information on the status of your vehicle, What Just Happen provides critical telemetry into the performance of the switch.图 1 。刚刚发生的事情为您的交换机性能提供了关键的可视性

当你驾驶汽车时,遥测是速度表、转速表、煤气表、机油压力表、发动机温度和仪表板警告灯。这就是你需要的所有数据,可以让你安全地到达你想去的地方,并了解汽车在途中的运行情况。无论你是驾驶汽车还是驾驶飞机,你都需要良好的遥测技术,而且你的速度越快,它就越关键。

如果您正在运行数据中心、部署 VM 和容器或管理存储部署,则情况也是如此。您需要了解网络结构内部的情况。您的网络运行越快,或者网络性能对您的业务越重要,它就变得越重要。切换流式遥测技术可以为您提供关键的可视性。

从协议转向流式遥测

网络管理的传统立场是越多越好:协议越多,捕获的数据包越多,在出现问题时,对捕获的数据包进行更深入的挖掘,找出原因,然后进行修复。但在过去几年中,数据中心网络出现了简化的趋势。数据中心越大或越先进,他们喜欢运行的协议就越少。

回到我的技术支持时代,我们曾经有一句谚语,“客户越聪明,配置文件越短。”总是遇到问题的客户似乎是那些启用了所有可能的功能和协议的客户。您可以通过配置文件的长度来估计问题的数量。我已经看到了这种趋势,从 L2 和所有版本的生成树,以及根保护、循环保护、 BPDU 保护等创可贴,转向更多的 L3 。

Over the years, larger and more advanced data centers have transitioned to fewer protocols and more telemetry features.图 2 。随着遥测技术的发展,通过支持较少的协议,网络得到了简化。

简化趋势的主要例外是需要更多的可见性,因为聪明的人希望看到他们的网络中发生了什么。随着网络越来越大、越来越快,精明的管理员使用的协议越来越少,但他们的目标是更多的网络遥测,以实现更好的可视性。

一些网络管理员希望通过更好的流式遥测来提高他们的“平均无罪时间”。他们希望加快找到问题根本原因的时间,这样他们就可以排除问题的根源,并证明这是否真的是服务器团队的错误(或者可能是存储团队的错误)。

其他人则试图从他们的网络中获得更多。大多数网络团队并不知道他们的网络是被使用不足还是被过度使用,因为他们对实际情况的可见性很差。如果没有这种理解,就不可能有效地运行网络或适当地扩展网络。

WJH 是一种交换机级监控解决方案,交换机 ASIC 监控以线路速率传输的数据流,并在数据包丢失、拥塞事件、路由循环等导致性能问题时向您发出警报。

WJH's streaming telemetry provides superior network visibility so you can find the root cause of problems. 图 3 。 WJH 以线路速率从交换机 ASIC 监控数据包丢失、拥塞事件、路由环路等警报

例如,如果您因为坏电缆或坏光纤而丢弃数据包, WJH 会向您显示这些丢弃的数据包,并告诉您它们被丢弃的原因。 WJH 会提醒您出现拥塞、缓冲区问题,甚至安全问题。例如,如果您遇到一堆 ACL ,而它们正在丢弃数据包,您想知道原因,因为可能是服务器或 VM 已损坏。或者,可能是您的 ACL 配置不好,导致了问题。

在无损环境中,如在RoCE上运行的 NVMe over Fabrics (NVMe-oF),即使您没有丢弃数据包,也会出现性能问题。性能问题可能是由于拥塞问题、过多的暂停帧、,或延迟问题。通常会发现根本原因是LAG或ECMP组之间的负载平衡不平衡。无论您的问题是丢包还是没有丢包的性能不佳,WJH都是为了深入了解这些问题,并为您提供最佳的流式遥测,以实现卓越的网络可视性。

世界上几乎每一个网络都会有一些数据包丢失。有时是因为不好的原因,有时是因为好的原因。许多其他交换机遥测解决方案无法提供足够的数据来诊断和解决问题。当一个非 NVIDIA 交换机丢弃一个数据包时,该数据包被发送到比特天堂,再也看不到了。数据包和所有有用的诊断信息都消失了。

这些开关所做的最多的事情就是增加一个模糊的计数器。当你检查计数器时,交换机会说,“哦,由于一个坏的 VLAN ,你现在丢弃了 504 个数据包。”这些交换机不会告诉你关于丢弃的数据包的任何信息,也不会告诉你它是什么时候丢弃的,也不会告诉你为什么丢弃的,只是告诉你它是被丢弃的。您不知道数据包是否因为交换机配置错误、服务器配置错误或其他原因而被丢弃。

其他交换机或网络管理解决方案对每个交换机上每个端口的数据包执行统计采样。这会产生惊人的大量数据包,但不是所有的问题数据包,因此它不会记录数据包丢失的时间、原因或方式。它也没有正确地解释拥塞是如何开始的,是什么导致了不可接受的高延迟,或者为什么流量变得不平衡或被错误路由。当怀疑出现问题时,您必须对保存的大量数据包进行分类,并尝试推断(或猜测)到底发生了什么以及原因。

在这些情况下,您同时拥有过多的数据(过多的采样数据包),但却没有足够的信息(关于问题数据包的详细信息不足)。网络上的一切都变得可疑,确定真正发生的事情可能需要数小时。有更好的方法!

WJH 是如何工作的?

WJH helps get to the bottom of problems by showing who’s being impacted, which applications, which servers, what’s causing the problem, when and where the problem is in your network.图 4 。 WJH 回答五个 W ;谁,什么,在哪里,何时,为什么

NVIDIA 刚刚发生的事情( WJH )是一种硬件加速遥测技术,其中交换机 ASIC 保留丢弃数据包的重要部分。交换机不会保留整个数据包或所有正常数据包,因为这将消耗大量空间,几乎没有什么好处。

相反,交换机保留问题数据包的重要部分,如源和目标 IP 地址、 MAC 、端口号等,以及关于丢弃原因、时间和地点的详细描述。因为涉及到交换机,它知道要保存哪些数据包,以及为什么这些数据包被丢弃、太慢或路由错误。通过硬件加速,交换机可以记录所有相关数据包以及重要的细节,即使在驱动 25 、 40 、 50 或 100 (很快就是 200 )千兆以太网的许多端口时也是如此。

对于小型部署,您可以登录到交换机并快速查看网络中出现的问题。对于较大的部署, WJH 可以使用 gRPC 将这些数据包流式输出到一个集中的数据库。这适用于 NVIDIA NEO 等交钥匙解决方案,因为它位于标准数据库中,所以它适用于 Kabana 和 Grafana 等开源工具。

如果您是一名网络专家,或者曾经去过 Sniffer 大学,并且想要查看实际的数据包捕获,交换机可以生成一个包含所有丢弃数据包的p.cap文件,以便您可以使用 Wireshark 查看它。 WJH 通过显示谁受到影响、哪些应用程序、哪些服务器、问题的原因、问题出现的时间和地点,帮助您找到问题的根源。

网络遥测的新希望

WJH 是一种新的网络监控方式。传统的网络监控工具收集大量无辜的数据和计数器。他们甚至可能使用 sFlow 对随机数据包进行采样,以为您正在收集所有这些信息以猜测网络中出现了什么问题。

Traditional network monitoring tools collect to much data and leave you guessing on what the problem might be. 图 5 。传统的监控工具让你猜不透?

出于某种原因,最棘手的网络问题通常发生在晚上或周末。然后,你必须离开晚餐或你的家人的时间来筛选堆积如山的数据,并找到根本原因。你试着猜猜是什么引起了所有的麻烦。甚至有预测性分析工具 MIG ht 能给你 60-70% 的信心,让你相信他们已经找到了根本原因。归根结底,这仍然只是猜测。问题是您有太多的数据(来自数据包采样),但通常不是最重要的数据(什么、在哪里、何时以及为什么)。

With WJH, you can get to the root cause quicker.图 6 。 WJH 可以精确定位数据平面异常,以便快速识别 problems.

WJH 是一种新的监控网络的方法,它关注数据平面异常情况,旨在让您在晚上和周末返回。 WJH 快速向您显示网络中的受害者和数据包麻烦制造者或带宽霸主。您可以不断收集有关无辜设备和事件的大量数据,并尝试处理它们,但是 WJH 给出了实际的根本原因,由不得不丢弃数据包的交换机直接记录。

没有更多的问题/再创作戏剧!

WJH 还打破了问题/重新创建周期:

WJH gives you network visibility without needing to reproduce issues to resolve them.图 7 。 WJH 维护一份关于丢弃数据包的报告,以帮助您找到根本原因

猜测问题何时会再次出现的旧方法,在测试台或数据包跟踪上设置一个重新创建的场景,只是为了不让问题暴露出来,所以您可以在下一周……和下一周……重试…。这就是 WJH 的动力:先进的遥测技术。因为 WJH 保留着那些被丢弃的数据包并报告它们,所以它可以帮助你找到根本原因。 WJH 为您提供网络可视性,而无需重现问题以解决问题。

如何部署 WJH ?

现在我知道你们中的一些人可能在想,“这听起来很神奇,但我不能用 NVIDIA 交换机取代我的整个网络。” WJH 的优点在于它独立于网络的其他部分工作。在一个交换机上运行的 WJH 可以报告该层网络中其他交换机上可能发生的错误,这些交换机具有类似的功能。这与带内遥测不同,后者最适用于同一供应商的所有交换机。

开始使用 WJH 非常简单。

WJH 部署

WJH provides a network scan when it is enabled, shows network issues so they can be easily resolved and allows for customization.图 8 。 WJH 通过三个简单的步骤进行部署。

第一步

大多数人开始使用 WJH 时都会进行网络扫描,这是通过在插入生产网络的交换机上启用 WJH 来实现的。人们几乎总是对他们所了解到的错误感到惊讶。网络管理员非常高兴了解网络中正在发生的事情。第一步就是打开 WJH ,看看你的网络里到底发生了什么。

步骤 2

接下来是清理阶段,在该阶段,人们解决 WJH 发现的网络问题以及 WJH 发现的服务器问题和存储问题。

步骤 3

在这里,您可以根据您的网络和管理需要对 WJH 进行个性化设置:

  • 您或许设置了一些过滤器,因为您不需要报告某些类型的“正常”错误,甚至不需要记录或存储它
  • 如果同一数据包的 1000 秒内会出现各种问题,则或许会将 WJH 代理设置为聚合模式。聚合模式只存储该问题数据包的一个副本,而不是 1000 个相同的问题数据包。
  • 您或许设置对您来说重要的问题的严重性级别。有些可能很关键,需要立即通知,而有些则可以稍后检查,甚至忽略。
  • 您可以设置严重性级别的操作。例如,您可能希望在关键问题上发送文本,在重大问题上发送电子邮件,而在次要问题上不发送警报。

概括

WJH 对于高级网络负责人以及网络新手来说是一个很好的工具,他们只想用一种简单的方法从服务器和存储问题中识别网络问题。有了 WJH ,您不必成为网络专家就可以快速找到性能问题的根本原因。

先进的流式遥测技术有利于您的业务。它可以帮助您从付费的网络中获得更高的性能、正常运行时间和生产率。

阅读原文

...全文
122 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,207

社区成员

发帖
与我相关
我的任务
社区描述
NVIDIA 开发者技术交流
人工智能 企业社区
社区管理员
  • nvdev
  • 活动通知
  • AI_CUDA_Training
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧