管理平台迁移
可以将管理平台或者其他节点迁移到别的服务器。
使用辅助功能迁移
从v0.3.5以后,可以在老的管理平台上使用迁移辅助功能将配置迁移到新的平台,在”系统设置” – “高级设置” – “迁移”里可以找到此功能。
手动迁移
原理
整个平台大致架构为:
数据库
/|\
|
管理平台 --> API节点 <-- 边缘节点
/|\
|
|
其他节点
可以看出:
- 修改数据库时会影响API节点,所以需要同时修改API节点的数据库配置(见迁移步骤);
- API节点是处于所有节点的中心,修改了API节点的地址后,需要修改所有管理平台、边缘节点和其他节点的配置,以便于其他节点能连接到新的API节点地址。
- 如果只需要重新部署管理平台、边缘节点或者其他节点,则不需要修改API节点配置;
迁移步骤
- 如果要迁移管理平台,需要将老的管理平台安装目录
edge-admin/
目录整体拷贝到新的服务器(尤其要注意其下的configs/
目录;- 如果API节点是和管理平台一起安装的,那么迁移后,API节点的地址也会自动修改为新的服务器的IP地址,此时需要修改
edge-admin
目录下面的configs/api_admin.yaml
(GoEdge v1.2.7之前是api.yaml
) 中的endpoints
中的API地址为新的API地址; - 如果API节点是和管理平台一起安装的,在修改
api_admin.yaml
(GoEdge v1.2.7之前是api.yaml
)配置后,可以使用EdgeAdmin安装目录/bin/edge-admin start
启动管理平台,并登录,然后在”系统设置” – “高级设置” – “API节点”中修改API节点的访问地址为新的地址; - 如果管理平台无法登录,并提示API节点无法连接,请检查
configs/api_admin.yaml
(GoEdge v1.2.7之前是api.yaml
) 配置文件中的API地址是否正确,如有错误请修改成正确的;
- 如果API节点是和管理平台一起安装的,那么迁移后,API节点的地址也会自动修改为新的服务器的IP地址,此时需要修改
- 如果要切换数据库,请将数据库复制到别的数据库,复制后,修改API节点中的
configs/db.yaml
中的dbs.prod.dsn
参数,格式为用户名:密码@tcp(主机地址:端口)/数据库名?charset=字符集&timeout=超时时间
(GoEdge v1.3.9以前)或者user: 用户名 password: 数据库 database: 数据库名 host: 数据库主机地址
(GoEdge v1.3.9及以后),通常只需要修改其中的用户名、密码、主机地址参数;修改后,重启API节点生效; - 如果要迁移API节点(或更改API节点IP),请将API节点安装目录
edge-api/
拷贝到新的服务器上(尤其要注意其下的configs/
目录),并启动;需要确保configs/db.yaml
中的数据库连接信息没有错误,请参考步骤1;- 如果API节点地址已经修改,此时管理界面因无法连接到API节点而不能登录,可以修改管理平台下的
configs/api_admin.yaml
(GoEdge v1.2.7之前是api.yaml
) 中的rpc.endpoints
中的地址为新的API节点地址,然后重启管理平台(edge-admin restart
),重新登录管理平台后,在 “系统设置 – 高级设置 – API节点” 中修改GRPC访问地址为新的API节点地址; - 修改所有边缘节点的
configs/api_node.yaml
中地址为新的API节点地址,并重启边缘节点进程(edge-node restart
)让配置生效。 - 如果API节点无法连接,请先参考文档修复API节点错误。
- 如果API节点地址已经修改,此时管理界面因无法连接到API节点而不能登录,可以修改管理平台下的
迁移后确认
在迁移后,请确认:
- 管理员可以正常登录管理平台;
- 所有边缘节点在线;
- 节点运行日志无异常。
数据库导出、导入
请参考 MySQL导出和恢复 一节内容。
常见问题
迁移过程中影响用户访问吗?
在管理平台和API节点过程迁移过程中,不影响边缘节点的正常运行,用户仍然可以正常访问到边缘节点上的网站。只是无法记录访问日志和统计数据。
管理平台无法进入怎么办?
如果是提示API错误的,请参考迁移步骤中的第2条。
其次要检查有没有启动管理平台节点、有没有在防火墙或者其他安全策略里放行对应端口。
再如果管理平台因为先前在Web服务绑定了固定的IP地址,而迁移后无法访问,可以手动修改 edge-admin/configs/server.yaml
文件,其中 http
和 https
分别表示管理平台HTTP和HTTPS的访问地址;
另外如果因为安全设置,导致自己无法登录管理平台的,GoEdge v1.3.5之前可以进入MySQL数据库,在 edgeSysSettings
表中删除 adminSecurityConfig
相关的记录:
DELETE FROM edgeSysSettings WHERE code='adminSecurityConfig';
GoEdge v1.3.5及之后可以执行以下命令:
edge-admin security.reset
然后重启管理平台(edge-admin restart
)后进入重新设置安全设置。