V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
oColtono
V2EX  ›  NAS

🙏🏻🙏🏻🙏🏻手上有一堆 60T 的数据,如何平均拆分成 60 份 1T 的文件备份?

  •  
  •   oColtono · 318 天前 · 3470 次点击
    这是一个创建于 318 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题

    我手上的 NAS 有 60T 数据,出于想要用不同介质备份的想法,打算买个 lto5 磁带机。

    因为 lto5 磁带每盘只有 1.3T 左右的空间,而我的 60T 数据又是一大堆树状的文件夹,可能有的文件夹里就几 G ,有的文件夹里里有上几十个文件夹,加起来有四五个 T 。

    现在有 2 个问题:
    1.除了人工分类,有什么办法可以把这 60T 的不太方便分类的数据,拆分成 60 个 1T 左右的备份文件。让我分别塞进 60 个磁带?
    2.这些文件夹里的数据还会增长。我除了定期把这堆文件重新拆分、用磁带冷备,有没有别的什么办法可以只需要做增量备份吗?

    lto5 磁带的备份价格差不多是 30 块钱 1T ,且保存时间优于硬盘。也期待大家提出别的更好的冷备份方案,谢谢!
    34 条回复    2024-01-11 14:52:50 +08:00
    lsk569937453
        1
    lsk569937453  
       318 天前
    linux 下直接 split 指令,或者自己直接手写一个也行。
    sadfQED2
        2
    sadfQED2  
       318 天前 via Android   ❤️ 2
    分卷压缩?
    blankmiss
        3
    blankmiss  
       318 天前
    磁带很便宜 磁带机不便宜,而且磁带有个问题 它速度很慢 ,而且坏了就很难搞
    mantouboji
        4
    mantouboji  
       318 天前   ❤️ 2
    自己看一下 tar 命令的选项,也不用切割,选里面的多卷备份就行,写满了一盘会提示你换下一盘。

    既然都是买二手货,别买 LTO5 磁带机,买 LTO6 。
    nlfiasel
        5
    nlfiasel  
       318 天前   ❤️ 1
    这个我熟,我的思路是文件不分类了,大概率本来相关的文件放的就是比较近的。因为 lto5 可以直接 ltfs ,跟正常的文件写入操作没有什么区别。所以我是直接写了一个脚本,1.先计算文件的 sha256 ,2.把文件的相关信息和 sha256 存到数据库里,3.把文件拷贝到磁带机里,位置就:磁带编号/sha256 前两位/sha256 其余位,4.数据库里记录存到的磁带编号,5.删除本地文件。
    然后需要数据的时候,直接把一整块磁带先读出来,然后再找数据就行,即使是执意要取部分数据,也可以有相关的软件帮助按磁带顺序读一遍带就把对应的数据都取出来,就是多写点代码来交互的问题。
    vibbow
        6
    vibbow  
       318 天前
    winrar 分卷压缩?
    nlfiasel
        7
    nlfiasel  
       318 天前
    然后不要纠结 1T 这种固定的分块,因为每盘磁带可能最多能存储的数据量是不同的,虽然几乎不太可能低于 1T ,但是你要是设个 1.3T 很可能有的磁带就存不进去。一个一个文件往里放更保险一点。
    qping
        8
    qping  
       318 天前
    @nlfiasel 你这很像 Git 啊
    webs
        9
    webs  
       318 天前
    目测需要一把尺子,一个小钢锯,一个计算器
    oColtono
        10
    oColtono  
    OP
       318 天前
    @mantouboji 感谢,多卷备份这个太有用了。在闲鱼上看到有个卖外置的雷电接口的 lto6 磁带机卖家,插上 Mac OS ,直接 tar 多卷备份,完美。
    oColtono
        11
    oColtono  
    OP
       318 天前
    @nlfiasel 谢谢提醒,少走弯路。你说的数据库方案我还不太会用 MySQL ,Python 也刚学没多久。或许后面可以按你说的写一个脚本来练练手,解决增量备份的问题
    mrliusg
        12
    mrliusg  
       318 天前   ❤️ 1
    duplicati 可能可以,混合几个参数之后可以使用 LOT 类似的后端
    https://github.com/duplicati/duplicati/issues/4200
    nlfiasel
        13
    nlfiasel  
       318 天前
    @oColtono 其实我数据库用的是 MongoDB ,但是看你这个描述编程基础有点薄弱。不过看你既然能接受雷电口的 lto6 磁带机,看来也不是很在乎成本,可能只是想多一个备份途径,多买点磁带每次都全量备份似乎也行(
    不过说起来,磁带机这玩意噪音巨大,以 lto6 为例,你备份 60T 可能要连续运行 5 天,如果你要跟磁带机在一个屋肯定忍不了
    nlfiasel
        14
    nlfiasel  
       318 天前   ❤️ 1
    另外群里大佬写的程序: https://github.com/zhaoyangwx/LTFSCopyGUI
    虽然你是 mac 已经是用不上了,但是里面有个群号,有问题啥的或许可以加进去问问(
    newaccount
        15
    newaccount  
       318 天前   ❤️ 1
    分卷压缩?多卷备份?
    你是真不怕数据丢失是吧
    六十卷!一次全备就要六十卷磁带!随便坏一个你所有数据全废!
    oColtono
        16
    oColtono  
    OP
       318 天前
    @newaccount 这个后面我查资料也想到了,这相当于 60 个磁带的 raid5 ,raid5 好歹还有一个容错…不过我看资料描述似乎第一个分卷是包含了索引的分卷,理论上,第一个分卷我创建多几个副本,后面的卷坏了一两个,其他的数据还能再恢复出来?我不知道这个想法是否成立。

    要是实在不行我就打算人工分类,把手动拷进去的目录树直接写标签贴磁盘上了,这样有个好处是至少我不用全量恢复了才能拿到某些目录里的数据,并且也能明确知道坏掉的盘是存了什么数据的。
    oColtono
        17
    oColtono  
    OP
       318 天前
    @nlfiasel 谢谢!雷电口的 win 本我也有一个,可以试试看这个程序
    DT37
        18
    DT37  
       318 天前
    lto5 磁带机 这个是个新鲜玩意。长知识了
    wanwaneryide
        19
    wanwaneryide  
       318 天前
    @sadfQED2 分卷的压缩的话,前提是不是得另外还有 60T 左右的空间?这个就挺难的吧
    sadfQED2
        20
    sadfQED2  
       318 天前
    @wanwaneryide tar 直接输出到备份位置啊
    vivisidea
        21
    vivisidea  
       317 天前
    啥玩意有 60T 阿。。我群辉用了好几年 4T 都没填满,主要是电影,大部分看完都觉得也就这样,不值得存下来
    hanbagui0021
        22
    hanbagui0021  
       317 天前
    楼上说的对,tar 可以分片的,我目前用的备份工具 Duplicati ,也可以压缩分片
    laqow
        23
    laqow  
       317 天前
    请教一下磁带机一般有读取次数寿命吗?一般会不会用类似 raid1 之类通过并行加快读速的技术?
    gregy
        24
    gregy  
       317 天前 via iPhone
    劝 OP 再斟酌一下用磁带机备份

    磁带机故障率本来就高,海鲜市场 lto5 磁带机基本都是数据中心淘汰的老家伙,买回来还不够折腾的。
    家庭环境的灰尘比数据中心多,磁带机的磁头很容易脏写不了几盘磁带就得清洗磁头。
    磁带存储时间比硬盘时间长的前提是良好的储存环境,存储磁带要求恒温、恒湿、防磁一般家庭很难有这个条件。(土豪除外)
    磁带存储也不是一劳永逸的,为了保证数据的可读,需要每隔几年就把磁带拿出来用磁带机读取检查一遍,发现有问题需要重写一盘磁带。
    磁带不支持随机读取,如果你要恢复某个磁带中某一个文件,需要把整盘磁带都读出来。反复的卷磁带对磁带本身也是伤害。(好像后来的磁带改进了,可以单独读取文件,但是还要倒带读取)

    现在机械硬盘已经很便宜了,买几个大容量机械硬盘用于本地备份的成本也不高,一个 22T 的硬盘现在应该在两千五六,三四个也够用了,每年通电检验下数据,恢复备份数据找起来也方便。
    另外磁盘阵列不是备份,磁盘阵列是为了保证业务连续性的设备冗余,重要数据考虑多副本。

    曾经我也考虑过磁带备份,现在我选择双网盘备份,目前备份了 70 多 T 数据。具体可以参考我这个帖子。
    https://www.v2ex.com/t/961688
    cndenis
        25
    cndenis  
       317 天前
    同意楼上, 买 4 个 20T 的盘比 60 个 1T 好管理得多
    mantouboji
        26
    mantouboji  
       316 天前
    对于楼主的情况,一个 tar 命令就够了,无论是多卷备份还是增量备份,这都是四十年前 UNIX 世界就解决得很好了。
    weidaizi
        27
    weidaizi  
       316 天前   ❤️ 1
    😀 之前看到 OP 的帖子,想了一下用磁带好像不太方便,昨天实现了一个冷备方案的小工具,可以看这个帖子: https://v2ex.com/t/1007499
    oColtono
        28
    oColtono  
    OP
       316 天前
    @weidaizi 老哥效率很高啊,
    @mantouboji 是的……现在就是怕多卷备份出现部分磁盘损坏,导致所有卷的备份都无法恢复。磁盘寿命长也是有存储条件的前提的……
    @cndenis 已经有两套 60T 的 raid6 阵列在实时同步了,只是单纯想多一个备份保险
    oColtono
        29
    oColtono  
    OP
       316 天前
    @laqow 磁带机有寿命的,不过挺长的,一般读取几十盘需要插入清洗带过一遍。
    mantouboji
        30
    mantouboji  
       315 天前
    @oColtono 反正 tar 命令的 M 选项不仅是对磁带有效,换成普通的.tar 文件也可以,你与其在这里看乱七八糟的发言,不如静下心来去研究 tar 命令的各个选项,找到你需要的东西。

    60T 数据而言,如果是你自己私人的是一码事,如果是商业数据,需要考虑配置一个磁带库了,里面是一个或者两个磁带机,十几盘几十盘磁带,还有一个机械手,负责装载磁带。
    oColtono
        31
    oColtono  
    OP
       315 天前
    @gregy 谢谢,认真读了一下你的帖子。我之前也想过上云。但是群晖的 hyper backup 经常备份到 10 几 T 的时候,就显示备份中断,已损毁。加上云端数据取回太慢+长期使用贵的问题,打算还是自己多搞两份备份算了。这两天关注了一下磁带价格,现在已经可以做到 20 块每 T 了。60T 也就 1200 。算上损耗,以及购买磁带机的钱,保存 10 年的价格也才 3000-4000 块
    oColtono
        32
    oColtono  
    OP
       315 天前
    @mantouboji 明白,正在研究 tar 。带库我是上不起了,太贵了
    gregy
        33
    gregy  
       315 天前
    @oColtono
    还是请 OP 再斟酌一下磁带的使用,现在企业级中小规模的数据备份很多都是在用虚拟带库了,所谓的虚拟带库也就是磁盘阵列模拟的带库,目的是为了兼容之前老的备份策略和备份软件。一些没有历史包袱的小规模备份直接就上备份一体机,备份的介质是磁盘阵列。
    磁带看似廉价的购买成本,后期带来可能是昂贵的使用成本,以及磁带无法读取造成的数据损失。

    我上云备份的契机是经历了河北的大水,洪水过境啥都没了。。。上了云备份用作灾备。
    oColtono
        34
    oColtono  
    OP
       315 天前
    @gregy 河北大水……原来如此,我今年先看看能不能先把这堆东西里面比较重要的部分上云吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5552 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 03:07 · PVG 11:07 · LAX 19:07 · JFK 22:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.