• 记一次阿里云服务器迁移经验


    前因:因阿里云服务器到期,续费价格昂贵,最终选择在阿里云注册个新账号享受新用户福利,然而产生需要迁移服务器的情况。

    准备工作:保证新服务器和旧服务器在同一地域,同一网络,磁盘和旧服务器保持一致的配置,如果之前进行过磁盘扩容,后面也要保证一样的配置(概括:相同配置 相同地域)。

    注意:尽量同一地域!尽量同一地域!尽量同一地域! 可以方便很多!

    第一步:使用阿里云制作磁盘镜像,最好在无任何用户操作的时候进行制作,可以保证镜像数据的准确,制作完成后分享镜像到新的账户下。

    第二步:新服务器重装系统,从共享镜像中安装旧服务器制作出的镜像。

    第三步:如果服务(代码)中牵扯到使用IP的地方需要重新配置并且打包。

    上述步骤均为在夜间或者无任何操作时的方案

    但是在实际迁移过程中难免出现用户操作,首先导致的就是数据库的数据不一致,平常的做法是通过navicat这类工具导出数据脚本,再从新的服务器导入,但是如果用户量非常大的情况下,来回导数据就需要大量时间,可以在1小时内完成数据库迁移的方式总结如下:

    1.通过命令导出数据库脚本 大约1分钟   (这里会看到命令窗口一直卡在这个命令,这时候千万记住不是卡死了,是正在备份,你可以前往你指定的路径看文件是否创建出来,大小也在逐渐增长)

    //导出整库
    mysqldump -u [username] -p [databasename] > filename.sql
    //导出单独某张表
    mysqldump -u [username] -p [databasename] [tablename] > filename.sql

    更多命令 本图来自:https://blog.csdn.net/weixin_30783913/article/details/94914762

     2.按照准备工作新旧服务器虽然不在一个账号下,但是在同一地域,同一网络,通过阿里云建立内网,互传文件,内网传输的速度你懂得。

      建立共享的文档 : https://help.aliyun.com/document_detail/65936.html?spm=a2c4g.11186623.4.1.56964c07B09B58  

      共享完成之后可以通过ping测试一下内网地址是否连通 (不通可以去看看安全组,直接全部放开吧,迁移完再重新设置)

     3.通过命令拉取旧服务器备份好的sql脚本

    scp -P 2223 root@47.20.30.30:/root/test.tar.gz /home/test.tar.gz

     -p为端口 如果是默认的22则不填写,47.20.30.30是IP这里如果前面建立了共享就可以直接使用内网的IP /root/test.tar.gz 被拉取的资源路径(也就是旧服务器的) /home/test.tar.gz拉取到哪里(也就是新服务器你要把拉取的文件放在哪里)

    4.导入sql脚本  (这个花费的时间要取决于你的数据大小,我8G的数据库用时在15分钟后以内,记住如果终端窗口没反应不是卡死,也是在导入数据,千万不要以为卡住了,提前结束,要不然又得重来,要有耐心。)

    mysql -uroot -p database < filename.sql

    5.然后如果其他文件的时效性出现不准确,就需要根据业务进行迁移,不过这时候基本上迁移的数据很少了,比如这段时间用户上传的图片这类的。打包拖过来就是了。

    如果是牵扯到nginx这类的有自己的配置文件,里面配置了IP这些的,则需要重启下服务。

    6.域名重新解析,这里可能是因为dns缓存的问题,导致更换解析后,我这边还是访问不到,和不稳定,但是30分钟左右基本完全恢复。

    本人在使用到注册中心时遇到的一个问题,如果有相似的情况可以参考:

    使用到的是consul,因为服务器刚迁移过来,旧服务器也没有停机,导致新服务器中的服务也在旧服务器的注册中心注册了一遍(如果在迁移后立马修改了各个服务的配置文件则不会出现),然后出现了服务器不可用等乱七八糟的情况,

    这里因为我对微服务不是很懂,没办法给很清楚的解释。但是解决方法可以可以停止旧服务器,新服务器重启注册中心,检查各个服务的配置文件。

    
    
  • 相关阅读:
    [BZOJ1659][Usaco2006 Mar]Lights Out 关灯
    [BZOJ1789][BZOJ1830][Ahoi2008]Necklace Y型项链
    [HDU5015]233 Matrix
    [BZOJ1786][BZOJ1831]逆序对
    各种音视频编解码学习详解
    Methods and systems for sharing common job information
    在nodejs使用Redis缓存和查询数据及Session持久化(Express)
    jQuery 遍历 – 同胞(siblings)
    jQuery 遍历 – 后代
    jQuery 遍历 – 祖先
  • 原文地址:https://www.cnblogs.com/sansui/p/15618744.html
Copyright © 2020-2023  润新知