LVM重启后分区无法识别挂载

简介: LVM重启后分区无法识别挂载

LVM重启后找不到文件分区

原因

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


解决方案

使用test 来找回分区。

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 的配置

记录下pv0 的 id

执行下面命令恢复

pvcreate/dev/vdb-uqdJSB3-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

vgcfgrestoredatavgchange-aydata-data


激活后

/dev/mapper/data-data 回来了,但是缺少分区 data-data1

使用testdisk 找回分区

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




❶ vdb上找到的分区是vdb 上的lvm 的分区,直接写入分区到vdb 是错误的,分区仍然无法识别

❷ fsck /dev/vdb1 也许能解决这个vdb1 不能使用的问题但是未做测试。

相关文章
|
并行计算 PyTorch 算法框架/工具
anaconda+pytorch+opencv安装及环境配置
anaconda+pytorch+opencv安装及环境配置
937 0
|
存储 Linux
Linux系统LVM信息丢失处理方法
Linux的LVM会存储用户对PV/VG/LV的每一步操作,并自动把当前的VG的信息备份到一个文件里面,该文件为/etc/lvm/backup/VG名,本文描述了当信息丢失时如何找回的处理方法。
10436 60
Linux系统LVM信息丢失处理方法
|
JSON 前端开发 JavaScript
layui介绍及入门基础(看我这篇就会了!!!)
layui介绍及入门基础(看我这篇就会了!!!)
566 0
|
8月前
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
267 10
|
运维 Serverless 数据处理
函数计算产品使用问题之ComfyUI界面没有显示Manager按钮是什么原因
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
8月前
|
存储 移动开发 JavaScript
网页 HTML 自动播放下一首音乐
在 HTML5 中实现自动播放下一首音乐,通过管理音乐列表、操作音频元素和监听事件完成。创建包含多个音乐链接的列表,使用 `<audio>` 元素加载音乐,监听 `ended` 事件,在当前音乐结束时自动播放下一首。示例代码展示了如何使用 JavaScript 实现这一功能,确保无缝切换音乐。
|
11月前
|
存储 druid 算法
磁盘管理工具
在Linux系统安装过程中,磁盘分区是一项重要步骤,可以通过Disk Druid、RAID、LVM等方式进行分区。此外,Linux还提供了fdisk、cfdisk、parted等分区工具。本文介绍了如何使用fdisk命令进行磁盘分区,包括创建、查看、删除分区以及格式化和挂载分区的具体操作步骤。通过这些步骤,可以有效地管理和优化磁盘资源,提高系统的安全性和性能。
369 2
|
存储 Linux 5G
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
这篇文章介绍了LVM(逻辑卷管理)如何提供灵活的磁盘管理方式,允许动态调整逻辑卷的大小而不会丢失数据。
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
|
存储 监控 Linux
如何在 CentOS 7 中进行磁盘分区和挂载,帮助读者掌握这一技能。
【10月更文挑战第9天】随着业务扩展和技术进步,服务器硬盘容量需求不断增加。本文通过具体案例,详细介绍如何在 CentOS 7 中进行磁盘分区和挂载,帮助读者掌握这一技能。假设有一台 CentOS 7 服务器,配备了一块 1TB 的未分配硬盘,我们将这块硬盘分成两个分区,分别用于存储日志文件和用户上传的文件。文章详细介绍了如何使用 `fdisk` 和 `mkfs` 命令进行分区和格式化,以及如何创建挂载点并永久挂载分区。此外,还提供了实践经验和注意事项,确保操作的安全性和有效性。
213 1
|
缓存 监控 测试技术
接口设计的18条军规:打造高效、可靠的API
【10月更文挑战第2天】在软件开发中,接口设计是连接不同模块、系统乃至服务的桥梁。一个优秀的接口设计不仅能提升开发效率,还能确保系统的稳定性和可扩展性。以下是接口设计的18条军规,旨在帮助你在工作和学习中设计出更加高效、可靠的API。
497 1