第 6 章 网络故障排除
Red Hat OpenStack Platform 中网络连接故障排除的诊断过程与物理网络的诊断过程类似。如果使用 VLAN,您可以将虚拟基础架构视为物理网络的中继扩展,而不是由谁独立的环境。ML2/OVS 网络和默认 ML2/OVN 网络故障排除之间存在一些区别。
6.1. 基本 ping 测试
ping
命令是分析网络连接问题的有用工具。结果充当网络连接的基本指标,但可能无法完全排除所有连接问题,比如防火墙阻止实际应用程序流量。ping 命令将流量发送到特定的目的地,然后报告尝试是否成功。
ping 命令是 ICMP 操作。要使用 ping
,您必须允许 ICMP 流量遍历任何中间防火墙。
从存在网络问题的机器运行时,ping 测试最有用,因此如果机器看起来完全离线,可能需要通过 VNC 管理控制台连接到命令行。
例如,以下 ping test 命令会验证网络基础架构的多个层才能成功;名称解析、IP 路由和网络切换必须可以正常工作:
$ ping www.example.com PING e1890.b.akamaiedge.net (125.56.247.214) 56(84) bytes of data. 64 bytes from a125-56.247-214.deploy.akamaitechnologies.com (125.56.247.214): icmp_seq=1 ttl=54 time=13.4 ms 64 bytes from a125-56.247-214.deploy.akamaitechnologies.com (125.56.247.214): icmp_seq=2 ttl=54 time=13.5 ms 64 bytes from a125-56.247-214.deploy.akamaitechnologies.com (125.56.247.214): icmp_seq=3 ttl=54 time=13.4 ms ^C
您可以使用 Ctrl-c 终止 ping 命令,之后会显示结果摘要。零百分比的数据包丢失表示连接稳定且没有超时。
--- e1890.b.akamaiedge.net ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 13.461/13.498/13.541/0.100 ms
ping 测试的结果可能会非常困难,具体取决于您测试的目标。例如,下图 VM1 遇到某种形式的连接问题。可能的目的地以蓝色的形式编号,结果来自成功或失败的结果:
互联网 - 常见的第一步是将 ping 测试发送到互联网位置,如 www.example.com。
- 成功 :此测试表示计算机和互联网之间的所有各种网络点都正常运行。这包括虚拟网络和物理网络基础架构。
- 失败 :对距离互联网位置的 ping 测试可能会失败。如果您的网络中的其他机器可以成功 ping 互联网,这证明互联网连接正常工作,且问题可能会在本地机器配置中成功。
物理路由器 - 网络管理员指定将流量定向到外部目的地的路由器接口。
- 成功 :对物理路由器进行 ping 测试可以确定本地网络和底层交换机是否正常工作。这些数据包不会遍历路由器,因此它们不会证明默认网关中是否存在路由问题。
- 失败 :这表示 VM1 和默认网关间的问题。路由器/切换可能会停机,或者您可能使用不正确的默认网关。将配置与您知道的其他服务器上正常工作的配置进行比较。尝试 ping 本地网络中的其他服务器。
Neutron 路由器 - 这是 Red Hat OpenStack Platform 用来指示虚拟机流量的虚拟 SDN (软件定义网络)路由器。
- 成功 :防火墙允许 ICMP 流量,网络节点在线。
- 失败 :确认实例安全组中是否允许 ICMP 流量。检查网络节点是否已在线,确认所有必需的服务是否正在运行,并查看 L3 代理日志(/var/log/neutron/l3-agent.log)。
物理交换机 - 物理交换机管理同一物理网络中节点之间的流量。
- 成功 :虚拟机发送到物理交换机的流量必须通过虚拟网络基础架构传递,这表示此片段正常工作。
- 失败 :检查物理交换机端口是否已配置为中继所需的 VLAN。
VM2 - 在同一 Compute 节点上 ping 同一子网中的虚拟机。
- 成功 :VM1 上的 NIC 驱动程序和基本 IP 配置可以正常工作。
- 失败 :验证 VM1 上的网络配置。或者,VM2 上的防火墙可能只是阻止 ping 流量。此外,验证虚拟切换配置并查看 Open vSwitch 日志文件。