「实验笔记」华为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
EOFcat /etc/my.cnfsystemctl start mysql
systemctl status mysql#修改数据库密码
vim mysql_pass.shchmod +x mysql_pass.sh
./mysql_pass.shmysql -u root -pgrant 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 -ywget 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-rediswget https://hciecloud.obs.cn-north-4.myhuaweicloud.com/wordpress-5.2.3-zh_CN.zip
unzip wordpress-5.2.3-zh_CN.zip
ls -lcp -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的话,就不需要删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/35944.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ARM 240625

练习&#xff1a; 汇编实现1-100累加&#xff0c;结果保存在r0 .text 声明下面内容都属于文本段内容 .globl _start 声明 _start 是一个全局启用的标签_start: 封装 _start 标签&#xff0c;汇编的标签和C中函数类似mov r0,#0 mov 把0 搬运到 r0 寄存器mov r1,#1 mov 把1 …

DWC USB2.0协议学习2--架构介绍

目录 1 系统级架构 1.1 DWC_otg PMU模块 1.2 DWC_otg层次结构框图 1.3 DWC_otg功能模块框图 1.4 USB Host体系结构 1.4.1 发送FIFO 1.4.2 接收FIFO 1.5 USB Device体系结构 1.5.1专用发送FIFO 1.5.2 单个接收FIFO 2 DWC_otg_core架构 2.1 AHB总线接口单元(BIU) 2.2…

SAP揭秘者-在QM标准功能增加取消UD的功能第二季

文章摘要&#xff1a; 上篇文章我已经给大家介绍怎么开发两个程序来取消UD&#xff0c;但是上篇文章中有提到这个时候去直接执行ZQEVAC40程序去取消物料凭证 则会报错&#xff0c;那么为了解决这个报错&#xff0c;我们需要更改后台配置。 接下来我给大家讲后台配置该怎么配置&…

软考初级网络管理员__其他单选题

1.某企业资料窒员工张敏和王莉负责向系统中录入一批图书信息(如:图书编号、书名、作者、出版社、联系方式等信息)。要求在保证质量的前提下&#xff0c;尽可能高效率地完成任务。对于如下4种工作方式&#xff0c;()比较恰当。 张敏独立完成图书信息的录入&#xff0c;王莉抽查…

浅谈Tomcat

文章目录 一、什么是Tomcat&#xff1f;二、Tomcat的下载安装三、使用tomcat访问资源 一、什么是Tomcat&#xff1f; Tomcat 就是一个 HTTP 服务器。 前面我们聊了HTTP服务器&#xff0c;像我们在网页输入URL&#xff0c;其实就是在给人家的HTTP服务器发送请求&#xff0c;既…

qt 读写json格式的文件应用举例 工具函数

1.概要 要做一个json的读取功能&#xff0c;先做一个原型&#xff0c;然后在实际的工程中套用 2.代码 2.1 main.cpp #include "widget.h" #include "inijsonparams.h"#include <QApplication>int main(int argc, char *argv[]) {IniJsonParams i…

华为MDC开发者调试工具以及配置使用介绍

MDC的开发过程的三大工具&#xff1a;MMC、MDS、Mind Studio&#xff0c;这三个工具完成了开发过程中的配置文件编写、代码编写以及AI模型的开发三个任务。除了开发&#xff0c;MDC还准备了两个调试工具&#xff0c;用于使用过程中数据的查看等。这一些调试工具分别对映射MDC中…

3.sping掌握Bean生命周期

在Spring框架中&#xff0c;Bean的生命周期指的是从Bean被创建到销毁的整个过程。掌握Bean的生命周期对于开发者来说非常重要&#xff0c;因为它可以帮助开发者更好地理解Spring如何管理Bean&#xff0c;以及如何在Bean的不同阶段插入自定义逻辑。以下是Bean生命周期的主要阶段…

802.11漫游流程简单解析与笔记_Part2_02_wpa_supplicant、cfg80211、nl80211内核与驱动的关系

wpa、cfg80211、nl80211内核与驱动的关系示意图如下&#xff1a; nl80211和cfg80211都是内核定义的标准接口&#xff0c;目的是规范驱动和应用的统一调用&#xff0c;wpa中常出现nl80211就是通过内核的nl80211接口调用对应cfg80211的部分&#xff0c;进而控制驱动收发数据或切换…

AI技术与艺术的融合:开创性的用户界面与产品体验

