arm环境vg损坏mysql数据库恢复---惜分飞

news/2025/10/10 9:32:20/文章来源:https://www.cnblogs.com/xifenfei/p/19132383

联系:手机/微信(+86 17813235971) QQ(107644445)QQ咨询惜分飞

标题:arm环境vg损坏mysql数据库恢复

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

国庆节期间接到朋友咨询,原先在vg中的磁盘被重新pvcreate了,想恢复原磁盘中的mysql数据库
pvcreate


通过分析系统的history日志,发现操作不是简单的pvcreate,我简单梳理下操作步骤
故障之前磁盘情况

 

[root@0002 ~]# lsblk
NAME                  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                    11:0    1 1024M  0 rom 
vda                   253:0    0  200G  0 disk
├─vda1                253:1    0  600M  0 part /boot/efi
├─vda2                253:2    0    1G  0 part /boot
└─vda3                253:3    0 38.4G  0 part
  ├─klas-root         252:0    0 34.4G  0 lvm  /
  └─klas-swap         252:1    0    4G  0 lvm  [SWAP]
vdb                   253:16   0 1000G  0 disk
└─vdb1                253:17   0  500G  0 part
  └─mysql-mysql--mycg 252:2    0  500G  0 lvm  /mysql

这里可以看到出来vdb磁盘一共1000G,分区vdb1 为500G,然后这500G加入到vg中并分配了lv.

vdb磁盘现状

[root@0002 mysql]# lsblk /dev/vdb
NAME                  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vdb                   253:16   0 1000G  0 disk
└─vdb1                253:17   0 1000G  0 part
 
Disk /dev/vdb: 1000 GiB, 1073741824000 bytes, 2097152000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5a6aaeee
 
Device     Boot Start        End    Sectors  Size Id Type
/dev/vdb1        2048 2097151999 2097149952 1000G 8e Linux LVM

这里基本上可以确定,vdb1磁盘分区从以前的500G变成了1000G(也就是说被重新分区了,后续和现场沟通确认进行了重新分区操作)


通过history日志追述大概的操作过程

 

898  [2025-09-28 11:55:13][root]fdisk -l
899  [2025-09-28 11:55:21][root]df -h
900  [2025-09-28 11:56:41][root]lsblk
901  [2025-09-28 11:59:44][root]fdisk /dev/vdb
902  [2025-09-28 12:00:46][root]partprobe /dev/vdb
903  [2025-09-28 12:00:50][root]pvresize /dev/vdb1
904  [2025-09-28 12:00:56][root]df -h
905  [2025-09-28 12:01:25][root]vgdisplay mysql
906  [2025-09-28 12:01:40][root]lsblk
907  [2025-09-28 12:02:05][root]sudo partprobe /dev/vdb
908  [2025-09-28 12:02:10][root]pvresize /dev/vdb1
909  [2025-09-28 12:02:27][root]sudo pvresize /dev/vdb1
910  [2025-09-28 12:03:07][root]sudo pvcreate /dev/vdb1
911  [2025-09-28 12:03:22][root]sudo pvscan
912  [2025-09-28 12:03:30][root]sudo pvdisplay
913  [2025-09-28 12:05:37][root]parted /dev/vdb
914  [2025-09-28 12:06:11][root]pvresize /dev/vdb1
915  [2025-09-28 12:06:15][root]lsblk
916  [2025-09-28 12:09:48][root]lvextend -l +100%FREE /dev/mysql/mysql--mycg
917  [2025-09-28 12:10:00][root]cd /dev/mysql/
918  [2025-09-28 12:10:01][root]ll
919  [2025-09-28 12:10:20][root]pwd
920  [2025-09-28 12:10:32][root]lvextend -l +100%FREE /dev/mysql/mysql-mycg
921  [2025-09-28 12:10:55][root]lsblk /dev/vdb

基本上可以确定9月28日先进行了fdisk分区操作,然后尝试pvresize 操作[应该不会成功,因为重新分区导致pv信息丢失],然后进行了pvcreate之后再次进行parted分区操作,再pvresize,lvextend操作[同理pv信息丢失应该不会成功],然后10月5日继续进行的部分操作

