Beyond‘s blog

IT/Web技术

【服务器迁移】将网站数据从旧环境迁移到新环境

此前,我们收到过如下咨询:

目前所使用的IDC(数据中心)服务商因数据中心设备老化以及服务器托管业务的重组,突然发布了服务终止的公告。

因此,必须在大约两周内完成现有服务器环境的数据迁移工作,希望我们能够协助迁移到新的服务器环境。

这意味着,如果超过数据迁移的期限,现有的服务器环境将会被强制停止和删除,企业的网站及相关资源将完全无法访问。

迁移准备:分析旧服务器硬件环境配置、软件环境、应用服务

一般进行服务器迁移之前,我们进入IDC服务器提供Web控制台服务面板去了解服务器配置:操作系统版本(Windows/Linux)、IP、DNS、CPU、内存、磁盘、带宽、节点区域就能够了解硬件环境配置情况;同时查看在IDC服务平台了解采购了哪些服务资源如:云服务器、SQL数据库、RDS、SSL、CDN,域名等产品;所以第一应该收集旧服务器环境清单,为后续新服务器采购及迁移提供指导。

旧服务器环境盘点清单

  • 硬件环境:CPU、内存、磁盘、网络带宽。
  • 软件环境:操作系统版本、已安装的软件、依赖组件。
  • 应用清单:运行的服务(Web、数据库、消息队列、后台任务等)。
  • 网络配置:IP 地址、防火墙规则、负载均衡设置、DNS 解析。

当前这个转移服务情况特殊,客户的网站已经无法访问,IDC服务器商的Web控制台网站已经关闭,我们服务器运维工程师无法登录了解旧服务器的基本配置情况,我们与客户进行深入沟通,知晓客户公司运营的是为一个特定行业的 UGC(User Generated Content)网站,采用的PHP语言程序开发,对接微信公众号服务,可在线微信支付功能,同时客户提供了当时为他们开发网站的工程师与我们联系,我们大概知晓了客户的服务器及运行web服务基本情况。

硬件环境 软件环境 运行服务
CPU:  4G 系统版本:CentOS 7.9.2009 x86_64 网站项目:1个网站项目
内存: 8G 操作系统:Linux 数据库:1个数据库
带宽:10M(单线) 程序组件:Nginx、PHP、Redis、FTP、Mysql PHP版本:5.6、7.0、8.0
系统盘:40G 开发端口:22、21、3306、443、6379 phpMyAdmin 5.1
数据盘:200G 防火墙:Nginx免费防火墙 MySQL 5.7.44
服务器面板:服务器可视化面板比如中国的有 wdcp、宝塔面板、AMH,国外的有 DirectAdmin、VestaCP、Plesk 网站配置:1个Nginx伪静态规则

安全证书:1个SSL证书

< 中国服务器可视化面板组件 >

 使用SSH工具:Xshell软件命令登录服务器

当我们的服务器运维工程师使用Xshell软件使用SSH登录发现无法No Connecting,本地cmd命令:tcp ip也无法访问,又是一个很头疼着急的事情;通过协调联系IDC服务商获知,当前机房都个宽带供应商已经撤走,仅保留了中国移动宽带,需要使用链接中国移动宽带的电脑才能Connecting;但我们使用的中国电信及中国联通宽带,无法获得中国移动宽带(除了使用手机5G信号,数据量大传输时间长,无法保障数据的完整性),同时IDC服务商带宽有限,无法保证服务器数据安全也无法使用命令去安装镜像或应用组件;最安全的方式一种是使用服务器镜像命令,二种安装云组件,上传到云盘;最后我们服务器运维团队集体研究过后,临时采购一台使用中国移动的Linux中转服务器,通过中Xshell软件先链接登录中专服务器,在使用命令ssh  root@127.0.0.1登录旧服务器。

# ssh conntect old linux servcer
ssh  root@192.168.1.2
# write old server 192.168.1.2 pwd

SSH进入旧服务器备份程序及数据库

上述一段增加了一台中转服务器,通过中转服务器我们链接上旧服务器,然后我们进行服务器数据的压缩打包,程序源码及数据库,首先我们先查看旧服务器的数据盘及系统盘的目录及容量情况

