• Primecoin服务端更新--操作流程


    Primecoin服务端更新流程: 

    一、下载更新文件primecoin_x.y.z_xx.zip到/servers目录下:
    这里是把:版本primecoin0161alpha1更新到:版本primecoin0161alpha2


    二、备份之前版本:

    
    
    在/servers目录下执行:
    cp -r primecoin0161alpha1 primecoin0161alpha1.bar
    # cp -r:迭代复制,若目录下还有目录和文件需要用这个参数。


    三、停止服务:请用专用命令停止,不要直接pkill:

    
    
    在/servers/primecoin0161alpha1目录下执行:
    ./primecoin-cli -rpcuser=user -rpcpassword=password stop


    四、更新文件操作:

    方法一:替换整个旧版本。不推荐。
    1、和相关人员确认需要更新的文件。
    2、把更新的文件解压到/servers/primecoin0161alpha2目录下:

    在/servers目录下执行:(通过这个命令会自动生成primecoin0161alpha2目录)。
    unzip -qd ./primecoin0161alpha2 primecoin_0.16.1_alpha2.zip 
    #unzip -qd 指定路径 文件名。-d:指定路径;-q:不显示过程。

    3、删除之前primecoin0161alpha1文件,保留其备份文件primecoin0161alpha1.bar。
    4、到/servers/primecoin0161alpha2目录下执行启动服务的命令(见步骤“五、重新启动服务”)。


    方法二:通过拷贝替换旧版本没有的和旧的文件—推荐:
    注意:一般来说,其实不需要更换整个文件,可能会导致丢失重要文件。
    (1)要更新时,先对比一下新旧文件,需要和开发人员确定好需要更新的文件。
    (2)大部分情况:对于服务器来说,需要的只是更新“primecoin-cli primecoind**”这2个文件。
    (3)一定要给旧版本做备份(见步骤2)

    1、到/servers/primecoin0161alpha2目录下:
    2、把旧版本没有的文件,和**primecoin-cli primecoind**这2个主要的文件替换过去。
       cp lib primecoin-cli primecoind readme.txt runDeamon.sh runQt.sh /servers/primecoin0161alpha1
    3、然后可以回到/servers目录下删除primecoin0161alpha2:
       cd ..
       rm -rf primecoin0161alpha2
    4、再把primecoin0161alpha1改名为primecoin0161alpha2,为了识别版本:
       mv primecoin0161alpha1 primecoin0161alpha2


    五、重新启动服务:

    在/servers/primecoin0161alpha2目录下执行:
    ./primecoind -daemon -rpcuser=user -rpcpassword=password -txindex=1 -addrindex=1 -datadir="/servers/primecoin_data" -rpcallowip="::/0"

    PS:可以创建一个启动脚本start.sh,把这个启动命令写在里面。注意给脚本赋予执行权限。

    在/servers/primecoin0161alpha2目录下
    vim start.sh #写入以下内容:
    ./primecoind -daemon -rpcuser=user -rpcpassword=password -txindex=1 -addrindex=1 -datadir="/servers/primecoin_data" -rpcallowip="::/0"
    chmod +x start.sh #赋予start.sh执行权限


    六、 更新后仍需检测:
    1、查看区块链高度:
    ①先看官方最新的块高度
    https://bchain.info/XPM/


    ②再看服务器上的区块高度,若高度如果和最新高度一致,就说明节点数据是新的,一切在运行中。



    2、注意日志里面的异常信息,类似恶意网络请求的
    查看日志文件/servers/primecoin_data/debug.log:

    在/servers/primecoin_data目录下运行:
    tail -n50 debug.log

    若有如下报错:

    2018-08-29 01:42:11 socket recv error Connection reset by peer (104)
    2018-08-29 01:42:12 socket recv error Connection reset by peer (104)
    2018-08-29 01:42:12 socket recv error Connection reset by peer (104)
    2018-08-29 01:42:13 socket recv error Connection reset by peer (104)
    2018-08-29 01:42:13 socket recv error Connection reset by peer (104)
    ...

    这是有些恶意IP无法正常连接,影响服务正常启动,把之前禁用的一些IP禁掉。

    ./primecoin-cli -rpcuser=user -rpcpassword=password setban "100.116.42.0" "add" 8640000
    ./primecoin-cli -rpcuser=user -rpcpassword=password setban "100.116.110.3" "add" 8640000
    ./primecoin-cli -rpcuser=user -rpcpassword=password setban "100.116.42.0" "add" 8640000
    ./primecoin-cli -rpcuser=user -rpcpassword=password setban "100.116.111.1" "add" 8640000
    ./primecoin-cli -rpcuser=user -rpcpassword=password setban "100.116.110.130" "add" 8640000
    ./primecoin-cli -rpcuser=user -rpcpassword=password setban "100.116.183.2" "add" 8640000
    ./primecoin-cli -rpcuser=user -rpcpassword=password setban "100.116.105.131" "add" 8640000
    ./primecoin-cli -rpcuser=user -rpcpassword=password setban "100.116.183.3" "add" 8640000
    ./primecoin-cli -rpcuser=user -rpcpassword=password setban "100.116.111.3" "add" 8640000
    ./primecoin-cli -rpcuser=user -rpcpassword=password setban "100.116.42.1" "add" 8640000
    ./primecoin-cli -rpcuser=user -rpcpassword=password setban "100.116.110.2" "add" 8640000
    ./primecoin-cli -rpcuser=user -rpcpassword=password setban "100.116.183.128" "add" 8640000
    ./primecoin-cli -rpcuser=user -rpcpassword=password setban "100.116.105.130" "add" 8640000
    ./primecoin-cli -rpcuser=user -rpcpassword=password setban "100.116.42.128" "add"  8640000
    ./primecoin-cli -rpcuser=user -rpcpassword=password setban "100.116.110.128" "add" 8640000

    参考《primecoin 全节点日常维护操作》:


    七、这一系列流程不要临时手动操作,最好先写好脚本,让服务器后台自动运行。
    否则若操作中途遇到各种故障,比如公司网络突然断线,就会导致整个服务瘫痪,带来不可估量损失。


    八、服务器更新原则参考:

    1. 一切操作的前提是服务的高可用性,高效性。
    2. 更新操作之前要有应对突发事件的准备(例如:更新失败,网络错误,硬件故障等等意想不到的能导致服务失败的可能性)
    3. 确保相关人员在更新操作后2个小时内能够及时响应。(建议周一——-周四,上午 10.00,下午 15.00,其他时间不推荐更新操作)
    4. 确保服务程序可以回退到更新前的版本,保证高可用性
    5. 多台服务,先更新一台,然后验证功能是否正常,确认无误后可以更新其他服务(要准备相关验证脚本或工具)
    6. 更新操作过程尽可能原子化 (推荐使用更新脚本或其他工具,后台执行,避免操作端出现意外故障导致更新操作处于中间状态)
    7. 要熟悉每个服务的相关指令和参数,加强岗位技能
    8. 只做必要操作(和本次更新无关的操作禁止执行)
    9. 针对每项服务要有更新流程清单。(记录每一步需要的操作和注意事项)
  • 相关阅读:
    iOS7 界面适配-NavigationBar StateBar
    ios UIScrollView 基础属性
    保存图片信息通过NSData保存到本地文件中
    根据UIScrollView 滑动获取当前页数
    iOS工程通用模块介绍
    ios--appDelegate切换根视图rootViewController(最常用的场合是首次启动跳至导航ViewController)
    使用UIGestureRecognizer监听屏幕事件
    Introduction to CocoaPods Tutorial
    最基本的添加头像
    MFC多语言程序版本,在不同的windows系统上的使用 FP_SetThreadUILanguage
  • 原文地址:https://www.cnblogs.com/sinsenliu/p/9554125.html
Copyright © 2020-2023  润新知