我们这一课讨论主从复制
复制的方式 在集群中实现复制主要通过两种方式:
VMware FT 使用了复制状态机的方法。 状态转移传输的可能是内存,而复制状态机传输来自客户端的操作或者其他外部事件,人们倾向于使用复制状态机的原因是,外部操作或事件通常比服务的内存状态要小。例如,如果是一个数据库,它的内存状态可能达到 GB 级别。 复制的挑战 要考虑的几个 Big Question:
让我们看看虚拟化巨头 VMware 是怎么做的。
VMware FT 论文总结 T 需要两台物理服务器,主机与备机保持同步,虚拟机的虚拟磁盘在共享存储上。 所有的输入(如网络、鼠标、键盘等)都会输入到主机,然后通过 Logging channel 转发到备机,对于非确定性的操作,还将发送额外的信息,确保备机以确定性的方式执行这些操作。 两台虚拟机都会执行输入操作,但只有主机的输出会返回客户端,备机的输出会被管理程序丢弃。 确定性重放(Deterministic replay) 不确定性(Non-Deterministic)事件比如虚拟中断,不确定性操作比如从处理器读取时钟周期计数器,可能会让主机和备机的运行结果不一样。 这带来三个挑战:
VMware 确定性重放(deterministic replay)能够捕获所有输入和可能的不确定性输入,并写到日志文件记录下来。通过读取日志文件,可以准确重放虚拟机的执行。 对于不确定性输入,必须记录足够的信 (编辑:阜新站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |