一、前言

大家好,上一期小堂给大家介绍了一个低成本的数据异地灾备方案,适用于数据源位于linux服务器的场景。本期将介绍数据源位于windows服务器场景下的异地数据灾备。

二、部署实施步骤

2.1 开通一台公有云服务器

开通一台公有云服务器,云服务器是一种简单高效、可弹性伸缩的计算服务,能提升运维效率,降低IT成本。可搭载不同类型的云磁盘,根据不同的存储设备划分不同的价格,应用于不同的场景,为客户提供可选择的不同磁盘类型以满足用户不同的读写要求。同时提供高数据可用性能力;底层磁盘数据冗余写入,物理损坏自动修复,服务零中断;故障自动跨可用域迁移。

日常备份云服务器配置推荐:

CPU:2核
内存:2G
硬盘:1TB~10TB HDD (大容量高性价比,支持按需无缝扩容)
操作系统:centos7.6

2.2 配置公有云服务器

建立备份文件存放目录
 mkdir -p /data/ftp/ 安装并配置FTP服务
 #安装FTP服务
 yum -y install vsftpd pam
 systemctl start vsftpd
 systemctl enable vsftpd
 #修改FTP配置文件
 #不允许匿名用户登录
 sed -i "s#anonymous_enable=YES#anonymous_enable=NO#g" /etc/vsftpd/vsftpd.conf
 #禁止匿名用户上传
 sed -i "s@#anon_upload_enable=YES@anon_upload_enable=NO@g" /etc/vsftpd/vsftpd.conf
 #禁止匿名用户建立目录
 sed -i "s@#anon_mkdir_write_enable=YES@anon_mkdir_write_enable=NO@g" /etc/vsftpd/vsftpd.conf
 #设定禁止上传文件更改宿主
 sed -i "s@#chown_uploads=YES@chown_uploads=NO@g" /etc/vsftpd/vsftpd.conf
 #设定vsftpd服务日志保存路径,注意文件权限
 sed -i "s@#xferlog_file=/var/log/xferlog@xferlog_file=/var/log/xferlog@g" /etc/vsftpd/vsftpd.conf
 #设定空闲链接超时时间
 sed -i "s@#idle_session_timeout=600@idle_session_timeout=600@g" /etc/vsftpd/vsftpd.conf
 #设定最大数据传输时间
 sed -i "s@#data_connection_timeout=120@data_connection_timeout=3600@g" /etc/vsftpd/vsftpd.conf
 #设定支撑vsftpd服务的宿主用户,注意相关文件权限问题
 #nopriv_user=ftpsecure
 #设定支持异步传输的功能
 #async_abor_enable=YES
 #设置vsftpd的登陆标语
 sed -i "s@#ftpd_banner=Welcome to blah FTP service.@ftpd_banner=Welcome to Efly FTP service.@g" /etc/vsftpd/vsftpd.conf
 #禁止用户登出自己的ftp主目录
 sed -i "s@#chroot_list_enable=YES@chroot_list_enable=NO@g" /etc/vsftpd/vsftpd.conf
 #禁止用户登陆ftp后使用ls -R 命令。该命令会对服务器性能造成巨大开销,如果该项运行当多个用户使用该命令会对服务器造成威胁。
 sed -i "s@#ls_recurse_enable=YES@ls_recurse_enable=NO@g" /etc/vsftpd/vsftpd.conf
 #设定vsftpd服务工作在standalone模式下。所谓standalone模式就是该服务拥有自己的守护进程,在ps -A可以看出vsftpd的守护进程名。如果不想工作在standalone模式下,可以选择SuperDaemon模式,注释掉即可,在该模式下vsftpd将没有自己的守护进程,而是由超级守护进程Xinetd全权代理,>与此同时,vsftpd服务的许多功能,将得不到实现。
 sed -i "s@listen=NO@listen=YES@g" /etc/vsftpd/vsftpd.conf
 sed -i "s@listen_ipv6=YES@listen_ipv6=NO@g" /etc/vsftpd/vsftpd.conf
 #重启ftp服务生效
 systemctl start vsftpd 修改公有云服务器SSH端口,防止黑客恶意扫描。
 #以SSH端口为8888为例
 echo "Port 8888" >> /etc/ssh/sshd_config
 #重启ssh服务
 systemctl restart sshd 配置公有云服务器防火墙,只允许可信IP接入访问。
 #编辑防火墙策略
 cat > /etc/sysconfig/iptables << EOF
 *filter
 :INPUT DROP [0:0]
 :FORWARD ACCEPT [0:0]
 :OUTPUT ACCEPT [0:0]
 -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 -A INPUT -p icmp -j ACCEPT
 -A INPUT -i lo -j ACCEPT
 #添加允许可信IP接入访问
 -A INPUT -s <可信IP>/32 -j ACCEPT
 COMMIT
 EOF
 #导入防火墙策略
 iptables-restore < /etc/sysconfig/iptables

2.3 配置备份策略

登录数据所在的windows服务器,登录ftp。

打开资源管理器,在地址栏输入ftp://<公有云服务器IP>,访问FTP服务。如下图所示:

登录数据所在的windows服务器,整理需要备份的文件。
打开资源管理器,建立文件夹,整理需要备份的文件。如下图所示:

登录数据所在的windows服务器,将需要备份的资料拖动到FTP服务器上。完成数据备份。

三、查看数据备份情况

查看数据备份情况
#SSH登录公有云服务器,查看备份文件
ls /data/ftp/

从备份文件中恢复数据
打开资源管理器,在地址栏输入ftp://<公有云服务器IP>,访问FTP服务。找到需要恢复的文件,从FTP服务器上拖动到本地。

四、小结

最近两期给大家介绍一种低成本的异地数据灾备方案,它具有低成本、高灵活性的特点,适用于有数据异地备份需求的企业或个人。谢谢大家!