对于数据库设置主从关系,我们的目的一般有几个: 1. 做数据备份; 2. 做高可用; 3. 做读写分离;

  而对于想快速上线或者一切图个方便的项目,我们往往选择各种云产品服务。而阿里云则是其中的佼佼者!

  然而,想想主从同步这样的基本功能,在阿里云上竟然没有找到很简便的解决方案,在搜了N次百度之后,发现: 大家都在说,我是如何如何把 RDS 的数据同步到 ECS的? 我是如何把RDS的数据同步到线下的。

  就是没有说,我是如何在多个 RDS 之间进行数据同步的,做主从的?

  甚至有些看起来很正确的答案,居然说, RDS 权限做了限制,无法在多个 RDS 之间进行同步,我也是醉了!

  想想这种场景,我在阿里云上买了两个 RDS 产品,怎么也算是老顾客了吧。你居然能提供 RDS 和 ECS、线下机器 的同步,却不做我买的两个 RDS 之间的同步,是不是有点过分了???

  然而,事实并不是这样!!!

其实我们想要设置主从关系,一般就是想进行数据同步!我们有两个方案:

 

1. 使用数据库迁移服务,进行增量同步! 可以直接访问: https://dts.console.aliyun.com/

postgrel 主备切换方案 rds主备切换_数据同步

  一、创建迁移任务:

postgrel 主备切换方案 rds主备切换_postgrel 主备切换方案_02

  二、填写数据库各种信息

postgrel 主备切换方案 rds主备切换_数据库_03

 

     选择要迁移的数据库、数据表:(勾选增量数据迁移后,就可以一直同步了,据说是要钱)

postgrel 主备切换方案 rds主备切换_postgrel 主备切换方案_04

 

2. 使用正规的数据同步功能,不过这个功能是要花钱的,还有点小贵呢!

postgrel 主备切换方案 rds主备切换_RDS_05

  创建同步任务:

postgrel 主备切换方案 rds主备切换_postgrel 主备切换方案_06

 

  当然,会先让你去买产品,然后才能操作了!

 

  从上面也可以看到,订阅 RDS 数据库消息,也是要花钱的哦!

      数据同步功能已经给阿里同学做成了一个数据解决方案了!

      DTS 产品是也!

 

最后,附一个ssh登录不上ECS的问题解决方案:

  现象: 自己一直在操作ssh终端,结果偶然间就断线了,然后一直连接不上!

  提示1: xshell 工具提示: Connection closed by foreign host.

  提示2: 其他ssh工具可能提示: ssh_exchange_identification: read: Connection reset by peer

解决过程:

  1. 怀疑ssh机器已挂掉?

    从阿里云后台可以观察到服务还很正常,排除机器已挂可能。且同时可观察到服务器的内存、cpu、磁盘等正常!

  2. 怀疑ssh服务已挂?

    从阿里云后台登录终端,没有问题!此处可理解为登录机制不一样,无可厚非!在后台查看 ssh 服务:

$> ps -ef | grep ssh  # 查看进程还存在
$> netstat -tunlp | grep ssh   # 查看ssh的端口服务还存在

    所以,排除ssh服务已挂的可能性!

  3. 使用 telnet 连接查看情况?

telnet root@192.168.1.2
telnet  -v -p 22 root@192.168.1.2 # 带调试参数查看

    可以连接上(注意一定要使用多个ssh工具操作,防止某个ssh工具提示信息不全的问题!),所以,不是ssh不存在,可能是被什么拦截了!

   4. 怀疑ip可能被拦截了(加入黑名单了)?

    因阿里云后台有设置黑名单的地方,所以直接查看,结果发现并没有黑名单。再次将白名单加上后,重试!依然无法登录 !

  5. https://help.aliyun.com/knowledge_detail/41470.html#PAM安全框架相关问题 看到官网有帮助文档,直接查看!

  6. 怀疑防火墙问题?

    iptables 配置异常(Centos 6)[出现概率:10%],修改掉!

iptables -nvL –line-number
        # 设置 iptables 防火墙后需放行 22 号端口,否则会导致无法远程。
        iptables -A INPUT -p tcp --dport 22 -j ACCEPT
        iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

  7. cpu 负载过高导致ssh无法连接?

vmstat -n 1
        top

    确认负载没问题!

  8. 最终,使用阿里云的云盾拦截加白名单功能搞定, 云盾安全 -> 安全设置 -> 添加

 

postgrel 主备切换方案 rds主备切换_RDS_07

 

  找到添加操作!

postgrel 主备切换方案 rds主备切换_数据同步_08

 

    添加好后,10钟后,就可以登录 了!

  所以,ssh 登录不上的原因为: 为 云盾封杀了!

 

  那么问题来了,为什么IP会被封杀呢? 可能是你做了什么危害服务器的操作吧!

 

不要害怕今日的苦,你要相信明天,更苦!