转至元数据结尾
转至元数据起始

正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史

« 上一页 版本 4 下一步 »

本文信息为锁老师交接的相关文档,时间为2023年1月份,背景为从一个AWS账户迁移到另外一个AWS账户,其操作均由锁元老师完成,其中有些信息仅供参考。

==============

结构


info站的数据是在scan索引数据时做了一些统计,记录到pg数据库;然后通过api提供给前端。

  1. 前端代码:https://github.com/Elements-Studio/info-starswap

  2. 接口代码:(可以迁移到Elements-Studio组织下)https://github.com/fountainchen/swap-stat-api

  3. 数据索引:https://github.com/MoveScan/StcScan ,这块是跟scan索引数据起了一些独立的handle来为swap统计定制数据

  4. db数据库:目前用的postgresql存储,每个网络一个schema,建表语句:
    https://github.com/MoveScan/StcScan/tree/main/starcoin-indexer/deploy/create_table.sql

迁移回退到老账号流程

1、先在老的账户下创建pg的db,将新账号下:starswap-info 库整个迁移回去
2、在老账户下,将原stcscan的indexer的配置改成第一步的新建实例
kube/indexer/下 database-swap.czftx6muneg7.ap-northeast-1.rds.amazonaws.com 这个免费实例改成新的
3、前两步数据索引正常执行,在老账户下启动接口部分的服务
改下db配置,直接apply deploy/kube/swap-stat-api-deployment.yaml
4、将前端的访问的域名改到第三步启动的服务上完成迁移

迁移流程详细checklist:

1、在老账户下开通info的库,建role和db
psql -U postgres -h database-1.c0bz9kehdvnb.ap-northeast-1.rds.amazonaws.com
CREATE ROLE starcoin WITH PASSWORD '{password}' CREATEDB CREATEROLE LOGIN;
GRANT rds_superuser TO starcoin;
grant starcoin TO postgres;
create database starcoin owner starcoin;
1、停止新账户的索引服务,这样新的数据不会再写入。
kubectl -n starcoin-main delete deployment starswap-info-deployment
2、将info库导出到文件
(1)、在k8s的宿主机上操作:(需要检查是否有pg命令,访问info库的权限)
pg_dump -U starcoin -h starswap-info.czftx6muneg7.ap-northeast-1.rds.amazonaws.com -d starcoin > info20230112.sql
(2)、将文件压缩传到跳板机
(3)、从新账户跳板机传到旧账户跳板机
(4)、传到K8s的宿主机(需要检查是否有pg命令,访问info库的权限)
psql -U starcoin -h starswap-info.czftx6muneg7.ap-northeast-1.rds.amazonaws.com -d starcoin < info20230112.sql
3、启动api服务
在swap-stat-api项目中修改配置到第一步的新库地址:
https://github.com/fountainchen/swap-stat-api/blob/master/deploy/kube/swap-stat-api-deployment.yaml
kubectl apply -f deploy/kube/swap-stat-api-deployment.yaml
验证接口是否正常?
部署服务:
kubectl apply -f deploy/kube/service-swap-stat-api.yaml
4、启动indexer服务
在StcScan项目中,恢复swap_transaction,swap_stats,price_hour,price_stat,swap_pool_fee_stat这几个job的配置
kubectl apply -f starcoin-indexer-swap-main-deployment.yaml
修改所有indexer的db配置,重新apply一下
kubectl apply -f starcoin-indexer-barnard-deployment.yaml
kubectl apply -f starcoin-indexer-main-deployment.yaml
kubectl apply -f starcoin-indexer-halley-deployment.yaml
kubectl apply -f starcoin-indexer-proxima-deployment.yaml
查看日志是否正常?
5、切换api的域名指向新的service
kubectl get service 获取service的aws域名
更改dns地址解析

  • 无标签