异常断电文件损坏docker服务异常处理

问题场景

  • 我们在某地部署信控平台,当初是在产品研发早期,采取的还是Windows服务器部署虚拟机的方式
  • 使用virtualbox导入centos7虚拟机,虚拟机里运行docker服务,使用docker-compose统一管理
  • 客户今天上午反馈,昨天断电了两次,平台没有自动重启没有启动起来,收到执行启动命令也卡主不动
  • 卡主的位置,对应的一条语句是docker network create signal-network,创建网络
    在这里插入图片描述

解决

container

  • 看着页面卡主了,检查了下内存占用和磁盘空间,都没问题,重复执行还是卡主
  • 首先让维保人员,把虚拟机关掉,又重启了一次,毕竟重启解决大部分问题
  • 重启后,还是不行,然后怀疑docker服务有问题,执行docker -v 发现也没反应,还是卡主,确定是docker服务有问题了
    在这里插入图片描述
  • 执行docker服务的重启命令systemctl restart docker,还是不行
  • 想着要先想办法把docker关掉,再启动试试,于是试着分开命令执行,还是不行
systemctl stop docker
systemctl stop docker.socket
systemctl stop docker.service
systemctl stop docker
systemctl restart docker
  • 使用 journalctl - xe查看报错信息,发现containerd没启动起来,使用命令systemctl status containerd也是一样,加上-l查看详细信息
    在这里插入图片描述
  • 这个时候知道事情不简单了,感觉应该是断电导致文件损坏了,先去网上搜索下,解决这个containerd
  • 异常断电,文件损坏,一般都是正在读写的文件,于是按照搜索结果,删除containerd的文件夹里的文件执行命令,containerd 可以了
