1. 这种情况一般是虚拟机的 vlink 没下发到数据面,可以直接在虚拟机所在主机后台,进入 vn-agent 容器(container_exec -n vn-a)查看 vlink 情况:
sfd_byTools.sh --vlink|grep <vm_id>
如果输出为空,就表示没有 vlink。
2. 如果不知道这样排查,可能会去看 qemu 的日志,一般会显示下面的异常,也能说明是 vlink 没有生成。
(PS:这个socket文件是要 vlink 建起来的时候才会去创建)
3. 这种情况需要从 VT 管理面-》VN 管控面逐步排查下来
VT 管理面看 sfvt_vtpdaemon 日志,重点关注:
# 查询 vlink 关机是否由 VT 触发的一些日志:
grep -rn "[create_vm_interface_vlink]" /sf/log/today
grep -rn "[shutdown_vm_interface_vlink]" /sf/log/today
grep -rn "update network interfaces" /sf/log/today
VT 管理面看到 vlink 下发的标志:
VN 管控面详细排查可以看这篇kb,写得比较详细:
http://tskb.sangfor.com/forum.php?mod=viewthread&tid=30890
如果当前日志不够,需要开 LCP debug,如果到这一步,建议上升研发处理了。
4. 该问题在开启 debug 后,看到异常如下:
查看数据库发现 vrrp 出现数据残留。导致 lcp 下发 dp 配置出现异常,lcp 一直报错,影响 vlink 下发。