# 查看硬盘
[root@MyCloudServer ~]# df
# 查看目录
[root@MyCloudServer ~]# ls /path/to/directory
# 查看CPU
[root@MyCloudServer ~]# ls lscpu
# 备份所有数据库
[root@MyCloudServer ~]# mysqldump -u[用户名] -p --all-databases | gzip > /path/to/backup_file.sql.gz
# 备份单个数据库
[root@MyCloudServer ~]# mysqldump -u[用户名] -p[密码] [数据库名] > /path/to/backup_file.sql

将旧服务器的数据分批传输到中转服务器

还有问题是当前客户的服务器未交于专门服务器运维服务器团队负责网站数据备份、服务器监视、网站安全防护及服务器快照镜像等一些列操作,当时客户选择小众IDC企业是看中同等配置的服务器价格相较于大企业如阿里云,腾讯云,AWS等全球化IDC服务商价格更低,甚至未考虑网站数据安全性稳定一些因素节约成本无签约服务器维护、网站备份、服务器网站监视相关服务;带来后续相关备份机制需要花费更多时间;当时分析统计了服务器关键部分网站的程序容量多大160G相对剩余40个备份空间,对服务压缩将是个很大的考验;为此我们的服务器运维团队考量后采用分批按重要排序先后:把现有可运行PHP源码目录及Mysql数据库先打包传输到中转服务器,在此涉及图片等大文件目录分批打包传输,后续分批打包网站服务器日志部分,最后整体传输服务器各项服务如Ngnix,mysql,php等运行服务(包含运行配置),例如整体可视化服务器控制面部分备份打包传输。

# 传输压缩包
[root@MyCloudServer ~]# scp /local/path/backup.tar.gz username@remote_host:/remote/path/
# 传输目录
[root@MyCloudServer ~]# scp -r /local/directory/ user@remote_host:/remote/path/

验证数据完整性及下载数据备份至本地移交给客户存档

有个小插曲,IDC服务商仅有一条移动宽带,如今有大量客户的数据需要下载备份及服务器转移,导致传输变慢,会出行掉线情况,为此我们服务器运维团队对客户的网站程序部分进行细分的研究,罗列传输主次,容量大小情况排序,同时尽量安排24小时监控传输,多次备份方式查重核对数据。由于客户还未进一步确认是否开通网站,目前想下载存档网站程序及数据库,同时要求下载数据要防止丢失,所以我们服务器运维团队暂时使用中转服务器为客户的网站搭建一个测试平台,验证数据完整性,特别注意在数据库库传输有可能会因为掉线导致丢失或乱码情况出行。

通过3天时间24小时运作方式实现旧服务器完整迁移至中转服务器,同时开通测试服务器验证数据完整,网站运行状态正常。

客户对我们服务器运维本次服务器迁移项目给于很高的评价,由于客户网站数据的图片文件过于庞大,客户需要我们进行图片去重及图片压缩,删除为引用的图片,以节约数据盘容量,处理此服务需要一段时间,与客户沟通后,让我们先采购对应配置的服务器,后续网站图片去重压缩后在迁移至新服务器上开通网站,同时签约服务器运维及监视服务合同。

总结

请选择可靠性高的平台

在购买或签约新服务器时,请务必选择可靠性高的服务商平台,或全球性的云平台。

对于需要在线支付交易、数据安全与一致性的项目,建议考虑使用在中国及全球广泛应用的 阿里云(Alibaba Cloud),或在日本及欧美广泛使用的 AWS 等大型平台。这些平台具备全球节点、稳定的访问、全面的冗余机制,并能确保数据的安全性与一致性。

本公司在服务器采购方面,可以综合考虑节点架构、CDN、带宽、备份、安全与运维等因素,并提供 7×24小时全天候 的服务器环境支持。

● 网站制作、服务器搭建 — 服务咨询 ●

联系我们

  • ▼ 公司微信公众号(公司官方)▼

  • ▼ 直接联系负责人微信号 ▼

咨询/联系我们

CONTACT

咨询/联系我们

扫码关注微信公众号