搞了一个 LTO 磁带管理系统,有兴趣的老哥可以看看

227 天前
 abc950309

https://github.com/samuelncui/yatm

写了好几个月了,终于到了可用的程度。带一个 Web UI ,使用 LTFS 做存储,有文件管理、硬件加密、Hash 校验等功能。喜欢的大佬给个 Star ,如果能给一些 PR 就更好了。

文件管理可以方便组织文件。备份到磁带后,可以在文件管理器里使用文件夹整理文件。

备份的时候,可以一次性备份多个磁带的内容。会在第一个磁带满时,弹出提醒放入第二个磁带。

恢复时,会计算出需要的磁带。放入驱动器后,会读取磁带 RFID 来确定放入的是哪个磁带,并读取对应的待恢复文件。

对线性读写设备(比如 LTO 这种)做了特别优化,写入和读取时都会按位置顺序来。对写入小文件的场景,当来源文件在磁盘上时,会做 Prefetch Hint 。

2336 次点击
所在节点    NAS
23 条回复
yyzh
227 天前
能用到磁带的那种都是大企业或者数据中心了吧
flyqie
227 天前
想请问下楼主是什么情况下考虑到用磁带的?

感觉。。好麻烦而且成本很高。
abc950309
227 天前
@yyzh 比硬盘便宜呀,而且还带加密。LTO5 驱动现在 750 ,磁带 25 块一盘,每盘 1.5T 。
abc950309
227 天前
@flyqie 可以看看回复的成本,比硬盘成本低。
vsyf
227 天前
@yyzh #1
视频博主那种要保存大量 4k/8k 素材的就需要。
其他个人的话,我只能想到家里有多个监控摄像头,并且视频想存几十年这种场景了。
bobryjosin
227 天前
南方这种地方存储条件太高,维护太麻烦之前就放弃了,以后当数字仓鼠是不是要人手一台带库?哈哈。
zhujinliang
227 天前
再 3D 打印个磁带库,用步进电机做个自动加载/卸载就完美了
rio
227 天前
@abc950309 「 LTO5 驱动现在 750 ,磁带 25 块一盘,每盘 1.5T 。」想请问下这个价格在哪里有?一直想搞个来玩玩
abc950309
227 天前
@rio 直接海鲜市场就可以
abc950309
227 天前
@zhujinliang 有 3d 打印机,但是执行机构实在是不好做呀~~ 大佬搞过嘛~~
tankren
227 天前
这个一般要公司才用的上吧
Mogeko
227 天前
1.5 T 是压缩前还是压缩后的?👀
abc950309
227 天前
@Mogeko 不压缩是 1.5 ,压缩是 3 (文本的情况下)
Atsushi
227 天前
厉害了 当年用的一台工作站上带个 dds 都没搞明白
Reficul
227 天前
磁带保存起来比较麻烦,不知道 OP 咋搞的
MisakiOkusawa
227 天前
5 还是太小了 体积也是成本 感觉现在可用的至少 7 起步 我在日本这看日拍之类的地方 LTO7 的驱动器均价大概在 12-16w 日元 也就是 5k-8k 的样子 但是考虑到数据安全性可能还要每年读取一遍磁带充一下磁 最后还是搞了矿盘做冷备
SkywalkerJi
227 天前
磁带机买什么便宜?
lm930129
227 天前
@rio 我在海鲜市场看了下 ,L6 的大概是 1400-1600 这样,L5 大概是 750-800 ,磁带就没看了。有一个双 L6 驱动器的惠普 MSL2024 ,打包是 6K ,带 24 块盘的。
sunnysab
227 天前
和 op 有类似的想法!目前有一台 LTO6 6250.

暑假的时候用 Rust 重新写了一下 FreeBSD 中 mt 命令的一些实现,打算做一个磁带备份工具,见 https://github.com/sunnysab/nas-toolbox/tree/master/tape 。基于操作系统自带的磁带机驱动( sa )里的 record 、file 这些概念(功能)做的。不过由于现在接触不到磁带机,项目有很大可能烂尾了…

我当时想解决的问题和 op 类似,比如我现在有 10T 数据,我想写入到若干 2.5T 磁带中,需要一个统一的文件管理器帮我记录文件具体在哪一盘磁带中。另外,我还想支持增量备份。

目前遇到的问题: 不是很好判断剩余空间。比如:当前剩余 100G ,那么我 200G 的电影就写不下,但我可以找几个小文件塞进去。可实际情况下,我不知道剩余 100G (或对应的 record count ),有些头疼。

LTFS 应该解决了这个问题?但我之前略微看了一下 LTFS 相关资料,他们有一些 index 、block 的结构,写入的时候好像不是纯线性的(现在不是很肯定),在我测试的时候写入速度很慢,比使用 tar 命令直接写差远了。

感谢 op 做的工作,先 star 一下,有机会研究研究哈!
abc950309
227 天前
@sunnysab 我这边是直接写入到无法写入为止,回退失败的文件在下一个磁带写入。对于 1.5T 的磁带来讲,如果文件平均大小 10G ,最极端的场景不会浪费超过 1%。LTFS 的 index 时间点可以配置,对于这种场景,直接配置为 umount 时写入 index ,就能避免写入的时候 shoe-shining 了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/977365

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX