• 「实验笔记」华为HCIE(云服务)2.0-迁移实验-传统应用架构迁移


    实验介绍
    本实验先是在华为云上搭建了WordPress、自建mysql以及配置OBS存储,来模拟待迁移的环境。
    随后通过华为云的迁移工具,将源环境迁移至华为云的目标环境(另一个区域)
    
    1、使用SMS(主机迁移服务)迁移应用服务器(部署WordPress的ECS)
    2、使用DRS(数据复制服务)迁移mysql数据库(自建 --> RDS)
    3、使用OMS(对象存储迁移服务)迁移OBS
    
    
    #迁移,主要迁什么?
    网络:网段规划,ip变更,域名解析等等
    计算:ECS部署的服务,CCE容器化迁移等
    存储:块存储、共享存储、对象存储
    数据库:自建到云服务,异构迁移
    
    #关于网络迁移规划实践经验说明:
    全量迁移(迁移后,原环境完全搬迁到云上):源IP段和目的IP段可以一致,减轻由于迁移后IP变化导致的各种问题。
    部分迁移(迁移后,还要和原IDC环境有几成):规划好网段,尽量不要重叠。例如:VPN网段不能重叠。
    总原则:网络迁移时,要考虑好网段的规划,有服务集成调用,尽量避免网段重叠。(使用内网DNS来规避问题)
    
    #官方手册391 ~ 438页
    
    实验组网图
    实验步骤
    #部署模拟迁移环境 (北京四)
    1、创建基本环境:VPC、子网、安全组
    2、自建mysql数据库,使用DAS创建数据库
    3、部署wordpress
    4、创建OBS桶,及小权限IAM账号,并给账号授权
    5、安装配置wp的OBS插件 (不在本地保留备份?)
    
    #准备迁移目标区域资源 (上海二)
    6、创建基本环境:VPC、子网、安全组
    7、创建OBS桶,创建OBS桶,及小权限IAM账号,并给账号授权(其实这里少一个权限)
    8、创建RDS(注意选择5.6和自建数据库保持一致)
    DRS创建需要等待,所以这里建议先创建出来,节省时间
    
    #迁移
    9、DRS(数据复制服务):创建在线迁移任务,保持增量迁移
    10、SMS(主机迁移):直接在目标区域创建ECS
    11、OMS(对象存储迁移):注意:生产实践中,不要使用大权限的AK/SK!
    
    12、主机迁移完成后,修改目标区域的应用配置:公网ip地址、数据库地址、OBS插件配置信息
    13、重启httpd服务,并验证同步效果
    
    
    资源/网络规划
    #北京四
    vpc-wordpress(10.100.0.0/16)-- subnet-wordpress(10.100.0.0/24)
    sg-web、sg-db
    ECS(应用服务器)、ECS(自建数据库服务器)、OBS桶
    SMS、DRS、OMS
    小权限IAM账号(仅OBS桶)
    
    #上海二
    vpc-wordpress-new(10.100.0.0/16)-- subnet-wordpress-new(10.100.0.0/24)
    sg-web-new、sg-db-new
    ECS(应用服务器)、RDS(数据库服务)、OBS桶
    小权限IAM账号(仅OBS桶)
    
    #IAM账号:
    hcie-sms:SMS FullAccess、ECS FullAccess、VPC FullAccess
    hcie-obs:obs桶授读写权限
    hcie-obs-new:obs桶授读写权限,创建自定义权限
    
    
    #感谢 淘客科技@华为云 提供的实验资源
    
    自建mysql数据库
    #已做好脚本,可以快速安装
    https://blog.csdn.net/luckcxy/article/details/129141627
    
    #安装数据库
    cd /opt
    wget https://hciecloud.obs.cn-north-4.myhuaweicloud.com/MySQL-5.6.45-1.el6.x86_64.rpm-bundle.tar
    mkdir mysql_install
    tar -xvf MySQL-5.6.45-1.el6.x86_64.rpm-bundle.tar -C mysql_install
    cd mysql_install
    yum -y remove mariadb*
    yum install -y MySQL-shared-compat-5.6.45-1.el6.x86_64.rpm
    yum install -y MySQL-server-5.6.45-1.el6.x86_64.rpm
    yum install -y MySQL-client-5.6.45-1.el6.x86_64.rpm
    yum install -y MySQL-devel-5.6.45-1.el6.x86_64.rpm
    yum install -y MySQL-shared-5.6.45-1.el6.x86_64.rpm
    
    #修改配置文件
    cat << EOF >> /etc/my.cnf
    [mysqld]
    join_buffer_size = 128M
    sort_buffer_size = 2M
    read_rnd_buffer_size = 2M
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    # Disabling symbolic-links is recommended to prevent assorted security risks
    lower_case_table_names = 1
    innodb_strict_mode = 1
    sql_mode =
    symbolic-links=0
    character_set_server = utf8
    log-bin = mysql-bin
    binlog_format=row
    server-id = 2
    expire_logs_days = 10
    slave_skip_errors = 1062
    innodb_strict_mode = 0
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    EOF
    
    cat /etc/my.cnf
    
    systemctl start mysql
    systemctl status mysql
    
    #修改数据库密码
    vim mysql_pass.sh
    
    chmod +x mysql_pass.sh
    ./mysql_pass.sh
    
    mysql -u root -p
    
    grant all privileges on *.* to root@"%" identified by "123456";
    flush privileges;
    
    quit
    
    #使用DAS登录自建数据库(注意安全组的放通 100.0.0.0/8)
    #创建 wordpress 数据库,编码:utf8
    
    修改数据库密码脚本
    #!/bin/bash
    # 安装 expect 插件
    yum install -y expect
    # 修改密码
    pass=`awk -F"[ :]+" 'NR==1{print $NF}' /root/.mysql_secret`
    /bin/expect << EOF
    spawn /usr/bin/mysql -h127.0.0.1 -uroot -p`echo -e $pass`
    expect "mysql>"
    send "SET PASSWORD FOR root@localhost=PASSWORD('123456');"
    send "\n"
    expect "mysql>"
    send 'flush privileges\n'
    expect "mysql>"
    send 'quit\n'
    interact
    
    部署wordpress
    yum install httpd -y
    
    wget https://hciecloud.obs.cn-north-4.myhuaweicloud.com/remi-release-7.rpm
    rpm -ivh remi-release-7.rpm
    yum install --enablerepo=remi --enablerepo=remi-php56 -y php php-opcache php-devel php-mysqlnd phpgd php-redis
    
    wget https://hciecloud.obs.cn-north-4.myhuaweicloud.com/wordpress-5.2.3-zh_CN.zip
    unzip wordpress-5.2.3-zh_CN.zip
    ls -l
    
    cp -rf wordpress /var/www/html/
    
    cd /var/www/html/wordpress
    cp wp-config-sample.php wp-config.php
    vi wp-config.php
    #修改数据库相关信息(4项)
    
    #对 WordPress 目录授权
    cd /var/www/html/wordpress
    echo -e "define(\"FS_METHOD\", \"direct\");\ndefine(\"FS_CHMOD_DIR\",0777);\ndefine(\"FS_CHMOD_FILE\", 0777);">> wp-config.php
    tail -n 5 wp-config.php
    chmod -R 777 wp-content/
    
    systemctl start httpd
    systemctl enable httpd
    ps -ef |grep httpd
    
    #打开浏览器,访问,并完成安装注册 (注意,要带上下文 wordpress)
    http://ECS的EIP/wordpress
    http://ECS的EIP/wordpress/wp-admin
    #配置OBS,安装OBS插件(410页)
    
    北京四:ECS安装SMS
    #您需要在源端服务器上安装迁移Agent并且输入目的端服务器所在华为云的AK/SK
    #已创建独立IAM账号,并完成了授权:
    hcie-sms:SMS FullAccess、ECS FullAccess、VPC FullAccess
    
    #安装依赖
    yum install -y rsync
    
    #下载Agent
    wget -t 3 -T 15 https://sms-agent-2-0-cn-north-1.obs.cn-north-1.myhuaweicloud.com/SMS-Agent.tar.gz
    tar -zxvf SMS-Agent.tar.gz
    cd SMS-Agent
    ./startup.sh
    
    #tar -zxvf SMS-Agent.tar.gz   && cd SMS-Agent  &&    ./startup.sh
    
    #开放安全组端口(注意:是目的端!)
    Linux系统文件级迁移开放22端口,块级迁移开放8900端口、22端口。
    ping端口要开放,不然会失败
    以上端口,只对源端服务器开放。
    
    OMS迁移
    切换,目的端所在区域
    源端桶已经授权IAM读写权限
    目的端桶已经授权IAM读写权限
    目的端IAM账号,由于要列举所有桶,需要自定义权限。(直接给用户(hcie-obs-new)授权,迁移后取消权限)
    参见:https://support.huaweicloud.com/oms_faq/topic_0000001084426802.html#ZH-CN_TOPIC_0000001084426802__section52621148113411
    
    修改目标区域的配置信息
    cd /var/www/html/wordpress/
    vim wp-config.php
    define( 'WP_HOME', 'http://迁移后的 wordpress 的外网 ip/wordpress' );
    define( 'WP_SITEURL', 'http://迁移后的 wordpress 的外网 ip/wordpress' );
    #数据库地址(可以通过内网DNS来规避这一步)
    
    define( 'WP_HOME', 'http://x.x.x.x/wordpress' );
    define( 'WP_SITEURL', 'http://x.x.x.x/wordpress' );
    
    # 更换 option_name 为 siteurl 的 option_value
    update wp_options set option_value = "http://www.b.com" where option_name = "siteurl";
    # 更换 option_name 为 home 的 option_value
    update wp_options set option_value = "http://www.b.com" where option_name = "home";
    # 更改网站内容数据表
    UPDATE wp_posts SET post_content=REPLACE(post_content, 'www.a.com', 'www.b.com');
    
    
    修改wp-config.php(自动更新地址) 1、在wp-config.php中,添加下面一行内容:
    
    define(‘RELOCATE’,true);
    
    #登录系统,修改OBS配置
    
    清理资源
    #如果连续做实验3的话,就不需要删除
    
    
  • 相关阅读:
    web前端面试高频考点——Vue的基本使用(一文掌握Vue最基础的知识点)
    TypeScript对象类型
    既然有 HTTP 协议,为什么还要有 RPC
    R语言使用epiDisplay包的aggregate函数将数值变量基于因子变量拆分为不同的子集,计算每个子集的汇总统计信息
    CDN+COS搭建图床超详细步骤
    可扩展标记语言-----XML
    尾插建立单链表,C语言输出
    (AS笔记)Android选择图片+HttpURLConnection表单POST上传图片到后端
    window 安装多个低版本chrome测试
    SpringBoot项目--电脑商城【获取省市区列表】
  • 原文地址:https://blog.csdn.net/luckcxy/article/details/139975719