系统迁移
将现有 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
,如可正常访问则正常