2012年10月17日 星期三

如何做两个远程数据镜像备份?

1…

数据源放在ServerSource下的/data
备份库放在ServerTarget下的/data
ServerSource和ServerTarget都连接到ServerJump,为了安全管理需要,ServerSource和ServerTarget无法直接连通,但ServerSource和ServerTarget都可以和ServerJump连通
也就是:
ServerSource        <======> ServerJump
ServerTarget         <======>    ServerJump
ServerSource        <==XX==>     ServerTarget
所以想通过ServerJump来同步ServerSource和ServerTarget。
1.用scp命令(scp ServerSource:/data ServerTarget:data)可以复制,但由于数据量比较大,且大部分为不用更新的数据,这种方式太费时间和带宽。
2.在ServerJump上rsync好像又不能同步两台远程服务器。
3.ServerJump因为只作跳板,所以硬盘很小,无法先将ServerSource先rsync到本机(ServerJump)再rsync到ServerTarget。
不知有没有命令可以在ServerJump上执行并同步ServerSource:/data到ServerTarget:/data?
即像rsync命令: rsync  ServerSource:/data ServerTarget:data,这个命令rsync不支持两个都是remote的,不知道有没有其它命令或者类似的方式来完成?

2…

rsync 命令不能同时使用远端源 和 远端目标,但您可以将一端设置为NFS,则可当成本地端。

3.

或者通过SSH reverse, 将ServerJump的一个端口转发到ServerSource的rsyncd端口,这样您就可以从ServerTarget上直接访问ServerJump的转发端口,直接使用rsync命令。

4…

不好意思可能我没表述十分清楚,因为安全需要,ServerJump不做任何端口转发映射等,也就是说ServerSource自己是不能有任何主动方式连接到ServerTarget上,ServerTarget同理也是自己不能有任何主动方式连接到ServerSource上,两台之间的唯一允许的方式是都只连接到ServerJump为止,所以顶楼这个要求,而且ServerJump也是有十分严格的防火墙规则,基本上所有的端口全部关闭,只有少量明确已知的商品开放,且像nfs这样需要source和target都export给jump且长期mount是绝对不允许的

5….

端口转发建立在中间的ServerJump上,不需要跟ServerTarget有任何关系。
当您的ServerSource使用ServerJump的转发端口的时候,就像使用ServerJump上的本地服务一样。
在安全上考虑,这样的使用模式,跟您用SCP连接两台服务器是完全一样的。

6…

直接地说,比如当从TARGET连接到JUMP,然后通过端口转发连接到SOURCE。
这同 TARGET 直接连接 SOURCE 是完全不同的,从JUMP到SOURCE的转发过程,
是以 JUMP 的身份发起的连接,而不是 SOURCE发起的,而且通道是建立在SSH上的,
而即使SCP同样也是SSH复制文件。

7…

sorry, ServerJump上端口转发及不同段之间的通过网卡直接路由都不被允许,没办法才有顶楼的苛刻要求

8….

       比如说我的机器是A,中间服务器为B,目标服务器是C<br>
从A可以ssh到B,从B可以ssh到C,但是A不能直接ssh到C<br>
现在展示利用ssh通道技术从A直接传输文件到C<br>
1. ssh -L1234:C:22 userid@B<br>
input B's password<br>
(1234是本机A的空闲端口,该指令需要A机器上的root用户权限,实际上是在本机1234端口建立了一个通道)<br>
2. 打开一个新的console,键入:<br>
scp -P1234 filename userid@localhost:<br>
input C's password

沒有留言:

張貼留言