V2EX 07月23日 22:09
[Linux] Linux 上使用 iscsi-initiator-utils 作为 initiator 如何设置更大的超时时间?
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了在 Fedora 42 系统上使用 libvirt 虚拟机运行时,通过修改 iscsi 配置解决默认 5 秒超时问题的方法。作者尝试修改 /etc/iscsi/iscsid.conf 文件,但发现超时时间并未生效。通过 iscsiadm 命令确认配置修改成功,但实际超时时间仍为默认值。作者使用 virsh 命令测试虚拟机网络断网后的超时情况,发现虚拟机在超过 5 秒后永久卡死。文章探讨了可能的原因和解决方案,为熟悉 iscsi-initiator-utils 的用户提供指导。

🔍 作者通过修改 /etc/iscsi/iscsid.conf 文件尝试增大 ISCSI 超时时间,但配置未生效,导致默认 5 秒超时问题依然存在。

⚠️ 使用 iscsiadm -m session 命令确认了配置修改成功,但通过 /sys/class/iscsi_connection 目录下的 ping_tmo 和 recv_tmo 文件查看,实际超时时间并未改变。

💻 作者通过 virsh 命令模拟虚拟机网络断网情况,发现超过 5 秒后虚拟机永久卡死,说明超时配置确实未生效,且系统存在严重问题。

🌐 解决方案可能涉及更底层的网络配置或 iscsi-initiator-utils 版本兼容性问题,需要进一步排查和测试。

🔧 建议检查系统日志或使用 strace 等工具追踪 iscsiadm 命令的执行过程,以确定配置修改失败的具体原因。

系统是 fedora42 ,使用 libvirt 虚拟机运行,根文件系统存储在 iscsi target 上,默认断网超过 5 秒就超时了,我通过修改/etc/iscsi/iscsid.conf 的配置把可能影响这个超时时间的参数的值都改成了更大的值,但是不生效,有熟悉 iscsi-initiator-utils 的 v 友能指导一下怎么调大这个超时时间吗?

通过以下命令可以确定我修改配置是修改成功的:

root@fedora:~# iscsiadm -m session -P 3iSCSI Transport Class version 2.0-870version 6.2.1.10Target: iqn.2003-01.org.linux-iscsi.develop.x8664:sn.d0d7965bd993 (non-flash)    Current Portal: 192.168.1.4:3260,1  Persistent Portal: 192.168.1.4:3260,1       **********      Interface:      **********      Iface Name: default     Iface Transport: tcp        Iface Initiatorname: iqn.1994-05.com.redhat:dcff1f712fda        Iface IPaddress: 192.168.1.165      Iface HWaddress: default        Iface Netdev: default       SID: 1      iSCSI Connection State: LOGGED IN       iSCSI Session State: LOGGED_IN      Internal iscsid Session State: NO CHANGE        *********       Timeouts:       *********       Recovery Timeout: 4800      Target Reset Timeout: 1200      LUN Reset Timeout: 1200     Abort Timeout: 600      *****       CHAP:       *****       username: <empty>     password: ********      username_in: <empty>      password_in: ********       ************************        Negotiated iSCSI params:        ************************        HeaderDigest: None      DataDigest: None        MaxRecvDataSegmentLength: 262144        MaxXmitDataSegmentLength: 262144        FirstBurstLength: 65536     MaxBurstLength: 262144      ImmediateData: Yes      InitialR2T: Yes     MaxOutstandingR2T: 1        ************************        Attached SCSI devices:      ************************        Host Number: 7  State: running      scsi7 Channel 00 Id 0 Lun: 0            Attached scsi disk sda      State: runningroot@fedora:~# root@fedora:~# root@fedora:~# cat /sys/class/iscsi_connection/connection1\:0/ping_tmo 220root@fedora:~# root@fedora:~# cat /sys/class/iscsi_connection/connection1\:0/recv_tmo 210root@fedora:~# root@fedora:~# 

问题是就是不生效,跟默认的情况一样超过 5 秒就超时了,测试的方法是:

virsh --connect qemu:///system domif-setlink f42 vnet3 down && sleep 6 && virsh --connect qemu:///system domif-setlink f42 vnet3 up

超时后没有任何的报错,但是虚拟机永久性卡死了(串口卡死,ping 也 ping 不通),如果 sleep 5 秒就不会永久性卡死,sleep 的时候系统卡死,sleep 结束后系统恢复正常。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

ISCSI Fedora libvirt 超时配置 虚拟机
相关文章