当前位置: 首页 > news >正文

在Windows server 2012上使用virtualBox运行CentOS7虚拟机,被强制休眠(二)

问题场景

  • 本月7月10日处理了一个虚拟机被强制暂停的问题,详见:在Windows server 2012上使用virtualBox运行CentOS7虚拟机,被强制暂停
  • 当时是由于C盘存储空间不足,导致虚拟机被强制暂停,将虚拟机迁移后,问题解决。我当时还和客户说,这1.5T硬盘,用到平台更换都不会出现这个问题了(打脸了,出现类似问题了,虽然不是同一个)
  • 在7月26日,客户反馈又被暂停了,虚拟机已休眠,而且桌面时间显示“7月20日”,看样子客户一周没访问平台了,这都被休眠一周了才发现
  • 休眠之后,恢复不了,其他按钮灰色的,只能点击“关闭电源”,想着先把虚拟机关掉,再重启试试
  • 当时没有截图,截图用的是之前的,这次显示的是“已休眠”,还不是“已暂停
    在这里插入图片描述
  • 点击“关闭电源”之后,发现,也没用,卡着进度条半天不动,没办法,只能重启服务器了
  • 服务器重启后,虚拟机启动,一切正常(无语)

问题排查

  • 状况和上次类似,但又不太一样,都是虚拟机被停止,无法恢复
  • 上次是暂停状态,这次是休眠状态
  • 上次是虚拟机启动成功后一分钟左右,变成暂停状态;这次是启动后恢复正常
  • 为了防止上次的磁盘空间问题,特意查看了C盘,还有100多G,没问题
  • 同样有一点不容忽略的是,这次服务器重启后,仍然运行了一堆乱起八糟的东西,不是我们平台需要的
  • 我初步怀疑是这些程序运行,导致我的虚拟机被系统暂停掉了。另一位同事表示这个平台之前就有这些东西,没问题的,不要老怀疑服务器有问题
  • 我也没办法,部署了十几个地方,就这地方有问题,我肯定要怀疑服务器有问题啊,而且这还不是一个干净的、只有我们程序的服务器,我肯定怀疑这些程序有影响啊
  • 和领导汇报了情况,领导表示,为了防止虚拟机继续出问题,直接把系统格掉重装一个Linux吧,这是个简单的好办法
  • 和客户的运维方沟通了下,发现服务器使用了 磁盘阵列,很难重装,头疼
    磁盘阵列
  • 客户运维方后面又反馈了一个情况,说这台服务器不是给我们独用的,还有一个其他平台装在这上面,所以没法重装系统
  • 这次真是大无语了,我们得到的信息一直是这台服务器单独给我们平台使用
  • 基于只有我们使用的考虑,我们优化人员当时在安装平台时,直接给虚拟机分配了巨量内存(220G,总内存256G
    内存配置
  • 这次原因找到了,我们平台部署启动时没问题,当另一个平台也在上面启动时(看了下启动后占用了40G内存),内存就不够用了
  • 当系统内存不够用的时候,Windows操作系统会优先暂停虚拟机,保证自己主机上的其他程序使用,我们的虚拟机就被休眠了
    在这里插入图片描述
  • 其实我们平台对内存和cpu的要求其实也不高,64G内存就足够了,不用占用太多内存,分配太多反而可能会影响宿主机运行,改成64G后,整个服务器运行状况就比较健康了
  • 还有另一个坑,VirtualBox读出来的cpu数量不准。我们优化人员一开始设置的处理器数量为8,客户方运维说这台服务器处理器只有双CPU,频率是自动的,只能填2,不能填8在这里插入图片描述

总结

  • 服务器环境一定要搞清楚,有时候客户自己也搞不清楚服务器状况,我们自己不能盲目信任客户的信息,要自己多排查一下,要和实际维护服务器的人员沟通一下
  • 遇到的问题(例如本次的服务器重启一堆乱七八糟我们不了解的服务),一定要彻底的去搞清楚解决,不然一定会复现的,或者以其他角度复现
  • VirtualBox的虚拟机配置要合理,要根据宿主机实际的cpu和内存情况,不能盲目的设置很大,够用就行
  • 使用虚拟机的服务器,一定要注意磁盘空间和内存使用情况,因为Windows操作系统,在内存或磁盘空间不足时,会优先限制虚拟机的服务
  • 保持一个良好的心态,遇到问题,及时沟通,耐心解决吧!
http://www.lryc.cn/news/97489.html

相关文章:

  • sql学习笔记
  • Ubuntu 20.04.4 LTS安装Terminator终端(Linux系统推荐)
  • 22. 括号生成
  • WPF实战学习笔记05-首页界面
  • 一文带你迅速入门SprIngMVC,看这一篇就足够了!
  • js路由跳转时放弃正在pending的请求
  • LeetCode(sql)-0723
  • 【C++】开源:grpc远程过程调用(RPC)配置与使用
  • rabbitmq模块启动报java.net.SocketException: socket closed的解决方法
  • uni-app 中定时器的使用
  • 基于物联网、视频监控与AI视觉技术的智慧电厂项目智能化改造方案
  • 内网穿透远程查看内网监控摄像头
  • 【Flume 01】Flume简介、部署、组件
  • 三款即时通讯工具推荐:J2L3x、Telegram、WhatsApp 你选哪个?
  • C++ 单例模式(介绍+实现)
  • uniapp项目集成本地插件
  • MFC CList 类的使用
  • iptable防火墙
  • 二、SQL-5.DQL-9).执行顺序
  • Ubuntu通用镜像加速配置
  • Linux安装部署Nacos和sentinel
  • Vue3+ElementPlus+TS实现右上角消息数量实时更新
  • 去除重复字母(力扣)贪心 + 队列 JAVA
  • Spring,SpringBoot,Spring MVC的区别是什么
  • 在CSDN学Golang云原生(Docker镜像)
  • Hive窗口函数大全
  • 达闼面试(部分)(未完全解析)
  • Makefile常用函数
  • mysql的一些知识整理
  • 修改密码和再次确认密码的js和element-ui的使用