linux误删除分区造成lvm元数据丢失,其pvs\vgs\lvs等命令均无输出
背景
某客户使用fdisk命令进行分区,后误操作删除分区,使其lvm元数据丢失,其pvs\vgs\lvs等命令均无输出。
解决办法
一、恢复数据
如果LVM元数据丢失了,可以尝试通过LVM的备份和恢复工具来恢复。LVM会自动备份元数据,这些备份存储在 /etc/lvm/backup 和 /etc/lvm/archive 目录中。
步骤1:检查备份文件
首先,查看备份文件是否存在:
ls /etc/lvm/backup
ls /etc/lvm/archive
你应该能看到卷组名称对应的文件。这些文件包含LVM配置和元数据的备份信息。
步骤2:恢复元数据
可以使用 vgcfgrestore 命令恢复卷组的元数据。假设你的卷组名称为 my_vg,可以使用以下命令恢复:
vgcfgrestore my_vg
这将从默认的备份文件中恢复元数据。如果你需要使用特定的备份文件,可以指定其路径:
vgcfgrestore -f /etc/lvm/archive/my_vg_00000.vg my_vg
步骤3:重扫描物理卷和卷组
恢复元数据后,重新扫描物理卷和卷组:
pvscan
vgscan
步骤4:激活卷组
激活卷组以使其可用:
vgchange -ay my_vg
步骤5:检查逻辑卷和文件系统
此时,你应该能够看到并访问原来的逻辑卷。使用 lvdisplay 命令查看逻辑卷的信息:
lvdisplay
然后,检查文件系统:
fsck /dev/my_vg/my_lv
示例:
以下是一个综合的示例流程:
# 列出备份文件
ls /etc/lvm/backup
ls /etc/lvm/archive
# 从默认备份文件中恢复元数据
vgcfgrestore my_vg
# 或者从特定备份文件中恢复
vgcfgrestore -f /etc/lvm/archive/my_vg_00000.vg my_vg
# 重扫描物理卷和卷组
pvscan
vgscan
# 激活卷组
vgchange -ay my_vg
# 查看逻辑卷信息
lvdisplay
# 检查文件系统(假设逻辑卷名为my_lv)
fsck /dev/my_vg/my_lv
注意事项
-
备份现有配置:在执行任何恢复操作之前,建议先备份当前的LVM配置,即使它可能已经损坏,以防万一:
vgcfgbackup -
数据重要性:如果恢复元数据失败,且磁盘上有非常重要的数据,请考虑寻求专业的数据恢复服务。
-
小心操作:对LVM元数据的操作需格外谨慎。误操作可能导致数据的永久丢失。
通过这些步骤,你应该能够有效地恢复LVM元数据并恢复系统的正常运行。如果问题仍未解决或出现新的错误,请提供详细信息以便进一步诊断。
二、虚拟化原有硬盘扩容
在操作系统内部扩展分区和文件系统
Linux
-
扫描新的磁盘大小:
使用如下命令重新扫描磁盘大小:echo 1 > /sys/class/block/sdX/device/rescan -
查看新的磁盘大小:
确认磁盘的新的大小已经被系统识别。fdisk -l -
调整分区:
使用fdisk或parted调整分区以使用新增的磁盘空间。以下是使用fdisk的一个示例:fdisk /dev/sdX在交互式提示中删除并重新创建分区(确保类型与之前一致)。
-
调整LVM:
如果你的分区是LVM物理卷的一部分,你需要扩展物理卷、卷组和逻辑卷。pvresize /dev/sdX1 vgextend my_vg /dev/sdX1 lvextend -l +100%FREE /dev/my_vg/my_lv -
扩展文件系统:
最后扩展文件系统以使用新的空间。根据你使用的文件系统,可以使用不同的命令。- Ext4:
resize2fs /dev/my_vg/my_lv - XFS:
xfs_growfs /dev/my_vg/my_lv
- Ext4:
本文来自博客园,作者:xiaoming zhang,转载请注明原文链接:https://www.cnblogs.com/xmzhang

浙公网安备 33010602011771号