误对LVM成员磁盘/dev/sdc执行fdisk操作后的撤销方法求助
误对LVM成员磁盘/dev/sdc执行fdisk操作后的撤销方法求助
别慌,先停手!立刻停止对/dev/sdc的任何写入操作,避免进一步破坏数据。咱们一步步来恢复:
第一步:确认当前LVM状态
先搞清楚卷组和物理卷的现状,运行以下命令收集关键信息:
sudo vgdisplay Volume_Group_Backup_Repository_500GB:查看目标卷组的基本信息,确认是否还能识别/dev/sdc这个物理卷sudo pvs:列出所有物理卷,看看/dev/sdc的状态(比如是否显示为"missing")sudo lvs:查看逻辑卷的状态,确认数据卷是否还能正常访问
第二步:恢复原来的分区表
你刚才只是用fdisk重新分区,还没在新分区上创建新的物理卷,所以原来的分区签名大概率还在磁盘上,有两种恢复方法:
方法1:用分区表备份恢复(如果有备份的话)
如果你之前备份过/dev/sdc的分区表(比如用sfdisk -d /dev/sdc > sdc_part_backup.txt),直接执行以下命令恢复:
sudo sfdisk /dev/sdc < sdc_part_backup.txt sudo partprobe
方法2:用TestDisk工具自动恢复分区
如果没有备份,TestDisk是救星,它能扫描磁盘找到原来的分区:
- 先安装工具:
sudo apt update && sudo apt install testdisk - 运行TestDisk:
sudo testdisk - 按照向导操作:
- 选择/dev/sdc,按回车
- 选择"Intel/PC partition"(默认选项),按回车
- 选择"Analyse",按回车
- 选择"Quick Search",按回车
- 扫描完成后,找到原来那个类型为
Linux LVM (8E)的分区,用方向键选中它,按P标记为Primary分区 - 按
Write写入恢复的分区表,输入Y确认 - 按
Q退出TestDisk,然后执行sudo partprobe通知系统分区表变化
第三步:恢复LVM物理卷识别
分区表恢复后,让LVM重新识别物理卷:
- 扫描所有物理卷:
sudo pvscan - 激活卷组:
sudo vgchange -ay Volume_Group_Backup_Repository_500GB - 再次用
sudo pvs检查,确认/dev/sdc的物理卷状态正常
如果卷组提示物理卷丢失,可能需要恢复LVM配置备份:
- 找到/etc/lvm/archive下的卷组备份文件:
ls /etc/lvm/archive/Volume_Group_Backup_Repository_500GB_*.vg,选最新的那个 - 恢复配置:
sudo vgcfgrestore -f /etc/lvm/archive/Volume_Group_Backup_Repository_500GB_xxxx.vg Volume_Group_Backup_Repository_500GB(把xxxx换成实际的文件名) - 再执行
sudo vgchange -ay Volume_Group_Backup_Repository_500GB激活卷组
第四步:验证数据完整性
恢复完成后,挂载逻辑卷检查数据:
# 替换成你的逻辑卷实际路径,比如/dev/mapper/Volume_Group_Backup_Repository_500GB-data sudo mount /dev/mapper/Volume_Group_Backup_Repository_500GB-<你的逻辑卷名> /mnt ls /mnt
确认文件都在且能正常访问,就说明恢复成功了。
最后:处理正确的新盘/dev/sde
等sdc恢复正常后,再去处理你本来要加的/dev/sde,步骤是:
- 用fdisk给sde创建分区,类型设为8E(Linux LVM)
- 创建物理卷:
sudo pvcreate /dev/sde1 - 扩展卷组:
sudo vgextend Volume_Group_Backup_Repository_500GB /dev/sde1 - 扩展逻辑卷:
sudo lvextend -l +100%FREE /dev/mapper/Volume_Group_Backup_Repository_500GB-<你的逻辑卷名> - 扩容文件系统(如果是ext系列):
sudo resize2fs /dev/mapper/Volume_Group_Backup_Repository_500GB-<你的逻辑卷名>
备注:内容来源于stack exchange,提问作者Piyush B
相关产品推荐
相关产品推荐

