Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FNAT双臂模式下,SCP上传大文件出现Broken pipe中断 #844

Open
xgfone opened this issue Jul 12, 2022 · 3 comments
Open

FNAT双臂模式下,SCP上传大文件出现Broken pipe中断 #844

xgfone opened this issue Jul 12, 2022 · 3 comments
Labels
issue/to-reproduce issues to be reproduced and verified

Comments

@xgfone
Copy link

xgfone commented Jul 12, 2022

在原生 Linux LVS (阿里版本)中,使用 FullNAT 双臂模式,使用 SCP 上传大文件时,会出现 Broken pipe 连接中断。

使用 DPVS 1.9.0 版本,在 FNAT 双臂模式下,使用 SCP 上传1G大文件时,也会出现 Broken pipe 中断(每次尝试都是必现)。由于 DPVS 中的 LVS 是基于开源 LVS 移植的,是否是因为该问题本身就仍存在于相关的 LVS 源码中没有解决?

通过读 DPVS 的源码,受各人自身能力所限,未找到原因,有哪位大佬知道其原因?

补充说明:

  • 使用 SCP 下载大文件是正常的,不会出现 Broken pipe 连接中断。
  • 使用 TCPDUMP 在SCP客户端和RealServer端抓包,在出现 Broken pipe 时,未发现有连接中断的TCP数据包(即未出现 [F][R] 等TCP标记,都是 [.][P.] 等标记TCP包)。
@ywc689
Copy link
Collaborator

ywc689 commented Jul 14, 2022

上传过程中用 ipvsadm -lnc命令看看连接是否一直都在?

@xgfone
Copy link
Author

xgfone commented Jul 14, 2022

@ywc689 通过 ipvsadm -lnc 命令查看,连接是在的,等待一段时间后(dpvs.conf配置文件中相关时间配置),dpvs 会分别向 SCP客户端 和 RealServer 发送一条标记为 [R] 的 TCP 包,然后连接终止,再通过 ipvsadm -lnc 查看,连接已不在了。

@xgfone
Copy link
Author

xgfone commented Jul 14, 2022

我部署了 Linux LVSDPVS 两个环境,来测试大文件上传,都会出现客户端 Broken pipe 连接中断;当下载大文件时,都是正常的。

我猜测是否是 LVS 的实现中某个地方导致的?但通过查看源码,由于能力所限,未找到原因。

@ywc689 ywc689 added the issue/to-reproduce issues to be reproduced and verified label Jul 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
issue/to-reproduce issues to be reproduced and verified
Projects
None yet
Development

No branches or pull requests

2 participants