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

文章目录

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

问题场景

  • 我们的平台服务使用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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL】SQL索引失效的几种场景及优化

MySQL中提高性能的一个最有效的方式是对数据表设计合理的索引。索引提供了高效访问数据的方法,并且加快查询的速度, 因此索引对查询的速度有着至关重要的影响。 使用索引可以快速地定位表中的某条记录,从而提高数据库查询的速度,…

【东南亚情报局】Lazada饰品商家如何做到8倍的增长率

用小小的商品挖呀挖呀挖,在东南亚的市场,种出大大的花~如何抓住东南亚消费者的心巴,踩中时尚节拍,本篇文章《东南亚情报局》一起看看饰品趋势都有哪些特征! 【1.指南篇】 Y2K:Y2K风格在亚洲迅速火爆起来,…

微信小程序精选,多样化的功能与便捷体验

白噪音Pro、魔术字体和天天倒计时,这三款微信小程序正越来越受到我们的欢迎。它们各自具有独特的功能和特点,为我们提供了多样化的体验。现在,让我们一起来详细介绍一下这三款小程序。 首先是白噪音Pro。随着生活节奏的加快和压力的增加&…

【图像处理】Python判断一张图像是否亮度过低

比如: 直方图: 代码: 这段代码是一个用于判断图像亮度是否过暗的函数is_dark,并对输入的图像进行可视化直方图展示。 首先,通过import语句导入了cv2和matplotlib.pyplot模块,用于图像处理和可视化。 i…

LeetCode 203. 移除链表元素

给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 (1)直接使用原来的链表来进行移除节点操作: //不带头结点删除元素节点 class Solution { public:Lis…

【C语言督学营 第十八天】考研408排序大题初探(将排序思想融入题目)

文章目录 题目一分析代码实战 题目二分析代码实战 补充(快排与归并)数据结构大题注意点!!!(评分标准) 题目一 分析 (1)算法的基本设计思想 由题意知,将最小的nl2个元素放在Ai中,其余的元素放在A2中&#x…

vue+elementui实现app布局小米商城,样式美观大方,功能完整

目录 一、项目效果在线预览 二、效果图 1.首页效果图 2.分类,动态分类商品数据根据所属分类动态切换 3.购物车,动态添加购物车(增、删、改、查) 4.我的 5.登录注册 6.商品详情 7.搜索(动态模糊搜索、搜索历史…

如何安装本地Go Tour教程(或者叫A Tour of Go离线版),以及中文版安装不了该怎么办

Go 官方是有一个在线教程 A Tour of Go,可以在线学习 Go 的编程,并且有中文版。英文原版页面如下: 出人意料的是,Go 提供了离线版(各个语言都有),下载安装之后就可以在本地编译运行查看结果&a…

阿里云AliYun物联网平台使用-设备添加以及模拟设备端上云

一、前言 上一篇文章提到,我们已经申请了免费的阿里云平台,下面需要将我们的设备在阿里云上进行注册和申请,以便于我们的数据上云。 二、步骤 注册产品(设备模型) 在产品页面,点击 "创建产品" 。…

Blender基础入门(2):Blender简单渲染

文章目录 我个人的Blender专栏前言渲染基本常识科普Blender渲染设置Blender窗口分栏分屏渲染 渲染设置GPU渲染引擎推荐最大采样 切换摄像机渲染图片渲染采样512和4096差异512采样4096采样 渲染建议 我个人的Blender专栏 Blender简单教学 前言 渲染是从白模到成品的过程&…

go 爬虫速度控制

go 爬虫速度控制 使用go语言用原生net/http写爬虫如何优雅的控制并发和请求速度控制并发限流并发和限流的区别简单说明有了并发控制为什么还要限流 最总代码 使用go语言用原生net/http写爬虫如何优雅的控制并发和请求速度 go程序的执行效率相对python要快的多,且占…

货币政策和汇率波动——使用Python进行量化分析

货币政策和汇率波动是国际贸易和投资中的重要问题,对于投资者来说具有重要的影响。本文将介绍如何使用Python进行量化分析,以揭示货币政策和汇率波动之间的关系。 一、货币政策与汇率波动 货币政策作为国家宏观调控的一种手段,对汇率波动具…

ELK-日志服务【logstash-安装与使用】

目录 【1】安装logstash logstash input 插件的作用与使用方式 【2】input --> stdin插件:从标准输入读取数据,从标准输出中输出内容 【3】input -- > file插件:从文件中读取数据 【4】input -- > beat插件:从filebe…

赛效:如何用在线压缩GIF图片

1:在电脑网页上打开并登录快改图,点击左侧菜单栏里的“GIF压缩”。 2:点击页面中间的上传按钮,将电脑本地的GIF文件上传上去。 3:GIF文件上传成功后,设置下方压缩设置,点击右下角“开始压缩”。…

学习记录——Transformer、ViT、Swin-Transformer、SegFormer、TopFormer、Seaformer

Transformer 2017 Computation and Language Google Self-Attention、Multi-Head Attention 位置编码 原理参考链接 ransformer网络结构: ViT 2020 ICLR 将transformer引入到cv领域 将输入图片224x224x3按照16x16x3大小的Patch进行划分,接着通过…

Prometheus监控Tongweb容器

🏅概述 JMX Exporter主要是利用Java的JMX机制来读取JVM运行时的一些数据,然后转化为Prometheus可读取的metrics格式的数据。 JMX Exporter有两种用法: 启动独立进程。通过RMI读取JVM数据,但是单独进程监控也存在问题。JVM进程内启…

告别固定字体大小:CSS使用相对单位提升网页可访问性和兼容性

在 Web 开发领域中,有很多误解流传,即使它们被反驳了很多次也仍然存在。"外部链接应该总是在新标签页中打开" 就是一个很好的例子。CSS Tricks 在将近十年前就对此进行了详细的解释(简而言之:大多数情况下是错误的&…

华为、阿里巴巴、字节跳动 100+ Python 面试问题总结(三)

系列文章目录 个人简介:机电专业在读研究生,CSDN内容合伙人,博主个人首页 Python面试专栏:《Python面试》此专栏面向准备面试的2024届毕业生。欢迎阅读,一起进步!🌟🌟🌟 …

R中高效安装包,以ComplexHeatmap包为例

包安装问题解决方案 1. Biocmanager安装 [2. 手动安装](正在更新……) 目录 包安装问题解决方案前言1. install.packages()的介绍1.1 install.packages()的工作原理1.2 install.packages()安装失败的原因1.3 解决方案 2. BiocManage安装ComplexHeatmap总…

Android 中利用多个Button组合实现选项切换效果

效果图&#xff1a; xml布局: <LinearLayoutandroid:orientation"horizontal"android:layout_width"match_parent"android:layout_height"50dp"android:gravity"center"android:background"color/White">​<Linear…