V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ScotGu
V2EX  ›  问与答

舅舅孩子! pvcreate 了错误的分区,如何恢复。

  •  
  •   ScotGu · 2023-08-23 22:55:37 +08:00 · 883 次点击
    这是一个创建于 464 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一个傻小子的误操作,几个小伙伴抓耳挠腮了好久。但技术不过关,特来 V2 求救!
    系统:CentOS7
    系统盘(/dev/vda):100G[不涉及]
    数据盘 1(/dev/vdb):分区 vdb1:5T ,单盘 1 个分区,数据接近满了。
    打算再加两块数据盘 2(/dev/vdc)和数据盘 3(/dev/vdd),然后先做成 LVM ,后续空间不足直接加新盘就可以。
    结果这小子鬼使神差 umount 数据盘 1
    接着执行了以下操作:
    pvcreate /dev/vdc1
    pvcreate /dev/vdb1
    vgcreate lvmdata /dev/vdc1
    vgextend lvmdata /dev/vdb1
    lvcreate -L 10T -n server lvmdata

    这时才反应过来搞错盘了。
    现在用快照创建了新盘,但是不知道怎么恢复。数据量大概 5T 。

    一定有人问为什么没提前备份,但是现在首要的是补救,反思的话留着他祭天后在说吧。
    8 条回复    2023-08-24 22:20:06 +08:00
    oott123
        1
    oott123  
       2023-08-24 00:46:45 +08:00 via Android
    没备份的话应该不太容易…
    cpstar
        2
    cpstar  
       2023-08-24 08:52:54 +08:00
    这是相当于用 vdc1 和 vdd1 新建的 lvmdata 覆盖了构建在原来 vdb1 的老 lvmdata ?那是不是相当于老的 lvmdata 信息丢失,需要恢复 lvmdata 的信息,然后搜搜看?
    因为没有动 vdb1 上的数据,似乎感觉应该有戏。
    7lQM1uTy635LOmbu
        3
    7lQM1uTy635LOmbu  
       2023-08-24 09:25:07 +08:00 via Android
    如果没有 mkfs 之类的操作,试试直接反向? lvremove ,vgremove ,pvremove ,然后直接挂载看看什么反应。(我没测过,纯脑补)
    ScotGu
        4
    ScotGu  
    OP
       2023-08-24 10:40:54 +08:00
    @cpstar vdb1 原来是单盘 ext4 格式, 没做 LVM 。但是现在看 vdb1 磁盘的文件系统是 LVM2

    @nevadax 没有 mkfs ,各种 remove 都报错。或者移除完成后,磁盘类型没变。
    cpstar
        5
    cpstar  
       2023-08-24 11:27:14 +08:00
    哦,第二个 pvcreate 搞了 vdb1 啊,不是 vbd1 ,那就相当于破坏了原有的分区表,需要按照 ext4 找内容的方法重建分区表了,这就。。。。
    julyclyde
        6
    julyclyde  
       2023-08-24 12:56:54 +08:00
    @nevadax pvcreate 和 pvremove 并不算反向啊
    7lQM1uTy635LOmbu
        7
    7lQM1uTy635LOmbu  
       2023-08-24 13:35:17 +08:00
    加个引号
    @julyclyde
    billlee
        8
    billlee  
       2023-08-24 22:20:06 +08:00
    1. 先用 dd 做全盘备份,再尝试进行恢复
    2. 根据 lvm pv 和 ext4 的数据结构,ext4 的 superblock 和 group descriptors 应该已经被覆盖了。可以试试 fsck.ext4 指定使用备用 superblock 看看能不能救回来。
    3. 最后,因为数据区和 inode table 应该都没有被覆盖,理论上应该是能全部文件+目录结构都恢复回来的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2552 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:43 · PVG 12:43 · LAX 20:43 · JFK 23:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.