引言 近年来&#xff0c;人工智能&#xff08;AI&#xff09;的飞速发展改变了我们的生活和工作方式。AI技术不仅在算力和模型上取得了重大进步&#xff0c;更在用户界面和产品体验方面迎来了突破。近日&#xff0c;科技博客 Stratechery 的文章以及硅谷投资基金 AI Grant 的两…

高频面试题基本总结回顾2(含笔试高频算法整理)

干货分享&#xff0c;感谢您的阅读&#xff01; &#xff08;暂存篇---后续会删除&#xff0c;完整版和持续更新见高频面试题基本总结回顾&#xff08;含笔试高频算法整理&#xff09;&#xff09; 备注&#xff1a;引用请标注出处&#xff0c;同时存在的问题请在相关博客留言…

没有采用框架的LeSS导入

我提倡在使用LeSS中平衡框架导向和实验导向。因为框架导向已经挺强了&#xff0c;我想更多地展开实验导向。有可能不采用LeSS框架来导入LeSS吗&#xff1f;我认为是可能的&#xff0c;因为那其实就是受LeSS实验启发的持续改进。 受LeSS实验启发的持续改进 让我来分两部分加以…

Docker 命令——安全

我们将学习两个命令。第一个命令是 docker container run 命令&#xff0c;这样你就能看到使用该命令的一些好处。其次&#xff0c;我们将看看 docker container diff 命令&#xff0c;你可以用它来查看在已有的镜像基础上做了什么。让我们看看如何使用这两个命令来确保容器的安…

补充:二分类器实现多分类 --- 一对一与一对多策略

文章目录 前言一、一对多(One-vs-Rest, OvR)1 理论2 决策原则(这里给出的是SVM的,其他的二分类器也类似)2 简单代码演示二、 一对一(One-vs-One, OvO)1 理论2 决策原则(投票)3 简单代码演示总结前言 我在大三刚接触到机器学习课程的时候,回归问题很自然就能跨过这个…

深度学习在蛋白质结构预测的新突破:AlphaFold、RoseTTAFold与ESMFold

在蛋白质结构预测和功能预测领域&#xff0c;基于机器学习的方法最近取得了显著的进展。特别是深度学习技术在这个领域中展现出了强大的能力&#xff0c;代表性的技术有 DeepMind 的 AlphaFold 和 RoseTTAFold。这些技术利用了大量的生物数据和先进的神经网络架构&#xff0c;极…

调试代码Pair-wise-Similarity-module-master

第一步&#xff1a;运行.py文件生成json文件 问题一&#xff1a;json.decoder.JSONDecodeError: Invalid \escape: line 1 column 31616 (char 31615) 解决&#xff1a; for dataset in dataset_list:with open(datasetmap[dataset] ".csv", "r") as li…

什么是Arkose Labs挑战及其解决方法

Arkose Labs挑战是一种复杂的机制&#xff0c;旨在验证用户是真正的人类&#xff0c;而不是自动化的机器人或脚本。这一挑战在维护在线服务的安全性和完整性方面发挥着关键作用&#xff0c;通过防止欺诈活动并确保只有真实用户才能访问某些功能。 目录 什么是Arkose Labs挑战&a…

Python 基础 (标准库):堆 heap

1. 官方文档 heapq --- 堆队列算法 — Python 3.12.4 文档 2. 相关概念 堆 heap 是一种具体的数据结构&#xff08;concrete data structures&#xff09;&#xff1b;优先级队列 priority queue 是一种抽象的数据结构&#xff08;abstract data structures&#xff09;&…

分布式锁(3):jedis基于Redis set命令的分布式锁

1 实现思路 获取锁的时候,使用 setnx 加锁,并使用 expire 命令为锁添加一个超时时间,超过该时间则自动释放锁,锁的 value 值需要指定,可以根据具有业务含义,本文简化为 UUID,在释放锁的时候进行判断,避免误释放。获取锁的时候还设置一个获取的超时时间,若超过这个时间…

A34 STM32_HAL库函数 之 PCCARD通用驱动 所有函数的介绍及使用

A34 STM32_HAL库函数 之 PCCARD通用驱动 所有函数的介绍及使用 1 该驱动函数预览1.1 HAL_PCCARD_Init1.2 HAL_PCCARD_DeInit1.3 HAL_PCCARD_MspInit1.4 HAL_PCCARD_MspDeInit1.5 HAL_PCCARD_Read_ID1.6 HAL_PCCARD_Read_Sector1.7 HAL_PCCARD_Write_Sector1.8 HAL_PCCARD_Erase…