956  [2025-10-05 08:29:27][root]umount /mysql
957  [2025-10-05 08:29:38][root]lsof /mysql
958  [2025-10-05 08:29:58][root]service mysqld stop
959  [2025-10-05 08:30:02][root]umount /mysql
960  [2025-10-05 08:30:05][root]lsof /mysql
961  [2025-10-05 08:30:23][root]cd /
962  [2025-10-05 08:30:25][root]umount /mysql
963  [2025-10-05 08:30:34][root]pvcreate --force /dev/vdb1
964  [2025-10-05 08:30:47][root]vgextend mysql /dev/vdb1
965  [2025-10-05 08:31:02][root]df -h
966  [2025-10-05 08:31:33][root]pvdisplay /dev/vdb1
967  [2025-10-05 08:31:41][root]pvcreate --force /dev/vdb1
968  [2025-10-05 08:32:11][root]lvs | grep mysql-mysql--mycg
969  [2025-10-05 08:32:19][root]dmsetup ls | grep mysql
970  [2025-10-05 08:32:38][root]fuser /dev/vdb1
971  [2025-10-05 08:32:41][root]lsof /dev/vdb1
972  [2025-10-05 08:32:50][root]pvcreate --force /dev/vdb1
973  [2025-10-05 08:33:14][root]reboot
974  [2025-10-05 08:36:23][root]pvcreate --force /dev/vdb1
975  [2025-10-05 08:36:47][root]lvdisplay /dev/mapper/mysql-mysql--mycg
976  [2025-10-05 08:36:53][root]vgextend mysql /dev/vdb1
977  [2025-10-05 08:37:10][root]lvextend -l +100%FREE /dev/mysql/mysql--mycg

初步看,应该是先尝试umount /dev/vdb1,但是没有成功,然后直接reboot重启了主机,起来之后,进行了pvcreate[操作成功],vgextend,lvextend等操作[失败,因为vg里面的之前的pv信息已经丢失],而且之前lv无法mount成功,数据库文件/备份均在这个lv里面,而且从库很久之前没有正常同步.基于这样的情况,就一定要对vdb磁盘中数据进行恢复.查看操作系统信息,确认是arm系统
arm


由于arm系统一般工具均无法正常解析,只能让客户把磁盘挂载到x86环境进行处理,通过专业恢复工具解析,运气不错可以直接读取数据
m1

传输数据到客户服务器中,并成功启动mysql,客户测试业务没有任何问题,数据完整恢复
2

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

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

相关文章

2025 年国内连接器厂商最新推荐排行榜:聚焦 Type-C / 板对板等核心品类,精选优质企业助力下游选型针座/板对板/卡座/FPC/排针连接器厂家推荐

当前电子产业加速升级,连接器作为设备信号与电力传输的核心部件,其品质直接决定终端产品稳定性与用户体验。但市场上品牌数量繁杂,部分厂商为压缩成本简化品控,导致产品频繁出现接触不良、抗干扰能力差等问题,不仅…

Linux设置分辨率(临时)

Linux设置分辨率(临时)xrandr 查看命令输出,当前正在使用的分辨率旁会有一个星号(*)标记,当前连接且启用的显示器旁会标记为 "connected" 并显示其分辨率。例如,在 HDMI-0 connected primary 1920x1080…

git克隆代码保留提交记录,从源仓库迁移到新仓库地址

