fengjian
作者fengjian·2022-03-18 12:19
系统工程师·ips

AIX7.2上的虚拟网络性能问题-关于PLSO功能

字数 1533阅读 2758评论 0赞 1

新建的测试环境中发现网络传输问题,查找原因并解决。

测试环境为 Power8 服务器, firmware level FW840.00 ,使用 PowerVM 虚拟化技术, VIOS 版本 2.2.5.20 , VIOC 系统为 AIX 7200-05-02-2114 ,网络虚拟化使用 SEA 方式。

VIOC ( AIX )的网络是通的,可以从外部 ssh 连入,也可以 ssh 连其它分区,使用 scp 或 ftp 从外部向 VIOC ( AIX )分区传文件速度正常,但是从 VIOC ( AIX )中向 VIOS 或其它分区传文件速度非常慢,如下图:

检查 VIOS 和 VIOC 环境,未发现报错信息,网络参数( no 参数)配置正常。 VIOS 上传输文件正常,对比 VIOS 和 VIOC ,发现问题 VIOC 上的虚拟网卡 platform_lso 参数设置为 yes , VIOS 上没有该参数。

尝试将 platform_lso 参数改为 no :

chdev -l ent0 -a platform_lso=no

修改后测试网络,文件传输恢复正常。

对比 VIOC 上虚拟网卡参数修改前后的 entstat 数据:

修改前( platform_lso=yes )


修改后( platform_lso=no )

platform_lso=yes 时 hypervisor 层面大包发送出现报错,怀疑该问题与微码版本有关,除了关闭 PLSO 功能外也可以尝试升级微码。

关于 Platform Largesend Segmentation Offload (PLSO) feature 的说明

AIX 原生支持 Largesend 功能,该功能需要在每个 TCP 套接字的虚拟以太网适配器( VEA )之间执行一个特殊的端到端协商过程,该过程是在连接建立阶段使用修改的 SYN/SYN-ACK 数据包实现的。

Power 服务器上除了可以安装 AIX 外,还可以使用 IBMi 或 Linux 操作系统的逻辑分区( LPAR )。 AIX largesend 协商过程尚未在这些操作系统中实现。这导致网络吞吐量在不同操作系统的 LPAR 中的 VEA 之间受到限制,为了解决这个互操作性问题, Power8 平台从固件级别 FW840.10 开始引入了 Largsend Segmentation Offload ( PLSO )功能。 PLSO 需要在虚拟网卡和平台固件( Hypervisor )间进行协商,因此对于系统及固件版本有要求。具体如下:

Power8 or newer.
Firmware level :

  • FW840.10

Operating System levels :

  • AIX 7100-04-03 and AIX 7200-01-00
  • IBM i 7.1 TR10 or IBM i 7.2 TR3
  • POWER Linux
    RedHat 6.8, 7.2
    SLES 11SP4, 12 SP1
    Ubuntu 14.04.4, 15.10, 16.04

VIO Server level :

  • 2.2.5.0

测试环境中的 firmware 为 FW840.00 ,低于要求版本。

PLSO 功能的使用和 mtu_bypass 参数相关。 mtu_bypass 参数设置方式如下:

  • “off”-TCP 会话既不会使用 AIX largesend ,也不会使用 PLSO 功能
  • “on” -TCP 会话将首先尝试协商 AIX largesend 功能,如果协商失败,如果 IP 接口设置了 PLSO 标志,则将使用 PLSO 功能。
  • “plso”-TCP 会话将只发送 PLSO 数据包

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广