Beyond‘s blog

IT/Web技术

【数据迁移】将网站迁移至新的服务器环境

之前,我们接到过这样一位客户的紧急咨询:

由于目前签约的 IDC(互联网数据中心)面临设备老化及业务重组,我们突然收到了服务即将终止的“最后通牒”。

留给我们的时间非常紧迫——必须在短短两周内,完成从旧环境到新服务器环境的全部数据迁移。为此,我们想寻求专业的技术支持。

这意味着,一旦错过截止日期,现有的服务器环境将被强制关停并清空,届时客户网站及所有线上资源都将彻底无法访问。

 

① 旧服务器环境与业务分析、及迁移准备

面对这一紧急状况,我们迅速制定了如下方案,并启动了服务器迁移工作。

通常情况下,在进行服务器迁移前,我们会通过IDC提供的Web管理控制台获取以下信息。

  • 服务器配置(服务器地域、操作系统版本、IP地址、DNS、CPU、内存、硬盘、网络带宽等)
  • 资源分布(数据库、SSL证书、CDN、域名等资源的配置情况)

然而,本次的情况非常特殊。由于无法访问Web控制台,我们转而与客户(及对方的开发工程师)进行了深入细致的访谈调研。

最终确认,该系统是基于PHP开发、集成了微信公众号功能与在线支付模块的特定行业UGC(用户投稿型)网站。

 

旧服务器环境调查结果

经过进一步的详细排查,我们掌握了该网站及服务器环境的大致架构情况。

项目 细分项 内容
服务器环境 操作系统(OS) CentOS 7.9.2009
CPU 4核
内存 8GB
系统盘 40GB
数据盘 200GB
网络带宽 10Mbps(单线)
软件环境 Web服务器 Nginx 1.24
数据库 MySQL 5.7.44
编程语言 PHP 7.4
缓存 Redis 6.2
文件传输 FTP(vsftpd)
管理工具 phpMyAdmin 5.1
WAF ModSecurity
SSL证书 已部署
控制面板 宝塔面板(Pagoda Panel)

 

② 通过SSH工具(Xshell)登录旧服务器环境

我们的工程师尝试使用Xshell通过SSH协议登录旧服务器,但均无法建立连接。进一步排查发现,即便是通过本地命令行(CMD)执行基础的网络诊断(TCP/IP),也处于完全无法访问的状态。

调查结果显示,原IDC机房合作的网络运营商已经撤出,目前仅剩中国移动(China Mobile)线路尚在运行。

针对这一状况,我们最终采取了如下方案。首先搭建了一台基于中国移动线路的临时“中继服务器(Linux 跳板机)”。在通过Xshell成功接入该跳板机后,再利用ssh root@127.0.0.1等内部指令,成功建立了与旧服务器的连接并获取了操作权限。

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

 

③ 旧服务器环境备份(程序与数据库)

通过跳板机连接到旧服务器后,我们对服务器数据、程序源码及数据库进行了打包压缩。

首先,我们详细核实了系统盘和数据盘的目录结构及容量,从而明确了本次迁移的数据范围与整体规模。

# 查看磁盘空间 
[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 托管服务,而非阿里云(Alibaba Cloud)或AWS等主流云平台,在系统安全性和运维投入上相对薄弱。

这种现状导致服务器原有的备份功能严重受限——网站程序及素材总量高达160GB,但可用的备份空间却仅剩40GB。

针对存储空间不足的痛点,我们采取了“分阶段批处理”的策略,按优先级由高到低有序推进。

  1. 将PHP源码与MySQL数据库打包,率先传输至验证服务器进行环境调试。
  2. 将图片等大容量媒体文件进行整合打包并分批传输。
  3. 统一迁移网站业务数据及服务器日志。
  4. 对包含Nginx、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提供的线路仅剩一条中国移动(China Mobile)线路,在下载海量数据时,经常会出现传输速度大幅波动甚至连接中断的情况。

为此,我们采取了以下对策。

  • 细致调研网站程序各组成部分,列出传输优先级及文件大小清单
  • 持续监控数据传输状态
  • 进行多次备份,并对数据进行核对校验

此外,为防止数据丢失,我们临时在跳板机(中继服务器)上搭建了测试环境,对数据的完整性进行了严格验证。特别是在数据库传输环节,我们重点防范了因网络断线可能导致的记录缺失或字符乱码等问题。

经过大约三天的奋战,我们成功实现了从旧服务器到跳板机的全量迁移。通过测试环境,我们确认了数据的完整性以及网站各项业务功能的正常运行。

随后,我们完成了生产环境新服务器的设计与搭建,在对图片数据进行深度优化(去重、压缩、删除冗余素材)后,顺利将其迁移至新环境并正式上线。

至此,客户终于顺利化解了“服务关停”这一迫在眉睫的危机。

 

延伸思考:为什么IDC会突然宣布停止服务?

本次案例中的客户原先使用的是中国国内的一家小规模本地IDC。

事实上,运营一家IDC需要投入巨大的成本,包括机柜租金、电费、带宽费用、硬件采购、后期维护以及人力成本等。

但在当前环境下,以阿里云(Alibaba Cloud)为代表的全球化云平台凭借规模效应提供了极具竞争力的价格,导致小规模IDC在价格战中完全失去了竞争优势。

因此,像本案中这类在市场竞争中失利的IDC,往往会选择匆忙关停业务。

 

总结

在租用或迁移服务器时,我们强烈建议优先选择信誉度高、稳定性强的IDC或全球知名的云平台。

特别是对于涉及在线支付、数据安全要求较高的项目,以下全球化云平台更为适用。

  • 阿里云 (Alibaba Cloud):在中国及全球市场应用极广
  • AWS (亚马逊云科技):在日本及欧美市场拥有丰富案例

这些平台依托分布在全球各地的基础设施,能够提供稳定的访问体验、完善的网络冗余机制以及极高的数据安全保障。

面对企业数字化转型、品牌出海或跨境贸易等业务需求,选择具备全球化服务能力的云平台无疑更具长期优势。

 

相关服务

网站制作 https://beyond-shenzhen.cn/zh/service/website
云服务器搭建 https://beyond-shenzhen.cn/zh/service/server

 

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

 

联系我们

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

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

咨询/联系我们

CONTACT

咨询/联系我们

微信公众号