今天上午 VPN, Freeshell 网络中断
•
昨晚(6月27日)23:48 开始 VPN 国外网络中断,原因是 DigitalOcean 上的 Ubuntu 14.04 VPS 网络中断。ping 不通,但 VPS 事实上开着。登上 Web console,从里往外也 ping 不通。终端很卡,发现 CPU 几乎被 hardware interrupt 占满了。
/proc/interrupts 内的中断数量正常。系统内进程的状态除了 running 就是 sleeping。hardware interrupt 的来源主要可能是硬盘、网卡、显卡,而硬盘和显卡都正常工作,但网络包发不出去也收不到,因此我怀疑是 3.13 内核中的网卡驱动陷入了自旋锁。
由于 VPS 经常莫名其妙重启,有时还会进入无法收发网络包的状态(之前还出过一次 softirq 占满的情况),因此决定更换内核到 Ubuntu 3.11。运行两小时以来没有发现问题。
为避免再次出现类似问题,现增加了 watchdog,检测到 VPN tunnel 故障时自动切换到运营商线路(即不提供 FQ 和 DNS 防污染功能,但能正常上网),恢复后再切换回去。
