跳到主要内容
版本:v3&v6

系统迁移

将现有 ONES 应用迁移到另外的服务器上,需停机备份操作,新服务器需要满足初装要求

操作步骤:

旧服务器数据备份

登陆 ONES 服务器,进入当前运行中实例的安装目录

cd /data/ones/pkg/ones-example-3.14.xxxxx

执行备份命令

该命令会让 ONES 服务暂时不可用,并会在当前目录生成一个备份包,包名为ones-example-3.14.xxxxx-2023xxxx.tar

./onesconfigure backup

将最新安装包(此次备份实例的安装包)备份包上传到新服务器

使用scp或者其他文件上传工具,这里使用scp举例

scp ../ones-example-3.14.xxxxx.tar.gz root@<remote-server-ip>:/tmp
scp ones-data_3.14.xxx-2023xxxxxxxx.tar root@<remote-server-ip>:/tmp

停止旧服务器 docker 服务

systemctl stop docker

新服务器恢复应用

创建 ONES 安装工作目录

mkdir -p /data/ones/pkg
cd /data/ones/pkg

将最新安装包(此次备份实例的安装包),拷贝到当前目录下,并解压

cp /tmp/ones-example-3.14.xxxxx.tar.gz   ./
tar -zxf ones-example-3.14.xxxxx.tar.gz
cd ones-example-3.14.xxxxx

将生成的备份包拷贝到最新的安装目录下

cp /tmp/ones-data_3.14.xxx-2023xxxxxxxx.tar ./

执行还原恢复命令,等待命令完成后几分钟 ONES 服务即可访问

./onesconfigure regain --p ones-data_3.14.xxx-2023xxxxxxxx.tar

如果新服务器使用的域名和旧服务器不一致则需要更新base_url

修改配置

./json-util -config config.json -operator add -key base_url -valtype string -value http://新服务器 IP

重启容器

containerID=$(docker ps |grep $(./json-util -config config.json -operator select -key deploy_name) | grep '0.0.0.0:'$(./json-util -operator select -key port -config ./config.json)'->' | awk '{print $1}')
./onesconfigure update $containerID
docker restart $containerID

验证

容器启动完成并稍等几分钟后,直接访问 HTTPS 的域名地址,例如 https://ones.example.com,如可正常访问则正常