V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
yao990
V2EX  ›  Linux

请教一个问题,两块硬盘组成 lvm,假如一块硬盘损坏,另一块硬盘上的数据该如何读取/导出?

  •  
  •   yao990 · 2018-07-12 22:41:25 +08:00 via Android · 9569 次点击
    这是一个创建于 2327 天前的主题,其中的信息可能已经有所发展或是发生改变。
    26 条回复    2022-07-22 18:37:58 +08:00
    likuku
        1
    likuku  
       2018-07-12 22:55:27 +08:00
    LVM 缩放作的多,系统损毁以 LiveCD 挂载独立 LVM 也作过,

    可惜 PV 损毁这种没有实操过,建议可以 virtualBox 开个多虚拟硬盘的实例快速作个实验。
    msg7086
        2
    msg7086  
       2018-07-13 00:01:22 +08:00
    直接读啊,普通的 lvm 就是裸盘上面存数据再加点 meta data。
    你知道每个 LV 的位置的话直接 dd 出来就是分区。
    hellojinjie
        3
    hellojinjie  
       2018-07-13 00:17:19 +08:00 via Android
    lvm 有 strip 功能的吧,就是数据同时往两张盘写。和 raid0 一样, 一张盘坏了,估计数据就没了
    @msg7086
    msg7086
        4
    msg7086  
       2018-07-13 00:52:48 +08:00
    @hellojinjie 有,用了 md 条带的话没有办法的。所以我说 普通的 lvm 是可以的。
    yao990
        5
    yao990  
    OP
       2018-07-13 01:07:07 +08:00 via Android
    @likuku 等有机会吧,目前手头的机器暂时没条件让我试😁
    yao990
        6
    yao990  
    OP
       2018-07-13 01:08:29 +08:00 via Android
    @hellojinjie 这么恐怖?
    yao990
        7
    yao990  
    OP
       2018-07-13 01:09:12 +08:00 via Android
    @msg7086 那怎么区分普通 lvm 和用了 md 条带的 lvm ?
    msg7086
        8
    msg7086  
       2018-07-13 01:19:17 +08:00
    @yao990
    md 上的 lvm 直接看 lvm pv 所用的 md 设备类型即可。


    以及如果用 lvm 自带的 stripe 功能的话:

    https://sysadmincasts.com/episodes/27-lvm-linear-vs-striped-logical-volumes

    # lvs --segments
    LV VG Attr #Str Type SSize
    root vol_e27 -wi-a---- 8 striped 5.82t

    # lvdisplay -vm

    --- Segments ---
    Logical extent 0 to 1526183:
    Type striped
    Stripes 8
    Stripe size 256.00 KiB
    Stripe 0:
    Physical volume /dev/xvdb
    Physical extents 0 to 190772
    Stripe 1:


    #4 的回答有点问题。我原本记得 lvm 的条带用的是 md,似乎是记错了。他的条带应该是自己做的 mapper。
    likuku
        9
    likuku  
       2018-07-13 01:33:12 +08:00
    @yao990 家用虚拟机软件 virtualBox 快速装个 debian, 系统 8G 虚拟硬盘,1G 测试 pv x2,总计 10G 空间足以

    我自己手里电脑倒是真没条件测,硬盘只剩 5G 可用空间... Orz
    yao990
        10
    yao990  
    OP
       2018-07-13 01:35:16 +08:00 via Android
    @msg7086 我刚看了下我的机器,发现 type 是 linear,请问这是属于那种类型的?
    yao990
        11
    yao990  
    OP
       2018-07-13 01:37:08 +08:00 via Android
    @likuku,,,,,这个可以有,赶明试试
    msg7086
        12
    msg7086  
       2018-07-13 02:37:19 +08:00
    @yao990 普通。
    yao990
        13
    yao990  
    OP
       2018-07-13 09:04:49 +08:00 via Android
    @msg7086 那意思是不是说,就算其中一块盘不工作,直接挂上另一块,也能读取数据?
    msg7086
        14
    msg7086  
       2018-07-13 11:38:28 +08:00
    @yao990 只能挂载其中完整的分区。
    读取当然是可以的,但是如果文件系统不完整,就得扫描整块硬盘了。(类似分区被格式化后的样子)
    yao990
        15
    yao990  
    OP
       2018-07-13 14:50:03 +08:00 via Android
    @msg7086,,我这边的情况是,一个大分区占用了两个硬盘,换句话说,就是一旦有一块盘损坏,就需要扫描整块硬盘了?
    msg7086
        16
    msg7086  
       2018-07-13 15:24:41 +08:00
    @yao990 是的。原始数据是可以读出来的,但是因为少了一半的原始数据,你的文件系统报废了。如果丢了一半的文件系统,那就必须要找专业恢复公司花巨额资金做手工扫描恢复。
    yao990
        17
    yao990  
    OP
       2018-07-13 23:01:41 +08:00 via Android
    @msg7086 今天手贱,进行了一个操作,导致 xfs 文件系统损坏,先是用 lvreduce 命令将分区缩小至原来的一半,然后又用 lvextend 命令扩充至原来的大小,然后挂载,挂载可以正常挂载,当用 ls 列出文件时就提示无法打开目录,输入输出错误。
    yao990
        18
    yao990  
    OP
       2018-07-13 23:03:09 +08:00 via Android
    @msg7086 通过 df -h 可以看到,内部的数据都还在
    msg7086
        19
    msg7086  
       2018-07-13 23:27:37 +08:00
    @yao990 ermmm 没玩过这么高端的操作……
    df 只是读取元数据信息。
    数据应该都在,但是估计文件系统有错误。dd 备份完后做磁盘检查试试。
    yao990
        20
    yao990  
    OP
       2018-07-13 23:30:24 +08:00 via Android
    @msg7086 我尝试用 fsck,但提示要用 xfs_repair,然后使用 xfs_repair 时就提示设备忙。。。。已经确认卸载了,还提示忙。。
    msg7086
        21
    msg7086  
       2018-07-13 23:37:27 +08:00
    重启一下试试吧。另外如果是重要数据,切记先 dd 备份整块盘然后再操作。
    yao990
        22
    yao990  
    OP
       2018-07-13 23:43:26 +08:00 via Android
    @msg7086 不敢重启,因为主板和显示器不兼容,在没有进入系统前,显示器上会一直显示分辨率超出,一旦重启不能直接进入系统,那么就只能等有机会找到合适的显示器才能再进行下一步动作。另外,暂时没有能够存储所有数据的硬盘。。。。。。。。。这可真是尴尬。。。
    msg7086
        23
    msg7086  
       2018-07-14 00:36:00 +08:00
    ermmm 爱莫能助,祝你好运……
    yao990
        24
    yao990  
    OP
       2018-07-14 00:40:53 +08:00 via Android
    @msg7086 谢谢,我刚才尝试了 xfs_repair 等一系列命令,无一例外,都是输入输出错误,还不能重启,愁啊愁
    morningtzh
        25
    morningtzh  
       2022-05-24 23:18:32 +08:00
    本来打算把 nas 转成 lvm 的,第一步就是看看某磁盘损坏怎么办。楼主给了我答案。不知道最后解决了没
    aqidesign
        26
    aqidesign  
       2022-07-22 18:37:57 +08:00
    我的 nas 目前是采用最普通的办法,单个磁盘管理,再多地冷备份,单个盘坏了就坏了吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3606 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:57 · PVG 08:57 · LAX 16:57 · JFK 19:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.