Azure进阶攻略 | 该如何唤醒你?因内核超时而沉睡的Linux虚拟机!

周五下午,当你收拾好东西准备下班,奔赴 Happy Hour 时,突然接到开发团队的电话:

对方:伙计救命啊,我在搭建开发环境,但 Azure 上的 Linux 虚拟机无法启动!

你(心里想着:你要加班我很同情,可我还跟妹子有约啊):你是怎么建立的?操作步骤是?

对方:我就是按照你提供的文档,先……,然后……,接下来……

你(心里想着:没问题啊,操作完全正确):有啥错误信息没?

对方:都没呀,就是启动不起来,看不到什么错误信息。

你(心理想着:别人都正常用,咋就你出问题):稍等,我看一下……没问题啊,还有额度,资源占用也正常……等着,我这就过去

==================================

首先祭出「重启一下」这个大杀器,登录 Azure 管理门户,重启有问题的虚拟机。结果一台恢复正常了,另一台还是无法启动……

虽然没显示错误信息,但至少咱还有启动日志可以看看。打开启动日志,发现:

从日志中可以看到,系统任务在等待 IO 超过 120 秒后依旧没有得到响应,导致该任务被阻止。

IO 超时未响应的原因有多种,例如磁盘下线、存储有严重延迟、磁盘阵列(RAID)工作异常,或者 Linux 虚拟机本身的 CPU 和内存资源不足等。既然「重启一下」大杀器在这台机器上不好使,就再试试新建一个虚拟机吧!

首先要删除之前虚拟机但保留磁盘,然后基于该磁盘新建虚拟机,修改内核参数:

1 编辑,增加(或修改)下列参数:

2 保存并退出,然后执行上述改动立即生效命令:

果然,凭我多年经验,三分钟问题成功解决,可以去愉快的去 Happy 了~

*顺便提一句:这个方案仅适用于 CentOS 和 RHEL,其他版本 Linux 略有不同,仅供参考。如果公司的业务生产对内核参数严格要求的, 请参考相关参数的说明,酌情进行修改配置。

立即访问http://market.azure.cn

原文地址:https://www.cnblogs.com/zangdalei/p/7357373.html