我创建了一个 MAAS 服务器和一个节点。当我通过 PXE 启动与此节点对应的虚拟机时,它开始加载 Ubuntu。几分钟后,它陷入了似乎无限循环的状态,并定期打印以下消息:
[ 239.617011] INFO: 任务 touch:1060 被阻塞超过 120 秒。
[ 239.618857] “echo 0 > /proc/sys/kernel/hung_task_timeout_secs” 禁用此消息。
相同的消息(只有开头的数字会改变)不断重复。我让它运行了大概半个多小时,结果还是一样。
这会导致相关节点处于“测试失败”状态。
使用默认安装程序和快速安装程序时都会出现该错误。
该文件/var/log/maas/maas.log
没有错误。
我可以在哪里收集有关该问题原因的更多信息?
答案1
我在使用 PXE 安装 Ubuntu 时遇到了同样的消息和问题,这种情况发生在 precise、quantal...trusty 上。它不是每次都能重现,而且重现率大约是 1/10 或更小。所以我认为这与 maas 无关。
您每次都能重现此问题吗?
这看起来像是内核问题。请参阅此 http://www.blackmoreops.com/2014/09/22/linux-kernel-panic-issue-fix-hung_task_timeout_secs-blocked-120-seconds-problem/
然后尝试:
$ sudo vi /etc/sysctl.conf
添加两行:
vm.dirty_background_ratio = 5
vm.dirty_ratio = 10
保存,退出并重新启动。
答案2
@tai271828 的回答对我没有用,但是给了我一个想法:
让 hung_task 变成一个 panic,这样内核在遇到 panic 时就可以重新启动整个系统。
如果出现任务挂起,则重新启动的内核参数如下:
当 panic 时,Kernel 会在 3 秒后重启系统
kernel.panic=3
如果任务挂起,内核将崩溃
kernel.hung_task_panic = 1
任务挂起将超时 30 秒
kernel.hung_task_timeout_secs = 30
您可以将这些参数持久保存在:/etc/sysctl.conf
如果你在安装pxe的时候也遇到了这个问题,你可以在启动菜单选项中的“APPEND”后面添加这些内核参数,例如:
APPEND netboot=nfs panic=5 hung_task_panic=1 hung_task_timeout_secs=30