在Windows server 2012上使用virtualBox运行CentOS7虚拟机,被强制暂停

news2024/12/25 9:25:55

文章目录

    • 问题场景
    • 排查过程
    • 处理解决
    • 事后反思

问题场景

  • 我们的平台服务使用docker部署,使用docker-compose进行管理,部署到CentOS7的服务器里
  • 平台部署到客户环境时,一小部分客户,使用自己机房或单独的服务器。很多客户不愿意采购新的服务器,就让我们用他们已有的Windows server服务器
  • 我们在已有的Windows server服务器里,使用VirtualBox虚拟机工具,安装CentOS7虚拟机,再部署系统
  • 本周接到一客户投诉,那天下午三点左右,客户说平台打不开,虚拟机操作没反应,卡死,重启也解决不了
  • 后来询问了客户,说是上午平台还好好的,中午睡个午觉,下午上班发现平台不行了

排查过程

  • 首先看到的是一个卡死界面,CentOS7虚拟机卡死,被暂停了,点了下恢复,一直在卡进度条,没反应,点关闭按钮也没反应
  • 于是让客户用“任务管理器”关闭了VirtualBox程序,重新启动VirtualBox,再启动平台虚拟机,发现启动不了,看了下报错信息,感觉应该是直接杀死进程关闭导致的,就让客户重启下本Windows server服务器试试
  • 重启Windows server服务器后,发现桌面自启动了一堆东西,包括xx软件平台、一些自启动的Java程序dos窗口等。可能是我们当初部署平台时,这台电脑不是空机器,有一堆其他应用服务部署了,且设置了开机自启动
  • 询问了客户,这台服务器目前就给我们使用。于是让客户关闭其他服务,启动了VirtualBox虚拟机工具,启动信控平台虚拟机
  • 平台CentOS7虚拟机启动没问题,虽然有点慢,但正常的启动成功了。但当输入用户名密码,进入虚拟机终端,准备操作时,虚拟机被强制暂停了,点击恢复也没办法
  • 正常情况下,虚拟机暂停,重新点一下“暂停”,就会恢复
    在这里插入图片描述
  • 但是客户现场,点了后就弹出一个报错BLKCACHE IOERR,大致意思是“请确保磁盘上有足够的可用空间,并且磁盘工作正常”,报错详细信息如下:

The I/0 cache encountered an error while updating data in mediun"ahci-0-0’
(rc=VERR UNRESOLVED ERROR).Make sure there is enouth free space on the disk and that the disk is working properly. Operation can be rerumed afterward

  • 一开始怀疑是平台虚拟机里分配的磁盘空间,在运行大半年后快满了,空间不足导致的。想登录进虚拟机,查看和删除大文件。但是一直被“暂停”,无法进入操作。尝试了好几种办法,包括重启了两次,都没法终止暂停
  • 后来查看了下文件夹目录,发现平台现在只用了71G,而给平台分配了256G,远远没用完,应该不是这个问题。而且之前遇到过root目录被占满的事件,但是并不会被暂停(有兴趣的看我这篇文章:clickhouse系统日志引起的root目录磁盘满的问题处理)
  • 根据报错信息,去搜索好久,最终在微软的官方网站找到了类似问题和解决方式,确定是VirtualBox上运行的CentOS7虚拟机所在磁盘空间不足导致的
  • 官方社区链接:Virtual machines enter the paused state due to low disk free space
    在这里插入图片描述
  • 核心内容是以下几句:

Cause
The hard drives that store these VHD files or snapshots of these virtual machines are out of disk free space.
Resolution
To fix the issue, free disk space on these hard drives or move these VHD files to a new location.

  • 大致意思为:存储这些VHD文件或这些虚拟机的快照的硬盘驱动器的磁盘可用空间不足,若要解决此问题,请释放这些硬盘驱动器上的磁盘空间或将这些VHD文件移动到新位置。
  • 默认创建和导入虚拟机时,不另选位置,都会默认在C盘C:\Users\Administrator\VirtualBox VMs文件夹里面。查看了C盘空间,一共就256G,还剩20G左右,应该是C盘(系统盘)空间过少,不允许VirtualBox运行虚拟机,强制暂停
  • 根据客户反馈,今天是第一次遇到虚拟机暂停问题,应该是今天中午刚好达到了临界值

