服务器迁移全流程

12006

学习目标

  • 理解服务器迁移的基本步骤:包括生成迁移包,迁移数据,以及上线同步。
  • 掌握如何使用vm os_tool脚本工具进行服务器迁移。
  • 学会配置并测试新服务器。

1. 服务器迁移

服务器迁移,通常指的是将服务器上的数据、应用程序、服务及其配置从一个物理、虚拟或云环境迁移到另一个环境的过程。

一般来说,服务器迁移通常是因为以下原因:

  • 服务器的硬件或软件需要更新升级
  • 数据中心变更,需要将服务器由一个数据中心迁移到另一个数据中心
  • 为了提高灾难恢复能力和保证业务连续性,可能需要在另一个不同的地理位置,启动一个同样的服务器

在服务器迁移之前,需要先列出待迁移的数据,并制定合适的迁移计划,以确保过渡的顺利和最小化对业务的影响。

在本课中,我们会介绍如何使用江湖面板的脚本工具,进行服务器的迁移,主要包括以下内容:

  • 将待迁移的数据生成迁移数据包
  • 传输到新服务器上
  • 在新服务器上恢复数据包
  • 切换原服务器和新服务器的上下线状态

在进行服务器迁移之前,需要先启动新的服务器,并确保已经完成了以下的配置:

  • 原服务器和新服务器之间的网络是连通的
  • 已在新服务器上安装江湖面板,并预先安装好所需的插件
  • 新服务器上已经配置了到所需代码仓库的SSH密钥

2. 服务器迁移的基本步骤

服务器迁移通常包括两个主要步骤:首先,生成包含所有文件的迁移包,这是一次全数据的迁移过程;其次,在新服务器上恢复数据。

生成迁移包:

  1. 通过终端,运行江湖面板脚本工具 jh 22,选择 3. 服务器迁移 开始生成迁移包
  2. 选择需要进行迁移的数据,通常包括:xtrabackup数据库备份、/www/wwwroot目录下的项目文件、网站站点数据和JianghuJS管理器插件的数据。按提示输入相关信息,即可生成迁移包文件。由于迁移包文件较大,建议在迁移之前,确保服务器有足够的存储空间。
  3. 数据迁移包生成之后,你可以选择是否需要将迁移包进行打包并传输到新服务器上。如果选择传输的话,你可以输入新服务器的IP、SSH端口、用户名和密码,就可以开始传输了。

恢复数据:

  1. 待迁移包传输结束后,先在新服务器上解压迁移包文件,然后在解压后的目录执行以下命令,开始进行数据恢复:
    1. bash deploy.sh
    脚本文件deploy.sh里按照生成迁移包时所选择的数据类型,分别预备了不同的恢复脚本。
  2. 待数据恢复结束后,你可以进行以下的检查,确保数据已被成功恢复:
  • 数据库的检查
    • 查看MySQL服务器的运行状态:打开MySQL管理界面,在“服务”一栏即可查看当前MySQL的运行状态。
    • CheckSum比较:打开 MySQL 管理界面 --> “管理列表” --> “获取Checksum报告”,即可生成每个数据库及数据表的Checksum。
      • 计算原服务器和新服务器的MySQL数据库Checksum,然后使用文本比对工具,查找Checksum不一致的数据表。如果Checksum没有显著区别,就说明数据库恢复成功了。
      • 可以忽略变化较快的业务数据表格,如_record_history_user_session等。
    • 检查数据库root用户密码是否跟原服务器的root密码一致
  1. 在JianghuJS管理器中,启动全部项目。
  2. 在本地配置host文件,调试网站是否正常使用。可以打开网站页面,在站点列表上方点击“获取站点Host配置”按钮,来获得IP地址及网站站点列表。

3. 正式上线同步

迁移包数据恢复以后,就可以预备将新服务器正式上线了。这个过程通常包括数据文件同步、旧服务器停机下线、新服务器启动上线等步骤。江湖面板脚本工具提供了生成旧服务器下线和新服务器上线的脚本。

旧服务器下线:

  1. 在旧服务器终端里运行江湖面板脚本工具 jh 22,依次选择 9. 服务器切换 --> 1. 获取服务器下线脚本 即可生成下线脚本,保存在/tmp/offline.sh
  2. offline.sh脚本中包括停止xtrabackup增量备份、xtrabackup、mysqldump定时任务、停止邮件通知等步骤
  3. 运行offline.sh脚本,即可将旧服务器下线

新服务器上线:

  1. 在新服务器终端里运行江湖面板脚本工具 jh 22,依次选择 9. 服务器切换 --> 2. 获取服务器上线脚本 即可生成上线脚本,保存在/tmp/online.sh
  2. online.sh脚本中包括执行xtrabackup增量恢复、更新wwwroot目录、启动xtrabackup增量备份、xtrabackup、mysqldump定时任务、开启邮件通知等步骤
  3. 运行online.sh脚本,即可将新服务器上线
  4. 检查服务器程序是否运行正常,如果一切正常,就可以正式切换到新服务器。
  5. 在你的域名管理服务中,将服务器上网站的DNS解析配置为指向新服务器的IP,用户就可以通过新服务器访问你的网站和服务了。

注意: 在迁移包生成、传输以及恢复的过程中,如果耗时较长,旧服务器上的数据和文件可能已被用户修改从而发生变化。因此在切换服务器状态的过程中,往往需要进行一次数据同步。online.sh脚本中会询问你是否需要从目标服务器更新文件到本地。如果选择“是”,你可以指定需要的目录和文件进行更新。

作业

请根据本文的内容,完成一次服务器迁移,要求:

  • 新服务器上的网站可以正常访问
  • 数据库数据完整,没有丢失
  • 所有的插件都已正确安装并可以正常使用