美文网首页
geo-replication

geo-replication

作者: zhllsr | 来源:发表于2016-05-04 18:03 被阅读260次
  • 启动gsync
    glusterd_start_gsync

    • 检测gsync运行状态:gsync_status
    • 添加命令参数:runner_add_args
    • 调用shell脚本来运行python代码进行异地备份:runner_start:execvp (runner->argv[0], runner->argv);
  • 资源启动

    • 检查链接:local.can_connect_to(remote)
    • 创建链接: connect---->inhibit
    • 创建临时目录: margv = self.make_mount_argv(*a)
    • 启动agent---->创建线程:repce.service_loop()
    • 启动monitor
  • 核心函数crawl,进行数据同步

    • 唤醒机制:changlog或者synchronizes stime(现在使用的方式是changlog)
    • 同步核心逻辑在Xcrawl中

    dem = self.master.server.entries(path) //获取volume根目录的entries,也就是所有的文件
    通过比较该文件的xtime与slave的xtime,判断是否进行同步
    如果是dir文件:递归调用

  • 异地同步机制

    • 主要是三个函数在不停的循环:crawlwrap crawl process
    • crawlwrap 会循环查询,现在truns 与 上次truns的差值

    如果是0,continue;
    否则,就会唤醒crawl进行数据同步
    - crawl 上面已经讲过
    - process会循环查看changlog,看是否有文件操作,如果有就对truns进行 ++操作(还有一些其他操作,不影响主流程)

相关文章

  • glusterfs geo-replication

    geo-replication 提供多种部署方案 Geo-replication over LAN Geo-rep...

  • geo-replication

    启动gsyncglusterd_start_gsync检测gsync运行状态:gsync_status添加命令参数...

  • Apache Pulsar 跨地域复制详解

    需求意义 在 Geo-Replication 的设计支撑下,其一,我们可以比较容易的将服务分散到多个机房;其二,可...

  • Geo-replication: 从 Copysets 到 Ti

    对于分布式存储系统,我们都会使用多副本的机制来保证数据的安全性。譬如对于 TiKV 来说,我们默认会使用 3 个副...

网友评论

      本文标题:geo-replication

      本文链接:https://www.haomeiwen.com/subject/koprrttx.html