处理解决

  • 微软官方平台的报错原因说的很清楚,就是虚拟机文件所在磁盘空间不足,系统会不断检查磁盘空间并发出警告。当收到警告时,虚拟机将进入暂停的关键状态
  • 解决方式说的也很清楚,把当前磁盘清理掉一些东西,保障磁盘空间充足,或者迁移到另一个空间充足的磁盘
  • 由于这个是客户的机器,我们不好分辨哪些可以删除,只好选择迁移到另一个磁盘(1.5T空间)
  • 需要注意的是,迁移虚拟机文件不能直接拷贝再修改文件路径,要使用VirtualBox操作。选择“管理-虚拟介质管理”
    在这里插入图片描述
  • 选中要改的vid文件,修改文件目录路径(C改成了E),点击应用即可(如果文件较大,跨盘移动可能要一段时间)
    在这里插入图片描述
  • vid文件迁移完成后,重新启动平台虚拟机,启动正常,再也没有暂停的情况,问题解决

事后反思

  • 反思这次问题出现的原因:
  • 一是部署平台的优化人员不是专业的运维,发给他们的部署文档里,只是建议选一个磁盘空间比较大的盘,没有强制要求,他们就一直点默认的“下一步”了,默认装在了C盘
  • 二是这台机器不只是我们在用,按照正常情况,C盘的256G至少也能用个几年,但是没想到这才半年多就仅剩20G了
  • 三是没坚持让客户提供Linux机器,如果不使用Windows server服务器部署虚拟机的方式,而是直接部署到CentOS7平台上,就不会出现问题(因为直接使用服务器所有磁盘,而磁盘这玩意不值钱,一般服务器都有大容量)
  • 已经更新了部署文档,强制要求使用磁盘空间充足的非系统盘(除非不分盘),磁盘可用空间不能低于500G

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/745261.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

进程之间的数据交互(使用管道和套接字实现进程通信)

本篇目录 进程通信的方法有哪些C语言使用管道实现进程通信使用管道进行实时通信 C语言使用套接字进行进程通信 进程通信的方法有哪些 进程通信是指在操作系统中,不同进程之间进行数据传递、信息共享和协调工作的方法。以下是常见的进程通信方法: 管道&a…

Linux网络第五章——YUM和NFS共享服务—YUM

YUM简介: 是一个专门为了解决包的依赖关系而存在的软件包管理器。 可以一键下载,一键安装和卸载。yum 是改进型的 RPM 软件管理器, 它解决了 RPM 所面临的软件包依赖问题。 yum 在服务器端存有所有的 RPM 包,并将各个包之间的依…

相比传统ERP,基于项目的ERP系统有何不同?

服务型企业是独特的以人为本的组织,依靠员工来销售、配置和提供一系列的产品和服务,这通常是以项目或合同为基础。 在这样一个环境中,服务型企业的基本财务要求与传统的制造和供应链型企业有很大的不同。 基于项目的企业需要管理资源&#x…

2023最新 Navicat 16.2.3 安装和学习试用连接Redis教程详解

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

IIS8 安装 .net1.1

直接上正文; 一 安装补丁 安装顺序: 1 dotnetfx.exe 2 NDP1.1sp1-KB867460-X86 3 NDP1.1sp1-KB886903-X86 .NET_Framework_Cleanup_Tool.zip(这个是卸载.net framework的软件,后面可能会用) 链接:ht…

ubuntu软件商店换阿里源,并解决更新源报错-->无法验证下列签名: NO_PUBKEY 3B4FE6ACC0B21F32

目录 一、背景 二、给源文件备份 三、更新源 四、解决报错 五、继续更新源 六、完成更新,下载应用 一、背景 重装了个ubuntu,发现软件商店用不了,打算换源。 二、给源文件备份 1)登录ubuntu系统,打开终端&…

mybatis双重foreach实现遍历map中的两个list数组

文章目录 实现背景:前端传值的格式Debug断点调试java如何解析json对象第一步 JSONArray.fromObject()第二步 遍历jsonArray第三步 mybatis双重foreach foreach标签说明最终效果 实现背景: 前端传值时可能会有多个字段传递过来,需要后台将这多…

SpringBoot + WebSocket+STOMP指定推送消息

目录 一、前提条件1.2 环境要求1.3 依赖 二、相关工具类准备2.1 发送消息载体2.2 接收消息载体2.3 消息处理接口2.4 为 STOMP 消息传递配置 Spring 三、前端部分四、效果 一、前提条件 本文将简单的描述SpringBoot WebSocketSTOMP指定推送消息场景,不包含信息安全加…

