LVM丢失恢复

简介: LVM丢失恢复


LVM 上分区data-data1 重启后消失,在找回分区时应该使用testdisk /dev/mapper/data-data

但是误操作testdisk /dev/vdb  , 而且扫描到了一个分区(可以看到磁盘上数据),并将分区/dev/vdb1 信息写入磁盘,但是发现无法正常挂载而且在重启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 错误)


解决


LVM创建成功后,都会在/etc/lvm/backup 下备份配置信息,尝试使用备份来恢复pv。

在这个case中 备份名为/etc/lvm/backup/data

less/etc/lvm/backup/data#查看pv0 的配置


记录下pv0 的 id


执行下面命令恢复

pvcreate /dev/vdb -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 ,判断是我操作出错将分区写vdb后多了vdb1导致的,使用fidisk 删除vdb1


重新执行上面pvcreate 命令然后恢复vg 、激活vg

vgcfgrestore data
vgchange -ay data-data

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

使用testdisk 找回分区

testdisk  /dev/mapper/data-data  
# 找到保存分区后,执行partprobe 来扫描磁盘通知内核重载分区表partprobe /dev/mapper/data-data
fsck -y /dev/mapper/data-data1   #前面写入vdb1 导致分区有错误需要fsck


建议


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


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

相关文章
|
存储 Linux
Linux系统LVM信息丢失处理方法
Linux的LVM会存储用户对PV/VG/LV的每一步操作,并自动把当前的VG的信息备份到一个文件里面,该文件为/etc/lvm/backup/VG名,本文描述了当信息丢失时如何找回的处理方法。
10340 60
Linux系统LVM信息丢失处理方法
|
存储 SQL 分布式计算
开源大数据比对平台设计与实践—dataCompare
开源大数据比对平台设计与实践—dataCompare
442 0
|
SQL 分布式计算 MaxCompute
ODPS-0130161:Parse exception - line 1:0 cannot recognize input near 'setproject' 'odps'
ODPS-0130161:Parse exception - line 1:0 cannot recognize input near 'setproject' 'odps'
1173 2
|
网络协议 应用服务中间件 nginx
解决 nginx 启动错误host not found in upstream "XXXX.com“
在前置机上利用nginx进行反向代理的时候,我们会配置proxy_pass。在启动nginx的会报如下错误:host not found in upstream "XXXX.com“
5455 0
|
Linux 数据处理 Perl
深入探索Linux中的`more`命令
`more`命令是Linux下的文本查看器,适合查看长文件,分页显示内容,支持交互操作如空格(下一页)、回车(下一行)、q(退出)。参数包括:+<num>从指定行开始,/-<num>跳过行,/pattern搜索模式。示例:查看日志`more /var/log/syslog`,从第1000行开始`more +1000 file`,搜索关键词`more /var/log/syslog +/ERROR`。大文件可考虑使用`less`。结合`grep`等命令增强功能。
|
Linux 数据安全/隐私保护 虚拟化
【复盘】记一次LVM元数据丢失的恢复过程
【复盘】记一次LVM元数据丢失的恢复过程
460 0
|
10月前
|
网络协议 前端开发 API
HTTP 和 TCP 协议的应用场景有哪些不同
【10月更文挑战第25天】HTTP(超文本传输协议)和 TCP(传输控制协议)处于网络协议栈的不同层次,各自具有独特的功能和特点,因此它们的应用场景也存在明显的差异。
|
资源调度 前端开发 JavaScript
秒懂 Yarn:从安装配置到高效使用的全攻略
秒懂 Yarn:从安装配置到高效使用的全攻略
|
Linux
CentOS 7 配置yum阿里源 (三步即可)
CentOS 7 配置yum阿里源 (三步即可)
23817 1
|
网络协议 安全 分布式数据库
技术分享:分布式数据库DNS服务器的架构思路
技术分享:分布式数据库DNS服务器的架构思路
245 0