【源码阅读】VictoriaMetrics中理解vm-backup中设置origin地址的用途
2021/12/30 11:09:02
本文主要是介绍【源码阅读】VictoriaMetrics中理解vm-backup中设置origin地址的用途,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
lib/backup/actions/backup.go:
// 118 行 partsToCopy := common.PartsDifference(srcParts, dstParts) //要上传的文件列表 originCopyParts := common.PartsIntersect(originParts, partsToCopy) // 旧的备份地址中的文件列表,与要上传的文件列表取交集。 // 交集的文件列表,只要调用对象存储的云端COPY能力就行,这样就节省了带宽,不用浪费再上传一次。 // 对于云端对象存储而言,同一个文件复制多份,就是增加一个引用计数,而不必真正的产生拷贝。因此对象存储中的大量相同文件并不浪费空间。 copySize := getPartsSize(originCopyParts) if len(originCopyParts) > 0 { logger.Infof("server-side copying %d parts from origin %s to dst %s", len(originCopyParts), origin, dst) copiedParts := uint64(0) err = runParallel(concurrency, originCopyParts, func(p common.Part) error { logger.Infof("server-side copying %s from origin %s to dst %s", &p, origin, dst) // 使用 CopyPart 的方法来在云端复制文件 if err := dst.CopyPart(origin, p); err != nil { return fmt.Errorf("cannot copy %s from origin %s to dst %s: %w", &p, origin, dst, err) } atomic.AddUint64(&copiedParts, 1) return nil }, func(elapsed time.Duration) { n := atomic.LoadUint64(&copiedParts) logger.Infof("server-side copied %d out of %d parts from origin %s to dst %s in %s", n, len(originCopyParts), origin, dst, elapsed) }) if err != nil { return err } }
总结:
- 每次vmbackup产生的备份,都是一个
-retentionPeriod
指定的时间长度的完整TSDB数据; - 从而,vm体系中并不存在只含有增量数据的分片
- 例如:按天备份,是那一天倒推30天的数据。
- 无法单独的增量的备份出某一天的数据
这篇关于【源码阅读】VictoriaMetrics中理解vm-backup中设置origin地址的用途的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15在使用平台私钥进行解密时提示 "私钥解密失败" 错误信息是什么原因?-icode9专业技术文章分享
- 2024-11-15Layui框架有哪些方式引入?-icode9专业技术文章分享
- 2024-11-15Layui框架中有哪些减少对全局环境的污染方法?-icode9专业技术文章分享
- 2024-11-15laydate怎么关闭自动的日期格式校验功能?-icode9专业技术文章分享
- 2024-11-15laydate怎么取消初始日期校验?-icode9专业技术文章分享
- 2024-11-15SendGrid 的邮件发送时,怎么设置回复邮箱?-icode9专业技术文章分享
- 2024-11-15使用 SendGrid API 发送邮件后获取到唯一的请求 ID?-icode9专业技术文章分享
- 2024-11-15mailgun 发送邮件 tags标签最多有多少个?-icode9专业技术文章分享
- 2024-11-15mailgun 发送邮件 怎么批量发送给多个人?-icode9专业技术文章分享
- 2024-11-15如何搭建web开发环境并实现 web项目在浏览器中访问?-icode9专业技术文章分享