搭建FRP内网穿透服务器来远程访问本地windows/linux中的web服务

什么是FRP? FRP 是一个免费开源的用于内网穿透的反向代理应用,它支持 TCP、UDP 协议, 也为 http 和 https 协议提供了额外的支持。 FRP有服务端和客户端,你将服务端安装在你买的便宜云服务器上,FRP客户端安装在你自己的…

数据标注是什么?

关于数据标注您需要了解的一切——专家解答:澳鹏产品管理总监Meeta Dash 人工智能(AI)的质量取决于对其予以训练所使用的数据。由于训练数据的质量和数量直接决定AI算法的成败,因此,对于一个AI项目,平均80…

简单线性回归评估指标+R Squared

使得每一个数据集尽可能的小 均方误差MSE:(平方和取平均值) 均方根误差RMSE:(平方和取平均值开根号):平均误差值 平均绝对误差MAE:(绝对值取平均)&#xff1a…

Misc题目总结

目录 [WUSTCTF2020]girlfriend 手机键盘隐写: [GUET-CTF2019]zips setup.sh文件的运行方法: [MRCTF2020]千层套路 重复解zip加密压缩包脚本: 根据RGB坐标构造二维码脚本: [DDCTF2018](╯□)╯︵ ┻━┻ [WUSTC…

COT、COT-SC、TOT 大预言模型思考方式||底层逻辑:prompt设定

先讲一下具体缩写的意思 COT-chain of thoughts COT-SC (Self-consistency) Tree of thoughts:Deliberate problem solving with LLM 我理解其实不复杂 1. 最简单的是:直接大白话问一次 (IO) 2. 进阶一点是:思维链,…

wx.getUserProfile too frequently 问题

接口调用频率规范 概念介绍 小程序wx接口可分为“普通接口”和“限频接口”。 “限频接口”指的是一个用户在一段时间内不允许频繁调用的wx接口,此类接口一般会调用到微信后台系统资源,为了保护系统,同时防止用户资源被滥用,开…

C语言进阶之字符串函数和内存函数的介绍及部分函数的模拟实现

字符串函数和内存函数 1.字符串函数介绍1.1 strlen1.2 strcpy1.3 strcat1.4 strcmp1.5 strncpy1.6 strncat1.7 strncpy1.8 strstr1.9 strtok1.10 strerror1.11 字符分类函数 2.内存函数2.1 memcpy2.2 memmove2.3 memcmp 3.函数的模拟实现3.1 模拟实现strlen3.2 模拟实现strcpy3…

2023年上半年鲁大师手机流畅排行榜:OPPO Find X6 Pro稳居榜首,iQOO Neo8 Pro紧随其后

随着科技的不断进步,手机的流畅性在用户选择手机时也变得越来越重要。 在2023年上半年的手机流畅排行榜中,OPPO Find X6 Pro以219.98的得分稳居榜首。紧随其后的是iQOO Neo8 Pro,得分为219.73。 接下来,让我们一起来看看这份排行榜…

小白白也能学会的 PyQt 教程 —— 实战简易计算器

文章目录 导言一、从 0 到 1:简易计算器实现1、功能实现2、代码分析3、实现效果 二、由简入繁:优化简易计算器的 UI1、开始布局2、实现 Driver3、Driver 代码4、效果展示 总结 导言 PyQt5 是一个用于创建桌面应用程序的 Python 库,它提供了丰…

JavaWeb 拦截器(interceptor)和过滤器(filter)的区别 总结

一、区别 实现原理使用和适用范围使用场景触发时机请求顺序 二、具体展开说明 2.1 实现原理 过滤器Filter :基于函数也就是方法回调来完成拦截和放行的操作。 拦截器(interceptor):拦截器则是通过Java 反射机制(动态代理)来实…

python_寻找底部股票

目录 写在前面: 下面开始进入正文,正文很长,先概述要点步骤,以防迷路。 先看最终结果(当前价格为2023-07-10收盘价) 1 下载股票基本信息、股票日数据 step one step two 2 从股票日数据中提取股票月数…

优思学院|如何衡量六西格玛中解决方案的有效性?

当你遇到任何质量问题,不论你使用的PDCA或者是六西格玛DMAIC策略,(1) 你都需要测量当前绩效,(2) 分析其原因,以至其根本原因,(3) 进行方案的试行、假设检验来进行验证,这就是解问题的必须步骤。 除了假设检…