git克隆代码保留提交记录,从源仓库迁移到新仓库地址在 Git 中迁移代码并保留完整的提交历史记录,可以通过以下几种方法实现,具体选择取决于源仓库和目标仓库的访问权限、是否需要重写历史(如修改提交信息或作者信息…

MySQL从入门到熟练查询

MySQL 作为世界上最流行的开源关系型数据库,是我们每一位码农、数据分析师乃至产品经理都应掌握的核心工具。它以其高性能、高可靠性和易用性而闻名。掌握其基础知识,是通往后端开发、数据科学等领域的必经之路。 我…

MySQL笔记8 - 指南

MySQL笔记8 - 指南2025-10-10 09:12 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-fam…

Elasticsearch 备份:方案篇

在 Elasticsearch 集群的日常运维中,制定完善的数据备份与恢复策略是保障业务连续性和数据安全的基石。在本文中,我们将探讨 ES 各类备份方案的实现逻辑,对比各自方案的优劣势,归纳它们适合的场景1. 为什么要备份 …

Atcoder Beginner Contest 422

ABC422A 按照题意输出即可。 /*********************************************************************程序名:作者: xAlec日期: 2025-10-01 15:45说明: sakana ~ *************************************************…

【Android】解决安卓在隐藏强大的系统栏后usb鼠标被隐藏的疑问

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

centos安装libgdiplus-6.1

centos安装libgdiplus-6.1参考:https://chat.deepseek.com/share/fhak78p0eprkm8reeh 源码:# 从Mono官方下载完整源码包 wget https://download.mono-project.com/sources/libgdiplus/libgdiplus-6.1.tar.gz tar -xz…

RapidJSON 自定义内存分配器详解与实战 - 详解

RapidJSON 自定义内存分配器详解与实战 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &q…

完整教程:考研408计算机网络第47题(2024年)

完整教程:考研408计算机网络第47题(2024年)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &q…

进步与现代化

线性方程组 线性无关、系数矩阵行列式、解的情况 简化行阶梯型矩阵:主元全 \(1\),所在行左侧全 \(0\),所在列剩余全 \(0\) 生成子空间:\(\langle A\rangle\),线性表出の所有向量 \(A\) 线性无关 \(\Longleftright…

2025 最新推荐!溴化锂回收公司精选榜单:含制冷机 / 溶液 / 机组回收服务商权威测评及选择指南

随着工业与商业领域溴化锂制冷设备迭代加速,老旧设备处置需求激增,但市场仍存在服务标准混乱、环保措施缺失、技术能力参差不齐等痛点。部分机构拆解流程不规范,既造成铜、铝等资源浪费,又易因溴化锂溶液泄漏引发污…

使用OpenCvSharp , Emgu.CV 手搓 视觉识别算法 以及 成果展示

举个🌰 一个培养皿里有若干条鱼苗,需要将它全部区分识别出来, 像如下图所示的小蝌蚪就是(培养皿里三个黑点是热带鱼苗,做实验用的,一毫米长) 用的是海康威视的黑白工业相机拍摄。 先讲讲思路,图片是一组庞大的…

PKC7300高频电流探头在新能源汽车车载充电机稳态电流测试中的应用方案

一、应用背景 新能源汽车车载充电机(OBC)是将外部电网电能转换为车载动力电池电能的关键部件。在工作过程中,它需要处理0-300A的电流,而其内部的高频开关电路容易产生干扰信号。因此,对电流测量的量程、高频信号捕…

质量检验知识专题讲座之六:抽样检验步骤

抽样检验步骤抽样检验是从一批产品中随机抽取部分样本进行检验,再根据样本结果判断整批产品是否合格的过程,主要步骤如下: 1)、确定抽样检验的对象和目的 明确需要检验的产品批次、检验的质量特性(如尺寸、性能、…

羡慕线段树

顺颂 YFST 板子 & 使用例 题。首先树剖,然后变成在 \(\text{dfn}\) 区间上插一个关于 \(\text{dis}\) 的一次函数。这个很神奇,一般的李超树是,在 \(x\) 轴区间上插入关于 \(x\) 的一次函数。然而这里,\(\text…

质量检验知识专题讲座之七:来料检验

来料检验(IQC)1、来料检验的定义: 来料检验是指对采购进来的原材料、部件或产品做品质确认和查核,即在供应商送原材料或部件时通过抽样的方式对品质进行检验,并最后做出判断该批产品是允收还是拒收。 来料检验是企业…

windows 10分区教程,win10自带分区教程

win10怎么分区?win10自带磁盘分区,有几个人会?win10磁盘分区 不需要任何软件,win10系统本身就有这个功能,下面开始操作 第一步 按快捷键【wins+X】的组合键,在弹出的选项中选择【磁盘管理】选项;如下图: ​​ …