迁移阿里云上的ECS操作说明

背景:
1.公司测试服务器快要到期了,但是续费太贵,就想用另一个阿里云账号下的服务器作为测试服务器。
2.测试服务器原在阿里云账号A下,要迁移到阿里云账号B下
3.该测试服务器有一个系统盘和俩数据盘

大致操作:
1.在账号A下给该测试服务器做一个快照,然后给该快照创建一个自定义镜像,然后把该镜像共享给账号B。
注意:只能给系统盘做快照,连带数据盘做快照不支持。或者直接给该测试服务器做自定义镜像也不支持,因为数据盘的问题。
不过幸好数据盘里的数据不太重要,就采用另外的办法来迁移数据盘的数据。
2.在账号B下,把新测试服务器关机,然后重新安装系统,选择账号A共享过来的自定义镜像,手动设置root密码等,然后开机。
3.因为该测试服务器有系统盘和数据盘,所以/etc/fstab中写的有数据盘的挂载信息,但是新测试服务器重新安装系统的话,没数据盘,挂载这个就会有问题。
导致的结果是新测试服务器启动后,无法通过SSH远程连接,通过在web页面的VNC管理终端登陆,会看到系统启动后进入的是救援模式,而不是正常启动后的模式。
所以,输入root密码,登陆进救援模式,编辑/etc/fstab文件,把里面挂载数据盘的挂载信息注释掉或删除掉,然后重启系统,此时系统就能够顺利启动,并可以通过SSH远程登陆了。
4.远程登陆系统后,修改各应用配置文件中连接的ip地址等。
5.该服务器中部署的有一个Redis伪集群,地址一样,但是端口号不一样的。通过里面的启动脚本,Redis集群各节点能顺利启动,但是并不是集群状态,登陆其中一个节点,通过cluster nodes命令查看可知,各节点已经启动为集群状态,但是各节点没有加入集群当中,所以,在这个,还需要多操作一步,各节点加入到集群当中。

# 登录集群节点的命令
redis-cli -c -h ip -p port -a password

# 登录一般节点或者从节点的命令
redis-cli -h ip -p port -a password

# 各节点加入集群,三主三从
redis-trib.rb create --replicas 1 172.17.172.117:6371 172.17.172.117:6372 172.17.172.117:6373 172.17.172.117:6374 172.17.172.117:6375 172.17.172.117:6376

6.SpringCloud各组件使用jar包,有的是带exec的,比如canal生成的jar包是在target/bin目录下的exec。
7.crontab -l中的各定时任务脚本需要处理一下,有些是备份后传输到OSS的,这里统一修改成备份保存到本地,不传输到OSS上
8.禅道
禅道使用的是自带的数据库,登陆到禅道项目中,查看禅道数据库使用的端口号:

# cat /opt/zbox/etc/mysql/my.cnf
[client]
port   = 3307
socket = /opt/zbox/tmp/mysql/mysql.sock

[mysqld_safe]
socket = /opt/zbox/tmp/mysql/mysql.sock
nice   = 0

[mysqld]
user     = nobody
pid-file = /opt/zbox/tmp/mysql/mysqld.pid
socket   = /opt/zbox/tmp/mysql/mysql.sock
port     = 3307
basedir  = /opt/zbox/run/mysql
datadir  = /opt/zbox/data/mysql
tmpdir   = /opt/zbox/tmp/mysql
skip-external-locking


bind-address            = 127.0.0.1
key_buffer_size         = 16M
max_allowed_packet      = 16M
thread_stack            = 192K
thread_cache_size       = 8
table_open_cache        = 64
sort_buffer_size        = 512K
net_buffer_length       = 8K
read_buffer_size        = 256K
read_rnd_buffer_size    = 512K
myisam_sort_buffer_size = 8M
query_cache_limit = 1M
query_cache_size  = 16M
log_error  = /opt/zbox/logs/mysql_error.log

explicit_defaults_for_timestamp
default-storage-engine=MyISAM

server-id  = 1

[mysqldump]
quick
quote-names
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[isamchk]
key_buffer_size  = 20M
sort_buffer_size = 20M
read_buffer      = 2M
write_buffer     = 2M

[myisamchk]
key_buffer_size  = 20M
sort_buffer_size = 20M
read_buffer      = 2M
write_buffer     = 2M

[mysqlhotcopy]
interactive-timeout

地址是127.0.0.1,端口号是3307。
禅道默认使用的数据库账号密码分别是root,123456
登陆禅道数据库使用命令:/opt/zbox/bin/mysql -u root -P 3307 -p
若默认的账号密码不对,可以自己手动添加一个新账号密码

# cat /opt/zbox/auth/adduser.sh 
echo "This tool is used to add user to access adminer";
read -p "Account: " account
read -s -p "Password: " password
/opt/zbox/bin/htpasswd -b /opt/zbox/auth/users $account $password
# 这个文件存储的是加密后的数据库账号和密码
#cat /opt/zbox/auth/users 
root:$apr1$tEbOq1Vq$gu8hyE9xlRAnrPCUpFZV/1

然后使用新添加的数据库账号密码登陆数据库,从而导出数据库文件。(登陆后可知使用的是MariaDB数据库)
或者使用Navicat连接数据库,需要有SSH通道。

9.RabbitMQ

常用命令:service rabbitmq-server start|stop|status

开启端口:5672|15672|25672
web使用端口:15672

web页面访问的话,使用的端口是15672,默认账号密码是guest/guest。
登陆后需要添加程序使用的账号和密码,然后还需要给该用户配置添加Virtual Hosts

使用nginx反向访问RabbitMQ的web界面:

server {
    listen    80;
    server_name www.xxx.com;

    location / {
        client_body_buffer_size 128k;
        proxy_send_timeout   90;
        proxy_read_timeout   90;
        proxy_buffer_size    4k;
        proxy_buffers     16 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;
        proxy_connect_timeout 30s;
        proxy_pass   http://localhost:15672;
        proxy_set_header   Host   $host;
        proxy_set_header   X-Real-IP  $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

10.canal.deployer
路径:/opt/hkd-cloud/canal.deployer-1.1.2
修改配置文件中关于数据库连接的IP地址
文件:conf/canal.properties中的参数canal.ip
conf/canal-user/instance.properties中的参数canal.instance.master.address
启动:/opt/hkd-cloud/canal.deployer-1.1.2/bin/startup.sh

posted @ 2020-03-30 14:35  哈喽哈喽111111  阅读(887)  评论(0编辑  收藏  举报