桌面云主机内存值小导致挂载光驱失败问题

发布时间:  2015-03-10 浏览次数:  489 下载次数:  0
问题描述
普通桌面云场景下,通过VNC登录挂载镜像时出现任意挂载光驱失败,通过Fusion Compute平台挂载tools时可以完成。
告警信息
提示挂在光驱失败。
处理过程
该节点可以重启,打开/etc/sysctl.conf文件,找到vm.min_free_kbytes 删除这行就行。然后重启该节点,系统会重新计算出正确的free和min值。下次节点在重启,也不会失效。

根因
查看/proc/zoneinfo信息
可以看出,free的值比min的值小很多。也就是系统DMA剩余的空闲也比最小值还要小,这个时候系统开始回收内存资源,所以虚拟机在挂载光驱时,申请DMA内存时,分配不到资源,导致挂载光驱失败

解决方案
有两种解决方法:
根据局点环境,挂载光驱失败所在的CNA节点能否重启,如果该节点上有客户的关键业务,可能就不能重启。如果节点可以重启,就可以使用下述第二种方法进行处理。
 1、 如果该节点不能重启,手工修改/proc/sys/vm/min_free_kbytes的值为10485。
使用命令:echo "10485" > /proc/sys/vm/min_free_kbytes 进行修改。然后重新挂载光驱。
这种方法,只是临时规避,没有持久化,节点重启,则会失效。

 2、 如果该节点可以重启,打开/etc/sysctl.conf文件,找到vm.min_free_kbytes 删除这行就行。然后重启该节点,系统会重新计算出正确的free和min值。下次节点在重启,也不会失效。

END