
Asynchronous Replication Automatic failover
其原理是在一条异步复制通道上配置多个可用复制源,当某个复制源不可用时(宕机、复制链路中断),且 slave 的 IO 线程尝试重连无效,自动根据权重选择新的源继续同步。
准备一个 MGR 集群和单实例,模拟复制链路切换,当 primary 故障,slave 自动切换到其他节点。dbdeployer deploy replication --topology=group 8.0.22 --single-primarydbdeployer deploy single 8.0.22
2. 在从机上建立指向 MGR 主节点的复制通道,
change master to master_user='msandbox',master_password='msandbox', master_host='127.0.0.1',master_auto_position=1,source_connection_auto_failover=1,master_port=23223,master_retry_count=6,master_connect_retry=10 for channel 'mgr-single'
在 master_retry_count 和 master_connect_retry 的设置上要考虑尝试重连多久才切换复制源。
3. 在从机上配置 asynchronous connection auto failover
配置 asynchronous connection auto failover 的两个函数:
asynchronous_connection_failover_add_source(channel-name,host,port,network-namespace,weight)
asynchronous_connection_failover_delete_source(channel-name,host,port,network-namespace)
权重值大的被优先级选择,可以配合MGR的选举权重配置 asynchronous_connection_failover 的权重。当 MGR 节点切换,异步复制也能切换到新的主节点。
SELECT asynchronous_connection_failover_add_source('mgr-single','127.0.0.1',23223,null,100)SELECT asynchronous_connection_failover_add_source('mgr-single','127.0.0.1',23224,null,80)SELECT asynchronous_connection_failover_add_source('mgr-single','127.0.0.1',23225,null,50)start slave for channel 'mgr-single'
4. 检查异步复制通道是否启用 failover。
mysql>SELECT CHANNEL_NAME, SOURCE_CONNECTION_AUTO_FAILOVER FROM performance_schema.replication_connection_configuration+--------------+---------------------------------+| CHANNEL_NAME | SOURCE_CONNECTION_AUTO_FAILOVER |+--------------+---------------------------------+| mgr-single | 1 |+--------------+---------------------------------+1 row in set (0.01 sec
5. 把 MGR 的 primary 节点 kill 掉,这个从节点会在尝试几轮重连失败后自动切换到次权重的复制源,其日志中会输出切换信息。
注意:当主节点故障,一旦复制链路成功 failover 后,在新的复制链路没有故障时,如果原主节点恢复,是不会回切的。如果当前复制链路发生故障,会再次选择权重高的进行切换
开在一台服务器上,而是开到一个群组的所有服务器上,一般20台为一个群组。问:集群空间跟传统空间的最大不同是什么?
答:集群空间有数据同步和宕机检测与智能解析域名的功能。
问:集群空间为什么会比传统空间稳定?
答:因为当客户开通一个集群空间后集群空间系统就会把客户的空间和站点资料同步到同
一个群组的所有服务器上,一但当前访问的服务器不能正常工作时,智能系统就会把客
户的域名解析到能正常工作的服务器上。
问:站点数据同步需要多长时间?
答:新开设的站点数据同步到所有服务器上大概需要一个小时。如果站点数据小会更快。
问:站点参数(如:加减域名绑定)修改多长时间同步?
答:10分钟内同步成功
问:当服务器坏了多长时间会转移到正常的服务器上。
答:最长不会超过1分钟,因为宕机检测30秒一次,同时域名的重新解析也需要30秒才生
效。
问:站点跟数据库是否可以开在同一台服务器上?
答:最好不要,因为集群系统暂时还没同步大型数据库(mssqlmysql)。所以当服务器不
能正常工作时,集群系统只是把您的站点转移到别的服务器上,并没把数据库也同时转
移过去,所以最好把数据库开设在群外的服务器上。
问:集群空间是否支持开通php空间?
答:可以支持php,但还没办法同步mysql数据同步。将在二期工程实现.
问:集群空间跟传统空间使用上有什么不同?
答:考虑到用户的方便使用,我们在设计的时候就本着尽量减少手工 *** 作的思路,所以在使
用方面他们没有太大的区别,唯一的区别是我们用免费提供的二级域名代替原来的IP,
也就是说使用传统的空间时,用户是把自己的域名解析到IP上,现在是作别名
(CNAME)解析到我们免费提供的二级域名,和登录FTP的地址是我们提供的二级域
名。
问:域名本身(不带www)如何作别名(CNAME)解析?
答:作别名解析的时候主机名不能为空,如果要给域名本身作别名解析请在主机名的位置上填写noprefix ,提交后自然变为空。
问:集群空间是否能防CC攻击?
答:集群空间系统本身没防CC攻击的功能。可我们也有自主开发的防CC攻击防火墙可以屏蔽掉95%的攻击IP。
问:正被攻击的空间转到集群空间是否马上有效。
答:必须在您把站点资料传到服务器上大概三个小时才有效,因为系统把您的站点资料同步到同群内的所有服务器上的过程需要大概三个小时。您站点资料比较少就会更快。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)