zeromax 发表于 2018-6-19 06:08:03

Windows与Linux跨机房数据同步

  背景:

  总部研发中心需要将机房的存储SMB服务中某些文件同步到>  难点:
  办公区无硬件***类设备,无固定IP
  总部的防火墙提供的***客户端Linux版本仅为1.00,需要开图形且极其不好用;
  解决方法:
  办公区域增加前置机安装windows版本软件***,实现与总部前置机联通。
  网络连接拓扑如下:

  应用实施拓扑及步骤如下:
  

  实施步骤1:
  配置两地SMB
  总部samba服务器安装NFS(或者沿用SMB),分公司配置SMB服务器;
  在两办公区将相关路径磁盘分别挂载到各自的前置机;
  实施步骤2:
  通过的IPSec***的方式,将总部前置与IDC前置策略打通;
  将已经挂载SMB的前置机上文件夹rsync到IDC托管服务器的相关目录;
  实施步骤3:
  实现Windows与Linux跨机房数据同步
  本文着重讲述实施步骤3的相关细则
  要点:
  分公司无固定IP,采用“PULL”方式,将数据文件通过rsync同步到分公司前置机。
  所需软件:
  防火墙自带Windows版本***客户端
  cwRsync_5.5.0_x86_Free.zip
  (下载地址:https://www.itefix.net/dl/cwRsync_5.5.0_x86_Free.zip)
  众所周知,rsync依赖于ssh进行登录,Windows版本rsync的难点在于如何实现无密码自动登录。
  难点1:ssh所对应Windows下的/home目录创建
  增加环境变量:
  系统变量
  新增path
  C:\cwRsync_5.5.0_x86_Free\bin
  用户变量
  新增CWRSYNCHOME
  C:\cwRsync_5.5.0_x86_Free\bin
     完成后需要通过命令行创建/home/Administrator/.ssh
  创建.ssh必须通过命令行
  cmd中执行
   SET CWRSYNCHOME=C:\cwRsync_5.5.0_x86_Free  
   MKDIR %CWRSYNCHOME%\home\%USERNAME%\.ssh
  难点2:keygen权限问题
  cmd中执行
  ssh-keygen -t rsa -C Administrator@IP
  一路回车,无密码
  将得到的公钥下发到总部前置Linux服务器
  导入分公司前置机公钥
cat id_rsa.pub >> ~/.ssh/authorized_keys  
chmod 600 .ssh/authorized_keys
  公钥下发后依旧保持需要密码,报错如下:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  
@@WARNING: UNPROTECTED PRIVATE KEY FILE!. @@
  
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

  这个报错是因为Windows下生成的id_rsa>  于是更改文件属性到如下

  修改后如下:

  执行以下脚本进行同步:
@ECHO OFF  
SET CWRSYNCHOME=C:\cwRsync_5.5.0_x86_Free
  
IF NOT EXIST %CWRSYNCHOME%\home\%USERNAME%\.ssh MKDIR %CWRSYNCHOME%\home\%USERNAME%\.ssh
  
SET CWOLDPATH=%PATH%
  
SET PATH=%CWRSYNCHOME%\bin;%PATH%
  
rsync -vzrtopg --progress --delete backup@总部前置机IP:/home/share/ /cygdrive/e/
  设置任务计划,就可以实现定时自动同步。
页: [1]
查看完整版本: Windows与Linux跨机房数据同步