V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
drymonfidelia
V2EX  ›  程序员

生产服务器 RAID5 挂了一块盘,最佳实践是马上补上一块重建还是立即备份全阵列,备份完再补盘?没有备份,数据不丢失比短期可用重要。

  •  
  •   drymonfidelia · 70 天前 · 3622 次点击
    这是一个创建于 70 天前的主题,其中的信息可能已经有所发展或是发生改变。
    35 条回复    2024-07-15 14:25:44 +08:00
    totoro625
        1
    totoro625  
       70 天前
    立即备份
    yyzh
        2
    yyzh  
       70 天前 via Android
    生产的不是都要求 321 的么?
    drymonfidelia
        3
    drymonfidelia  
    OP
       70 天前
    @yyzh 小厂,领导不懂技术
    xiaobai1213
        4
    xiaobai1213  
       70 天前
    立即备份
    Guest321
        5
    Guest321  
       70 天前
    立刻马上备份,然后再补盘
    Keuin
        6
    Keuin  
       70 天前   ❤️ 1
    仅理论分析一下,raid5 每个盘存储的都是奇偶校验信息,没有存原始数据的盘,因此备份和重建都需要读所有盘的所有内容。丢数据是坏了两个盘,现在已经坏了一个,备份跟重建都是要读所有盘,因此没有区别,怎么样都可以。
    drymonfidelia
        7
    drymonfidelia  
    OP
       70 天前
    硬盘里存的是用户上传的图片,判断不了哪些重要
    我刚接手就坏了盘,坏盘前我都不知道居然没备份
    photon006
        8
    photon006  
       70 天前
    分析 smart ,docker 跑一个 scrutiny 看看
    adrianzhang
        9
    adrianzhang  
       70 天前
    @drymonfidelia 赶紧备份。折腾啥之前也得先备份。
    drymonfidelia
        10
    drymonfidelia  
    OP
       70 天前
    目前已经把新数据全部存到新盘上了,旧数据靠 CDN 缓存先撑着,一堆 404 就没办法了
    lithiumii
        11
    lithiumii  
       70 天前 via Android   ❤️ 1
    Raid 6 ,炸了一块,报警一块。一开始想一块一块换,结果每换一块就坏一块新的。三次之后备份再全换了。早知道就直接备份的。
    drymonfidelia
        12
    drymonfidelia  
    OP
       70 天前
    @lithiumii 服务器每天因为各种无关紧要的原因报警,真的有问题的时候反而没人在意了
    Pteromyini
        13
    Pteromyini  
       70 天前   ❤️ 3
    刚给隔壁发的,复制一份
    个人观点:
    阵列提供服务保证,备份提供数据保证
    RAID0:提高顺序性能->增强存储服务质量
    RAID1-X:冗余数量内硬件损坏不中断服务提高系统 SLA->增强存储服务持续性
    热备、冷备、异地:提供数据备份和安全保证。
    家用或者某些临时写入场景,冗余阵列的目的基本是保证提供最低限度服务和有机会导出阵列内的资料而不是直接重建。
    个人认为:
    正确做法是:导出资料、上热备、下线出错阵列、线下尝试恢复阵列或者抛弃
    cpstar
        14
    cpstar  
       70 天前
    RAID 是保证磁盘在线,而不是保证数据在线,一旦出问题,必然要在现状下保护数据全都搞出来——其实更应该在平时做好第二遍备份,出问题时加急做一次增量或者全量。
    StinkyTofus
        15
    StinkyTofus  
       70 天前
    @Keuin #6 怎么可能没区别 , 别误导别人了, 第一时间就要备份再重建。
    busier
        16
    busier  
       70 天前
    先备份,一般来说其它盘也都是同时期的硬盘,即便没报错也是风烛残年,RAID5 重建过程中很有可能继续阵亡!
    vibbow
        17
    vibbow  
       70 天前   ❤️ 1
    最佳实践是上 raid 6 😂
    laminux29
        18
    laminux29  
       69 天前
    1.生产环境,数据是需要 3 个副本的。有 raid 的存储,只能算一套。另外还需要存储备份一体机,最后再来一套磁带或冷备盘,这样基本的 3 副本就形成了。

    2.raid 存储是需要热备盘的,热备盘的意思是,平时作为冗余盘,当 raid 中有盘坏了,热备盘会立即自动顶上去。热备盘的作用是,把故障的维护响应时间降低为零,为运维争取处理时间,因为运维不可能 7*24 盯着系统。
    hefish
        19
    hefish  
       69 天前
    要是觉得剩下几块硬盘质量好,那就先补盘,
    要是没把握,那就先备份。
    Jhma
        20
    Jhma  
       69 天前
    看每块盘的容量大小,每盘大于 4T 的重建时间有点久,可以备份一些重要数据后在重建,若备份 TB 级别的全部数据也怕坏第二块盘
    securityCoding
        21
    securityCoding  
       69 天前 via Android
    @laminux29 老哥问个问题,云厂商一般支持挂载一个 ssd 啥的,他们这种是什么备份机制呢
    laminux29
        22
    laminux29  
       69 天前
    @securityCoding

    支持挂载 SSD ,这只是一个功能,与备份机制无关。

    云厂商底层,仍然是硬件阵列卡。

    如果需要备份,最佳策略是,根据备份的要求与预算,直接找云厂商谈,问他们要方案。
    dann73580
        23
    dann73580  
       69 天前
    备份然后换 R10 。生产一般都是配 R10 的。
    skvi
        24
    skvi  
       69 天前 via Android
    @Keuin 那不就是先备份更优吗?怎么会没区别?
    letmedie
        25
    letmedie  
       69 天前   ❤️ 2
    确实没太大的区别,你备份也好重建也好,都是看脸的,因为降级状态读出来的数据一部分是算出来,备份优先的话是因为万一备份过程中炸了至少拷贝出来的数据是可用的,重建过程中炸了那就只能上数据恢复了,当然恢复成功率会比较高。关键一个是看你单盘的容量,另外一个就是看你重要的数据的量级。
    nuk
        26
    nuk  
       69 天前
    一般是补上一块重建,毕竟企业级硬盘没那么容易坏。备份是日常作业,现在备份也晚了,除非里面有部分数据是完全不容许丢失的,不过既然都没有备份策略的话,里面的数据大概是无关紧要的。
    letmedie
        27
    letmedie  
       69 天前
    备份应该作为一个日常性的事务,重要的数据需要多副本冗余,而不应该用来作为阵列降级后的抢救措施。另外也不必太过推崇 R10 ,R10 是需要高性能的 IO 下比较好的选择,但是对空间浪费严重,而且万一出现坏盘的情况,极端情况下坏两块盘同样可能炸阵列,要看坏的第二块盘在哪里,有高 IOPS 的需求的话,SSD 会是更好的选择,所以一般生产环境下,RAID6 是个不错的选择,虽然写惩罚会更严重,但是安全性和经济性比较平衡。
    fairytale
        28
    fairytale  
       69 天前 via Android
    @Keuin 备份读的少,加上 Linux 缓存,理论上目录结构不会丢,文件撞到坏道几率小一些,能拷出来。重建不管文件系统全盘重建,。
    fairytale
        29
    fairytale  
       69 天前 via Android
    还有个问题,服务器上没插空的后备盘么?比如大半夜 raid5 掉一块,后备盘会自动顶上去的。
    drymonfidelia
        30
    drymonfidelia  
    OP
       69 天前
    @fairytale 以前可能有,运维离职了,服务器相当长时间没人管,备用的盘也全拿来存数据了,今天出问题的时候阵列空间占用已经超过 90%了
    nkcfc
        31
    nkcfc  
       69 天前 via Android
    见过两次 raid5 掉以后就只用 raid6 和 zfs 阵列了。
    i1MqODKe0P16t1Ra
        32
    i1MqODKe0P16t1Ra  
       69 天前
    先备份。再重建。
    defunct9
        33
    defunct9  
       68 天前
    实战过很多次了,都是直接拔了换新盘。当然,大前提是每天都用脚本扫服务器,一坏马上更换。
    lm902
        34
    lm902  
       68 天前
    首先,把数据全部备份出来,能救多少是多少。
    第二,下个阵列用 RAID 6 。
    最后,RAID 不是备份,要拥有并及时更新备份。
    vipviphaha
        35
    vipviphaha  
       68 天前
    raid 5 是否有 hot spare ,有了,就先备份数据吧,完了,买快新盘插上,阵列管理里面操作。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2707 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:27 · PVG 17:27 · LAX 02:27 · JFK 05:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.