记一次修复LVM记录
>
在一次服务器重启以后有一块PV变成了 Unknown device,于是去网上查看资料自己试着修复,修复记录如下;
修复这个问题有俩种方法:
方法一:不要这块盘(这种方法会丢数据,在生产环境不建议用这种方法)
[root@fanxq ~]# pvs --通过PVS查看pv的状态发现有一块提示Unknown device
WARNING: Device for PV D1LLfT-3Hle-NbrP-5165-Q6WR-2UWF-2xEIR3 not found or rejected by a filter.
PV VG Fmt Attr PSize PFree
/dev/xvda2 vg1 lvm2 a-- 79.51g 23.62g
/dev/xvdb lvm2 --- 250.00g 250.00g
unknown device vg1 lvm2 a-m 250.00g 250.00g
[root@fanxq ~]# vgs --在查看VG状态发现也是提示丢失一块PV
WARNING: Device for PV D1LLfT-3Hle-NbrP-5165-Q6WR-2UWF-2xEIR3 not found or rejected by a filter.
VG #PV #LV #SN Attr VSize VFree
vg1 2 2 0 wz-pn- 329.50g 273.62g
[root@fanxq ~]# vgreduce --removemissing /dev/vg1 --从VG中去除PV unknown device
--采用 vgreduce --removemissing /dev/VolGroup00 命令去除未知或已丢失的VG
WARNING: Device for PV D1LLfT-3Hle-NbrP-5165-Q6WR-2UWF-2xEIR3 not found or rejected by a filter.
WARNING: Device for PV D1LLfT-3Hle-NbrP-5165-Q6WR-2UWF-2xEIR3 not found or rejected by a filter.
Wrote out consistent volume group vg1
[root@fanxq ~]#
[root@fanxq ~]# pvs --在次查看VG的时候已经没有那块PV了
PV VG Fmt Attr PSize PFree
/dev/xvda2 vg1 lvm2 a-- 79.51g 23.62g
/dev/xvdb lvm2 --- 250.00g 250.00g
[root@fanxq ~]#
方法二:找回unknown的pv盘,一般是用这种方法,第一种删除以后会丢数据。
Linux的LVM会默认存储用户对PV/VG/LV的每一步操作,并自动把当前的VG的信息备份到一个文件里面,位置是/etc/lvm/backup/VG名。
这个文件里面记录的东西大概跟vgdisplay/pvdisplay/lvdisplay输出的信息一致,里面也包括了对于恢复VG信息至关重要的PVUUID。
这个文件记录的信息大概就相当于整个VG的元数据,这个文件非常重要,我们就是通过这个文件来恢复整个VG的信息的。(VG卷组centos里面包含的2个PV信息,pv的id device;找到这些信息下面就是通过这些信息来进行恢复;)
[root@localhost]# pvcreate /dev/sda5 -u X4xYDe-VSiw-Gzh3-Ih78-dC08-xBKF-tGWc5s --restorefile /etc/lvm/backup/centos
// 使用原来的PV UUID来创建PV,并使用自动备份的文件来恢复信息
[root@localhost]# vgcfgrestore datavg // 恢复datavg的vg信息
[root@localhost]# vgs && pvs && lvs
完事之后激活一下VG卷
root@localhost]vgchange -ay centos