实验介绍
本实验先是在华为云上搭建了WordPress、自建mysql以及配置OBS存储,来模拟待迁移的环境。
随后通过华为云的迁移工具,将源环境迁移至华为云的目标环境(另一个区域)1、使用SMS(主机迁移服务)迁移应用服务器(部署WordPress的ECS)
2、使用DRS(数据复制服务)迁移mysql数据库(自建 --> RDS)
3、使用OMS(对象存储迁移服务)迁移OBS
网络:网段规划,ip变更,域名解析等等
计算:ECS部署的服务,CCE容器化迁移等
存储:块存储、共享存储、对象存储
数据库:自建到云服务,异构迁移
全量迁移(迁移后,原环境完全搬迁到云上):源IP段和目的IP段可以一致,减轻由于迁移后IP变化导致的各种问题。
部分迁移(迁移后,还要和原IDC环境有几成):规划好网段,尽量不要重叠。例如:VPN网段不能重叠。
总原则:网络迁移时,要考虑好网段的规划,有服务集成调用,尽量避免网段重叠。(使用内网DNS来规避问题)
实验组网图
实验步骤
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桶)
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
修改数据库密码脚本
#!/bin/bash
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
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
http://ECS的EIP/wordpress
http://ECS的EIP/wordpress/wp-admin
北京四:ECS安装SMS
hcie-sms:SMS FullAccess、ECS FullAccess、VPC FullAccess
yum install -y rsync
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
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' );
define( 'WP_HOME', 'http://x.x.x.x/wordpress' );
define( 'WP_SITEURL', 'http://x.x.x.x/wordpress' );
update wp_options set option_value = "http://www.b.com" where option_name = "siteurl";
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);
清理资源