rm -rf /var/lib/containerd/*
systemctl restart containerd

在这里插入图片描述

docker服务

  • 继续执行docker服务的重启命令systemctl restart docker,还是不行,头大,卡在了启动过程systemctl docker activating (start) ,一直启动不起来
    在这里插入图片描述

  • 感觉像是启动过程中卡主卡死了,于是想着把进程ps -ef|grep docker直接干掉kill -9 xxx xxx ...,再启动试试,还是不行

  • 想着containerd 都解决了,也是实在不想重装虚拟机,就继续搜索解决。systemctl status docker -l继续查看详细报错信息
    -
    在这里插入图片描述

  • 想着是不是网络问题,搜索结果里也有些说是防火墙影响的,先关闭防火墙systemctl stop firewalld,重启虚拟机,再启动docker解决,我试了下,不行

  • 此时docker -v可以了,有输出了,以为好了,很高兴

  • 试了下其他命令如docker images,还是不行,会报错Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon
    在这里插入图片描述

  • systemctl status docker -l查看status,发现新的报错start request repeated too quickly for docker.service
    在这里插入图片描述

  • 使用journalctl -u docker.service继续查看更详细的日志,发现启动某个容器时报错了,就去把容器文件夹都删了,还是不行

  • 没招了,重装系统是不可能的,就把docker卸载了,然后重装,可以了

rm -rf /var/lib/dockeryum remove docker-ce docker-ce-cli containerd.iorm -rf /etc/docker
rm -rf /etc/systemd/system/docker.service.d
  • 此处还有两个小插曲,一是可能没删干净,准备的rpm包,不能使用命令rpm -ivh *.rpm一次性安装完成,只能一个个执行
  • 第二是,这种重装会将已有的镜像和容器全部删干净,如果没有备份镜像或将可变数据映射到本地卷,数据就会丢失了
  • 我们所有要的数据,都映射到其他目录了,所以可以放心删除和重装,镜像也都有现成的,重新装载即可

数据库服务

  • docker搞定后,发现PostgreSQL数据库文件也损坏了,数据库启动不了,找不到 checkpoint
    在这里插入图片描述

  • 幸好,我每天都对数据库文件夹全量备份,删掉现有的,还原即可

  • 坑爹的是,第一次还原时,忘了把数据库停掉,还原的文件也不对,只好重来

  • 数据库关闭,文件夹情况,还原备份文件,搞定

后续

  • 异常断电,容易造成损坏,Windows服务器套虚拟机更是如此,一定要做好备份工作
    在这里插入图片描述
    在这里插入图片描述

  • 下次如果再出问题,导出一份数据库后,直接还原到这个日期就行

  • 再把数据库也导进去,就是最新状态了(其他缓存和队列里的数据无所谓)

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图文详解 VCF 生信格式 (变异信息)

文章目录 一、vcf 格式介绍二、vcf 资源文件三、vcf 文件详解3.1 主要字段3.2 INFO 中的常见信息3.3 FORMAT 和 SAMPLEs 中的信息 四、vcf 的记录模式4.1 只记录变异本身的信息4.2 记录个体或个体组织的变异信息4.3 记录群体或家系的变异信息 五、记录标准5.1 记录多核苷酸多样…

策略模式(Stragedy)

简介 策略模式将策略(方法)与实体类相分离,使用聚合/组合替代继承。 思想:少用耦合性高的继承,尽量用聚合/组合来代替。 优点:将策略独立于实体类,策略的实现更加灵活,易于理解扩展…

辐射骚扰整改思路及方法:方案合并与原理探究 ?|深圳比创达电子EMC

一、方案合并 将EMI滤波器(选择了231,是因为额定直流电流相比421更大)和RC电路(10Ω2200pF)合并到产品上,再行测试,堪称完美!至此,辐射整改完成。 图1 最终测试结果 231…

【链接装载与库】动态链接(下)

动态链接 》上篇《 延迟绑定 (PLT) 动态链接的确有很多优势,比静态链接要灵活得多,但它是以牺牲一部分性能为代价的。主要原因是动态链接下对于全局和静态的数据访问都要进行复杂的GOT定位,然后间接寻址;对于模块间的调用也要先…

Python高级语法----深入理解Python协程

文章目录 什么是协程?Python中的协程基本示例协程和事件循环总结Python协程是一种非常强大的并发编程概念,让你能够高效地处理多任务。协程在Python中的使用已经变得越来越流行,特别是在异步编程中。本文将用通俗易懂的语言来介绍协程的概念,并提供实际的代码示例和执行结果…

javascript 操作mysql数据库

目录 一:Javascript访问MYSQL 二:JavaScript中操作Mysql数据库实例 一:Javascript访问MYSQL 1、下载MYSQL的ODBC连接 2、在JS中建立ODBC连接如下: var con new ActiveXObject("ADODB.Connection"); con.Connection…

JS加密/解密之你是否真的明白xss

摘要:跨站脚本攻击(XSS)是当前Web应用程序中最常见的安全威胁之一。本文通过综合分析XSS攻击的原理和特点,提出了一系列全面的防御策略,包括输入验证和过滤、输出编码以及Content Security Policy(CSP&…

护眼灯买哪种好,五款热门专业护眼台灯推荐

护眼台灯的光照一般比较均匀,相比普通台灯,一般具有防蓝光、防频闪等功能,能够提供一个健康舒适的学习、生活灯光环境,建议选购内置智能感光模式的护眼台灯,以确保灯光亮度一直处于均衡状态,让眼睛更轻松。…

查看apk签名

cmd 命令: keytool -v -list -keystore "E:\xxx\release.jks"

浅谈蒙牛乳业有限公司变压器配电系统改造项目的应用

Application of power management system in transformer distribution system Renovation project of Inner Mongolia Meng Niu Dairy (Group) Co., Ltd. 摘要:本文介绍蒙牛乳业(当阳)有限公司低压系统改造电力监控系统,采用智能…

尚硅谷大数据项目《在线教育之实时数仓》笔记006

视频地址:尚硅谷大数据项目《在线教育之实时数仓》_哔哩哔哩_bilibili 目录 第9章 数仓开发之DWD层 P041 P042 P043 P044 P045 P046 P047 P048 P049 P050 P051 P052 第9章 数仓开发之DWD层 P041 9.3 流量域用户跳出事务事实表 P042 DwdTrafficUserJum…

11.9树的表示方法(孩子,父亲,孩子兄弟),树、森林的遍历,一些操作,决策树,前缀树

父亲表示法 优缺点:利用了树中除根结点外每个结点都有唯一的父节点这个性质,很容易找到树根,但是找孩子需要遍历整个线性表。 最近公共祖先 第一种方法,找路径然后比较 如果是搜索树,可以二分查找 不是,…

计算机网络期末复习-Part1

1、列举几种接入网技术:ADSL,HFC,FTTH,LAN,WLAN ADSL(Asymmetric Digital Subscriber Line):非对称数字用户线路。ADSL 是一种用于通过电话线连接到互联网的技术,它提供…

RabbitMQ集群

RabbitMQ概述 1.RabbiMQ简介 RabbiMQ是⽤Erang开发的,集群⾮常⽅便,因为Erlang天⽣就是⼀⻔分布式语⾔,但其本身并不⽀持负载均衡。支持高并发,支持可扩展。支持AJAX,持久化,用于在分布式系统中存储转发消…

excel中超级表和普通表的相互转换

1、普通表转换为超级表 选中表内任一单元格,然后按CtrlT,确认即可。 2、超级表转换为普通表 选中超级表内任一单元格,右键,表格,转换为区域,确定即可。 这时虽然已经变成了普通表,但样式没有…

vue3怎么获取el-form的元素节点

在元素中使用ref设置名称 在ts中通过从element-plus引入formInstance,设置formRef同名名称字段来获取el-form节点

flutter笔记:骨架化加载器

flutter笔记 骨架化加载器 - 文章信息 - Author: Jack Lee (jcLee95) Visit me at: https://jclee95.blog.csdn.netEmail: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/article/details/134224135 【介绍】:本文介…

OpenCV 输出文本

PutText() 输出文本 OpenCV5 将支持中文字符的输出, 当前版本OpenCV4原生不支持, 可以使用Contrib包FreeType方式实现, 不过比较麻烦.为了省事, 也可以通过将Mat转成bitmap,然后使用GDI方式输出中文字符. 示例代码 /// <summary>/// OpenCV暂时不能支持中文字符输出,显示…

Qt 继承QAbstractListModel实现自定义ListModel

1.简介 QAbstractListModel是Qt框架中的一个抽象类&#xff0c;用于实现数据模型&#xff0c;用于在Qt的视图组件中展示和编辑列表数据。与QAbstractTableModel类似&#xff0c;它也是一个抽象类&#xff0c;提供了一些基本的接口和默认实现&#xff0c;可以方便地创建自定义的…