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

服务器是不是只要做了 RAID1 或者 RAID10,就不需要备份数据了?

  •  
  •   alwayshere · 2018-12-14 10:31:55 +08:00 · 8673 次点击
    这是一个创建于 2178 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在选择数据存储的独立服务器,数据大概有 15TB,文件夹有数百万个,有两种选择:

    1. 服务器多少块硬盘不重要,做 raid0 或者不做 raid,为了备份数据,rsync 时时同步到另外一台服务器上,这样做的话,感觉时时性满足不了需求,况且 rsync 遍历几百万个文件夹效率如何??我没试过
    2. 选择偶数块硬盘的独服,这样的话可以做 RAID1 或者 RAID10,即使其中一块盘坏了,也可以热插拔,数据和运营不会受到任何影响,这样做是不是更好?有什么风险和弊端?

    上面这两种哪种方式最好?当然两者结合的话是最安全的,就是价钱有点不好看

    qiyuey
        1
    qiyuey  
       2018-12-14 10:48:31 +08:00
    可以考虑一下异地容灾
    coreos
        2
    coreos  
       2018-12-14 10:51:09 +08:00
    1.异地容灾是很有必要的
    2.R1 R10 要么机房有人天天看灯,要么自己做报警,其它你见过在同步的时候另外一块硬盘也挂了么?哈哈哈
    opengps
        3
    opengps  
       2018-12-14 10:52:01 +08:00
    备份依然需要,raid 仅仅是对于硬盘损坏时候对数据的保障,万一你中毒被勒索加密,你多份硬盘上的文件也就是加密后的了。依然没法还原回滚。
    定时快照是针对操作失误类“数据救援”的方案
    huaxing0211
        4
    huaxing0211  
       2018-12-14 10:52:41 +08:00
    灾备啊!!!!
    mhycy
        5
    mhycy  
       2018-12-14 10:53:09 +08:00
    服务器必须上 RAID,为的是不让磁盘损坏引起业务中断,R1 低配,R5 中配,最优 R6
    备份的作用是防止逻辑意外(病毒 /程序 BUG/单比特错误等原因)导致数据不可用

    意义不同,建议二者都上
    另,rsync + inotify 可以触发式同步,实时性与资源消耗都还行,然而这并不是备份
    (病毒 /bug 写入的异常数据会覆盖正常数据)
    dot2017
        6
    dot2017  
       2018-12-14 10:53:51 +08:00
    RAID 只是能保证在硬件损坏时数据还能正常读取,以便最小化对业务影响及方便硬件更换,并不是备份的解决方案
    xzc19970719
        7
    xzc19970719  
       2018-12-14 10:55:56 +08:00
    RAID 是用来备份硬件。。不是数据啊
    lingll
        8
    lingll  
       2018-12-14 10:57:31 +08:00
    备份是多维度的
    1. 预防磁盘损坏, 做 raid, 楼主为什么不用 raid5,6? 然后多加一个热备盘
    2. 预防机房天灾人祸, 异地容灾
    3. 预防人为误操作,病毒删数据, 定时同步到别的存储
    liprais
        9
    liprais  
       2018-12-14 10:57:40 +08:00
    两码事
    备份是备份,raid 是 raid
    exonuclease
        10
    exonuclease  
       2018-12-14 10:58:46 +08:00 via iPhone
    没用 删库两个一起删
    CallMeReznov
        11
    CallMeReznov  
       2018-12-14 11:00:56 +08:00   ❤️ 2
    看了标题,当年我也是那么像的,直到有一次阵列卡爆炸,阵列降级,然后向拉稀一样往我硬盘里提交根本不正确的数据.

    类似的情况可以看 linus 他那自信的全 SSD R0 数据恢复实录,惊心动魄啊!
    boris1993
        12
    boris1993  
       2018-12-14 11:08:04 +08:00 via Android
    不需要备份?老哥你胆大
    推荐去看看#11 说的那个视频,给你压压惊
    gy911201
        13
    gy911201  
       2018-12-14 11:11:11 +08:00
    raid 是高可用方案,不是备份方案,两者应当同时进行…………
    备份得有,raid 也得有。
    没有 raid,一旦硬盘出问题服务直接不可用了。
    没有备份,数据有丢失风险……
    likuku
        14
    likuku  
       2018-12-14 11:20:15 +08:00
    存储不是备份!存储不是备份!存储不是备份!

    重要的事情说 N 遍都不嫌多!

    "备份设备应该比对线上生产设备更高的要求和重视,因为灾难发生,很可能备份就是你唯一的救命稻草"

    即便你用上千万一套的 NetApp 存储也会遇到磁盘坏掉的状况(我遇到过),
    更别说只是普通廉价的 RAID1 了(普通常见 RAID 只能保证底层 I/O 正确,才不管你存取的信息是否正确)。

    可靠,经受定期备份恢复演习 的备份 才能称之为 “有效备份”,

    君不见 最近两年 有国际大厂 分别有因为备份无效(Gitlib 事故) 和 有效备份 (Github 最近的事故) 事故时的不同嘛?!
    CallMeReznov
        15
    CallMeReznov  
       2018-12-14 11:22:09 +08:00
    @likuku 远的 GOOGLE 音乐出过一次比较大的事物,是业务 BUG 导致,最近的话就是腾讯云
    annielong
        16
    annielong  
       2018-12-14 11:24:01 +08:00
    一定是要有效备份,曾经遇到过,以为天天备份没问题,结果发现有问题恢复数据的时候发现备份是错误的,无法恢复
    mchong
        17
    mchong  
       2018-12-14 11:33:00 +08:00   ❤️ 1
    如果你遇到过 raid1 两块盘同时坏的情况就不会这么做了。而且大容量的硬盘在阵列同步过程中有很大几率损坏。我们公司的服务器 5*600G raid6,外加一块热备。上次坏了一块盘,更换后重建,重建过程中又坏了一块。再换。再次重建过程中又坏了一块。真是个悲伤的故事。。
    likuku
        18
    likuku  
       2018-12-14 11:33:32 +08:00
    另外:

    “服务器多少块硬盘不重要,做 raid0 或者不做 raid,为了备份数据,rsync 时时同步到另外一台服务器上,这样做的话,感觉时时性满足不了需求,况且 rsync 遍历几百万个文件夹效率如何??我没试过”

    # 你知道有种技术叫 快照 嘛?公有云端弹性存储基本都有这功能 。
    高级的 FS (ZFS,Btrfs)有 snapshot 功能,生成 snapshot 指令瞬间执行完毕,就是瞬间凝固成一个独立平行宇宙,
    之后就可以(异步 /后台)把 snapshot 发送到备份存储(至少 ZFS 可以,当然是差异化发送,并可压缩传输)
    或者(异步 /后台)原始点让备份程序 /rsync 把 snapshot 版本的 FS 同步到你备份存储上

    存储 和 应用 分离是更好作法,早年我们传统作法是:
    多个应用服务器 /web 通过 NFS 去存取 专用的 存储服务器 or NetApp 这种专业存储设备(原生有 NFS,iSCSI 服务),
    存储服务器自己有快照 /透明压缩 /重复数据删除 等功能。

    最后,几百万文件夹又能怎样? rsync 也就初次会因为全部文件传输一遍会慢,再之后都是超高效差异化比对传输。
    likuku
        19
    likuku  
       2018-12-14 11:38:41 +08:00
    @CallMeReznov 想起秋天也在 twitter 上讨论数据备份策略,提到有钱 /必须时,还得作 跨洋备份,
    甚至希望能在 太空 /月球 /火星 上建立备份数据中心,结果有某国际一线大厂推油立即回复,说他们一直是有跨大洋备份。(星际备份?暂时是个梦)

    想想能记得的最近一些新闻:强烈地震大规模海啸,核灾,大范围山林大火,跨洋备份必要,尤其是全球性企业。
    likuku
        20
    likuku  
       2018-12-14 11:46:50 +08:00
    "就是价钱有点不好看"...

    LZ 记得你们是作商业图片业务的,想想你们的生意命脉核心:图片存储的可靠性

    要是数据丢了,卖什么去?还做什么生意?
    momocraft
        21
    momocraft  
       2018-12-14 11:47:45 +08:00
    raid1 才两块(而且数据不统一时不知道哪个是错的),重要数据不能赌这个概率。

    #16 的补充:现在 btrfs 也有快照的 incremental send/receive 了。

    可能 btrfs 还需要更多时间检验,不过快照真的爽... 我的开发机已经全用上 btrfs + btrbk 了。
    AntonChen
        22
    AntonChen  
       2018-12-14 11:53:27 +08:00
    重要数据考虑「 3-2-1 原则」
    powergx
        23
    powergx  
       2018-12-14 11:59:03 +08:00
    R1 是保证你业务系统不会因为磁盘故障中止, 备份是真正的备份
    Hardrain
        24
    Hardrain  
       2018-12-14 11:59:25 +08:00 via Android   ❤️ 2
    曾在 Twitter 上看过一 tweet,推主的 NAS 是使用 4 块盘 raid5
    结果某天被家里的猫尿了一泡,硬盘全挂。

    "异地容灾"
    likuku
        25
    likuku  
       2018-12-14 12:14:52 +08:00   ❤️ 1
    @momocraft #21 btrfs (bugfs) 多次踩坑,最近仅有一次使用经验稍微改观,然而它在我心中的阴影还得持续很久。

    我自己之前先后组的两台备份用存储服务器也都是用 freebsd + zfs (snapshot + 透明压缩)
    diggerdu
        26
    diggerdu  
       2018-12-14 12:21:01 +08:00
    @CallMeReznov 请问这个视频哪里可以找到呢 可以给个关键字吗
    loading
        27
    loading  
       2018-12-14 12:33:21 +08:00 via Android
    整个机房被烧毁,那个图我就不发了。
    realpg
        28
    realpg  
       2018-12-14 12:47:44 +08:00 via Android
    @mhycy
    R1 低配 R5 中配 最高 R6?

    让我笑一会儿
    choury
        29
    choury  
       2018-12-14 12:54:35 +08:00 via Android
    @likuku 是的,一次异常断电,用了所有恢复手段都没救回数据,网上查资料,又少又旧,用的人少也很少别人经验可以借鉴
    wemore
        30
    wemore  
       2018-12-14 12:57:48 +08:00 via iPhone
    其实最重要的是别立 flag
    msg7086
        31
    msg7086  
       2018-12-14 13:15:59 +08:00
    这么点方案也能叫安全……

    两句话。
    1. 冗余不是备份。
    2. 备份遵循 3-2-1 守则。

    不听的话等着数据全毁。
    Osk
        32
    Osk  
       2018-12-14 13:26:33 +08:00
    @realpg 同好奇 R1 怎么低配了, 不是最贵的吗....
    awhane
        33
    awhane  
       2018-12-14 14:02:52 +08:00
    @msg7086 两地三中心吗?有具体方案吗
    mhycy
        34
    mhycy  
       2018-12-14 14:03:18 +08:00
    @realpg @Osk

    R1 可以最低双盘组阵,一般采购中最低配的阵列就是 R1,省硬盘钱
    R5 最低 3 盘组阵,在容量需求不大的时候 R5 没意义,在有容量需求的情况下这是最低选择
    R6 最低 3 盘组阵,但没意义,至少 4 盘组阵,容错率与 R10 一致,但与 R10 相比可坏掉任意两盘
    (大多数情况下 R6 阵列卡相比 R5 需要付出更多的钱)

    我不知道有什么地方让你笑起来,望指教
    scofieldpeng
        35
    scofieldpeng  
       2018-12-14 14:03:46 +08:00
    我家里的集群这样玩的:
    1. 硬盘 raid1
    2. 每次全量备份一次,保存近 30 天的全量快照
    3. 每天备份后给腾讯云,阿里云,google drive 归档存储一份
    当然,我的数据比你量小很多个量级
    likuku
        36
    likuku  
       2018-12-14 14:07:16 +08:00
    吃完饭,看到前同事在某群里上午发了几条,现公司某小业务系统被黑,数据被加密,被勒索比特币,

    当然没好意思再问(补刀)“备份呢?”。
    skschema
        37
    skschema  
       2018-12-14 14:07:21 +08:00
    异地,异步,冷热多媒介。有方案更要执行好。
    JoeoooLAI
        38
    JoeoooLAI  
       2018-12-14 14:15:55 +08:00
    我试过 raid5 差点挂。。。 还是做 比较稳妥吧
    y1shan
        39
    y1shan  
       2018-12-14 14:19:43 +08:00
    123,1 个异地,2 种介质,3 个备份。
    CoderGeek
        40
    CoderGeek  
       2018-12-14 14:30:18 +08:00
    这问题问得...显然不是的
    Schalkiii
        41
    Schalkiii  
       2018-12-14 14:32:37 +08:00
    说了多少次了。冗余不等于备份。重要数据,三盘两地
    msg7086
        42
    msg7086  
       2018-12-14 14:41:26 +08:00
    @awhane 三备份两介质一异地(上面已经有人说了)。
    具体的方案还要实施的人自己制定,我说的只是原则问题。
    另外备份必须要定期实际还原一次,假装自己资料全毁,看能不能从备份中恢复出整个环境。

    @mhycy R1 的价格效率是 50%,R5 价格效率至少 66%(实际上高得多)(但是正常人不会再选用了),R6 价格效率也要比 R1 高。
    R1 和 R6 本来用途方式就都不同,跟高配低配没什么关系。给你 12 块盘组 RAID,同样可用容量下 R1 的成本比 R6 高多了,你说到底谁算高配谁算低配。
    3s6i2o
        43
    3s6i2o  
       2018-12-14 14:54:04 +08:00
    过来人表示 盘柜里的文件系统挂了 然后没然后了。。。等着数据恢复中心恢复。。。
    mhycy
        44
    mhycy  
       2018-12-14 15:12:01 +08:00
    @msg7086 看来我以后要换个表述.....如何选择阵列方案还是懂的
    CallMeReznov
        45
    CallMeReznov  
       2018-12-14 15:16:53 +08:00
    @diggerdu 逼站 av3576332
    kernel
        46
    kernel  
       2018-12-14 16:04:44 +08:00
    linode 之类的也是 raid,因硬件故障我丢过数据
    alvin666
        47
    alvin666  
       2018-12-14 16:08:20 +08:00 via Android   ❤️ 1
    楼上推荐 r5 的不是坏就是傻...
    重建失败了解一下,对于大容量盘,重建失败概率还挺大的
    https://www.zhihu.com/question/20164654/answer/348274179
    重要数据必须 321,三份备份,两种方式,一处异地容灾
    ThinkZ
        48
    ThinkZ  
       2018-12-14 18:30:40 +08:00 via iPhone
    raid5 损坏时的首先要做的是备份数据 然后再重建 千万不要反过来
    a22124497
        49
    a22124497  
       2018-12-14 19:11:59 +08:00
    @alvin666
    R5 不坏也不傻,应该还是人的问题
    diggerdu
        50
    diggerdu  
       2018-12-14 21:18:32 +08:00 via iPhone
    @CallMeReznov 是加拿大的 linus 啊.....
    skylancer
        51
    skylancer  
       2018-12-14 22:49:05 +08:00
    那我介绍一下 1024 整个机房烧掉了的故事给露珠听听?
    flynaj
        52
    flynaj  
       2018-12-14 22:52:26 +08:00 via Android
    重要数据异地备份,全球大的数据中心留个备份
    xxgirl2
        53
    xxgirl2  
       2018-12-15 02:36:35 +08:00
    如果系统出 bug 那些东西一起 GG。今天不花小钱买备份设备,明天花大钱也未必救回业务。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1072 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 23:27 · PVG 07:27 · LAX 15:27 · JFK 18:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.