LVM重启后找不到文件分区

简介: LVM重启后找不到文件分区

原因

创建好LVM后,将LVM当做一个设备,又新建了一个分区,将LVM上的分区格式化后使用。
在重启后系统只能找到LVM找不到LVM上的分区。

解决方案

使用testdisk 来找回分区。

testdisk /dev/mapper/data-data`

找到保存分区后,执行partprobe 来扫描分区(重启就会又不见了)

partprobe /dev/mapper/data-data

建议

后续使用磁盘直接分区,不使用逻辑卷,在云服务器上单磁盘使用LVM 无任何优势,而且管理也麻烦。
LVM丢失的恢复

起因

LVM 上分区data-data1 重启后消失,在找回分区时应该使用testdisk /dev/mapper/data-data
但是误操作testdisk /dev/vdb , 而且扫描到了一个分区(可以看到磁盘上数据),并将分区/dev/vdb1 ❶信息写入磁盘。操作完成后发现有误,使用
testdisk /dev/mapper/data-data
来找回data-data1 测试并挂载到/mnt 下可以看到数据。为了验证问题 重启ECS,结果发现 /dev/mapper/data-data 和/dev/mapper/data-data1 都消失了。

思考

机器内原本没有vdb1只有vdb ,将vdb 制成pv,而扫描vdb 发现的分区实际上是 data-data1
将data-data1 分区写入到vdb 后多了vdb1,这导致重启后LVM 找不到vdb ,从而报错。
而由于vdb 上文件系统也不是直接在vdb 上创建的,所以vdb1 也不能挂载(superblock 错误)
如果执行fsck vdb1 ,也许可以解决这个问题❷

解决

LVM创建成功后,都会在/etc/lvm/backup 下备份配置信息
在这个case中 备份名为/etc/lvm/backup/data
less /etc/lvm/backup/data #查看pv0 的配置

image.png
记录下pv0 的 id
执行下面命令恢复

pvcreate /dev/sdb -u qdJSB3-pjMo-KI5z-PzkU-zmHb-Gyol-2Tc60v --restorefile /etc/lvm/backup/data

-u 后面的“qdJSB3-pjMo-KI5z-PzkU-zmHb-Gyol-2Tc60v”是pv0 id
执行这个命令后报错:
Device /dev/vdb excluded by a filter.
翻阅相关的文档,都是说是已经有了分区表导致无法识别或者lvm.conf 中设置了filter 导致的。
但是翻看配置文件,发现并未启用global filter ,判断是我操作出错多了vdb1导致的,使用fidisk 删除vdb1
重新执行pvcreate
然后恢复vg 、激活vg

vgcfgrestore data
vgchange -ay data-data

激活后
/dev/mapper/data-data 回来了,但是缺少分区 data-data1
使用testdisk 找回分区

testdisk  /dev/mapper/data-data
fsck -y /dev/mapper/data-data1   #前面写入vdb1 导致分区有错误需要fsck

❶ vdb上找到的分区是vdb 上的lvm 的分区,直接写入分区到vdb 是错误的,分区仍然无法识别
❷ fsck /dev/vdb1 也许能解决这个vdb1 不能使用的问题但是未做测试。

目录
相关文章
|
存储 Linux
Linux系统LVM信息丢失处理方法
Linux的LVM会存储用户对PV/VG/LV的每一步操作,并自动把当前的VG的信息备份到一个文件里面,该文件为/etc/lvm/backup/VG名,本文描述了当信息丢失时如何找回的处理方法。
10384 60
Linux系统LVM信息丢失处理方法
|
Web App开发 弹性计算 负载均衡
阿里云acp考试时间、内容?阿里ACP认证考试有什么经验?
阿里acp认证考试有什么经验?众所周知,阿里云针对不同云产品类别、用户行业、用户成长阶段,精心打造不同的认证考试。阿里云认证分为四级ACF、ACP、ACA、ACM。拿到阿里云证书即使以后从业相关行业都可以拿到高新、以及相关行业的专业资格
2063 0
阿里云acp考试时间、内容?阿里ACP认证考试有什么经验?
|
人工智能 开发框架 Java
重磅发布!AI 驱动的 Java 开发框架:Spring AI Alibaba
随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 LangChain、LlamaIndex 等开发框架,但大部分框架只提供了 Python 语言的实现。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言,并非十分友好和丝滑。因此,我们基于 Spring AI 发布并快速演进 Spring AI Alibaba,通过提供一种方便的 API 抽象,帮助 Java 开发者简化 AI 应用的开发。同时,提供了完整的开源配套,包括可观测、网关、消息队列、配置中心等。
7080 120
|
Java 应用服务中间件 Windows
2022年最新最详细的tomcat安装教程和常见问的解决
这篇文章提供了2022年最新最详细的Tomcat安装教程,包括离线安装包的获取、官网下载步骤、JDK版本检查、环境变量配置,以及解决安装过程中可能遇到的常见问题,如乱码等。
2022年最新最详细的tomcat安装教程和常见问的解决
|
Kubernetes Ubuntu jenkins
超详细实操教程!在现有K8S集群上安装JenkinsX,极速提升CI/CD体验!
超详细实操教程!在现有K8S集群上安装JenkinsX,极速提升CI/CD体验!
|
Ubuntu
Ubuntu 22.04上构建libvirt源码错误解决
Ubuntu 22.04上构建libvirt源码错误解决
501 1
|
运维 安全 Linux
Softether详解(一)——V*N与softether概述
Softether详解(一)——V*N与softether概述
754 3
|
Web App开发 测试技术
从零基础到精通,抓包神器fiddler保姆级使用教程(一)
Fiddler是一款强大的Web代理调试工具,用于记录、检查HTTP/HTTPS请求,支持断点、数据篡改、性能统计、接口测试等。它在客户端与服务器间作为代理,帮助识别和解决问题。安装流程包括访问官网下载Fiddler Classic,按照提示进行安装,并可在安装目录或桌面快捷方式启动程序。Fiddler适用于接口调试、性能分析和线上环境问题排查等场景。
|
弹性计算 缓存 数据挖掘
阿里云通用算力型u1云服务器配置性能评测及价格参考
阿里云通用算力型u1云服务器是企业级云服务器规格,通用算力型u1实例规格的云服务器提供2c-32c规格和1:1/2/4/8丰富配比,因此,通用算力型u1实例既有2核2G、2核4G这种配置可选,也有2核8G、2核16G这种配置可选,通用算力型u1实例云服务器是阿里云各个活动中价格最便宜的,下面小编分享通用算力型u1实例的配置、性能评测及优惠信息,看看这个实例的阿里云服务器是否值得购买。
阿里云通用算力型u1云服务器配置性能评测及价格参考
|
Linux Shell
umount卸载根目录,xfs_repair修复根分区
umount卸载根目录,xfs_repair修复根分区
2789 0