1 个不稳定版本
0.1.0 | 2021年1月16日 |
---|
#1665 in 文件系统
40KB
939 行
Bakare:现代且简单,但高效的备份解决方案
这是预alpha版本,欢迎贡献
它还没有独立的二进制文件,但引擎看起来很有希望。欢迎贡献 :)
bakare 的目标
- 简单去重文件数据 - 不存储完全相同的文件数据两次
- 高级去重 - 更高效地存储仅略有变化的文件
- 能够恢复索引损坏
- 快速
- 使用最大带宽
- 使用最大CPU
- 使用最大磁盘I/O
- 内存使用限制
- 默认加密 - 非对称加密,为您创建密钥对
- 在存储文件中按文件名模糊搜索
- 处理一个文件失败不应影响其他文件
- 间歇性网络故障不应导致整个流程失败(使用随机数据包丢弃进行测试)
- 系统挂起/恢复不应使存储库损坏,即使有其他计算机上运行的其他活动备份进程,针对同一存储库 - 这正是
restic
失败的地方
期望的功能
- 守护进程侦听文件事件,并在下一次备份运行时更新要备份的文件列表 - 或
continous backup
模式 - 守护进程在看到更改时上传文件 - 对等模式 - 为彼此存储加密备份的人
- 中继模式,其中守护进程在一个或多个中心点(例如NAS)上工作,并带有本地存储,各种计算机与该中心位置同步。然后通过中心位置上传所有内容到其他位置,通常是云
实现说明
- 自动节点发现 - 两个角色:数据发布者和数据持久化者 - 应该能够自动确定哪个节点是哪个
- 使用基于属性的测试和模糊器测试随机创建的目录和文件
- 看看我们是否可以使用
salsa
进行重新计算 - 索引损坏测试 - 改变随机字节并查看是否可读
- 网络数据包丢弃测试
- 使用 bevy 进行解耦?
- 删除所有
unwraps
动机:我尝试的所有备份系统对我来说要么很慢,要么崩溃,要么两者都有
- duply:工作,但非常慢
--------------[ Backup Statistics ]--------------
StartTime 1547198362.85 (Fri Jan 11 09:19:22 2019)
EndTime 1547209509.04 (Fri Jan 11 12:25:09 2019)
ElapsedTime 11146.19 (3 hours 5 minutes 46.19 seconds)
SourceFiles 3065438
SourceFileSize 585041709586 (545 GB)
NewFiles 0
NewFileSize 0 (0 bytes)
DeletedFiles 0
ChangedFiles 0
ChangedFileSize 0 (0 bytes)
ChangedDeltaSize 0 (0 bytes)
DeltaEntries 0
RawDeltaSize 0 (0 bytes)
TotalDestinationSizeChange 111 (111 bytes)
Errors 0
-------------------------------------------------
--- Finished state OK at 12:25:15.000 - Runtime 03:06:43.000 ---
-
restic
- 内存不足崩溃
- 如果您在另一台计算机上挂起一个备份进程并启动另一个进程,则会损坏存储库
依赖关系
~11-23MB
~324K SLoC