分类 工作备忘 下的文章

cntools的各个组件,主要指配置文件 $CNODE_HOME/env 会经常性的自动更新到和服务器上的最新版本
由于众所周知的网络原因经常会发生更新下载不完整或者下载失败,配置文件不完整导致 cnode在定期自检重启的时候会启动失败
查看运行状态

systemctl status cnode

systemctl status cnode
● cnode.service - Cardano Node
     Loaded: loaded (/etc/systemd/system/cnode.service; enabled; vendor preset: enabled)
     Active: inactive (dead) (Result: exit-code) since Fri 2021-06-25 17:02:08 UTC; 298ms >
    Process: 574350 ExecStart=/bin/bash -l -c exec /opt/cardano/cnode/scripts/cnode.sh (code exited 128 ...

以上是注册为后台服务的方式,检测到服务掉线还会自动执行重启
下面还会有个自动重启次数,当我发现的时候已经尝试重启已经达到 1万7千多次

...
手动执行 cnode.sh 启动,得到错误提示:

./cnode.sh
InvalidYaml (Just (YamlException "Yaml file not found: "))

cardano-node: YAML exception:
Yaml file not found: 

事实上并不是什么 yaml的问题,检查 env 文件,发现被自动替换成了一个5k字节的新文件。淦
幸好env更新的时候会自动备份,把最后一个备份恢复替换env文件即可启动成功

mv env env.bak
cp env_bkp1624640864 env
ls -l

-rw-r--r--  1 root root  41980 Jun 25 17:07 env
-rwxr-xr-x  1 root root   5314 Jun 23 19:43 env.bak*
-rwxr-xr-x  1 root root   5314 Jun 23 20:00 env.bak20210501*
-rwxr-xr-x  1 root root  12146 Jun 23 20:00 env.bak202105121559*
-rwxr-xr-x  1 root root  24802 Jan 29 10:35 env_bkp1611916514*
-rwxr-xr-x  1 root root  27506 Jan 29 16:23 env_bkp1611937427*
-rwxr-xr-x  1 root root  27932 Feb 12 04:38 env_bkp1613104707*
-rwxr-xr-x  1 root root  27896 Mar  2 14:04 env_bkp1614693852*
-rwxr-xr-x  1 root root  29011 Mar  2 14:16 env_bkp1614694618*
-rwxr-xr-x  1 root root  29743 Mar 16 21:53 env_bkp1615931614*
-rwxr-xr-x  1 root root  29744 Mar 20 11:52 env_bkp1616241170*
-rwxr-xr-x  1 root root  29828 Mar 20 17:24 env_bkp1616261083*
-rwxr-xr-x  1 root root  29825 Apr  7 17:04 env_bkp1617815073*
-rwxr-xr-x  1 root root  31870 Apr  8 03:10 env_bkp1617851419*
-rwxr-xr-x  1 root root  31910 Apr 11 17:08 env_bkp1618160924*
-rwxr-xr-x  1 root root  32049 Apr 11 17:59 env_bkp1618163989*
-rwxr-xr-x  1 root root  32049 Apr 15 21:42 env_bkp1618522974*
-rwxr-xr-x  1 root root  32091 Apr 30 17:08 env_bkp1619802511*
-rwxr-xr-x  1 root root  32091 May  3 21:08 env_bkp1620076095*
-rwxr-xr-x  1 root root  40064 May 12 07:56 env_bkp1620806177*
-rwxr-xr-x  1 root root  40064 May 17 14:08 env_bkp1621260538*
-rwxr-xr-x  1 root root  40140 May 24 01:32 env_bkp1621819973*
-rwxr-xr-x  1 root root  40190 May 25 10:37 env_bkp1621939057*
-rwxr-xr-x  1 root root  40355 Jun 17 16:27 env_bkp1623947272*
-rwxr-xr-x  1 root root  40355 Jun 23 19:39 env_bkp1624477188*
-rwxr-xr-x  1 root root  40355 Jun 23 19:43 env_bkp1624477402*
-rwxr-xr-x  1 root root  40355 Jun 25 17:07 env_bkp1624640864*

此时再次被提示是否升级新版本,输入 yes
检查更新后的新文件依然有 41k 大小,应该是完整的。
执行节点重启

systemctl restart cnode

成功没有问题,故障解决。

没什么技术含量的一篇,纯备忘。ll

这是一条简短备忘。

除去github 的 realease公告声明的变化之外,受到相关说明 #2415 的影响 cardano-cli 将不再支持参数 --mary-era

原因是 已经被默认指定为 mary era。继续使用这个参数会导致报错:未知参数。

发现这个是由于更新到1.26.1后原先在 1.25.1 写的几个发token的脚本出错,检查下来发现时这个参数的问题。

节点最近负载升高,需要的内存量激增。偶尔在压力高峰会出现 OOM而闪退。
在硬件内存到货升级之前,折中方案增大swap把峰值内存压力给抗下来。

下面是流水账:

创建8G 大小 swap文件

cd /
mkdir swap && cd swap
dd if=/dev/zero of=/swap/swapfile bs=1G count=8
chmod 600 swapfile
mkswap -f swapfile

启用swap

swapon /swap/swapfile

开机自启

vi /etc/fstab
#增加一行
/swap/swapfile            none            swap    sw         0       0

或在启动脚本或cron内在开机时再执行一次 启用swap的命令均可。

参考文: https://blog.51cto.com/moerjinrong/2376788

一台比较老旧的centos6机器,因为有比较细碎分散的业务在跑,不宜大刀阔斧升级或更换操作系统版本怕有遗漏后续的运维风险高。
熟悉centos6的都知道原生python是 2.7环境,yum最高支持到 python3.45,没有pip3 导致很多额外的模块安装不便,同样基于上述生产环境理由,不想用手动编辑安装的方式强行升级到python3.7。

今天用到一个脚本需要xlrd处理excel文档。
下文简要备忘安装经过



- 阅读剩余部分 -

申请免费的 DV TLS 证书,采用文件方式验证的时候需要在 /.well-known/pki-validation/fileauth.txt
写入特定的字符串提交审核。

但默认这个 /.* 的路径 nginx 的访问规则是保护不允许访问的所以会提示 403

解决办法也很简单,为这个指定的路径开放访问权限即可
在 nginx.conf 或 vhost 文件中的 server{} 内增加以下内容(注意规则顺序避免被其他规则覆盖或提前拦截)

server
    {
        ...

        #ssl auth file
        location ~ /.well-known {
            allow all;
        }

        ...
    }

保存后重启nginx即可
注意阿里云的SSL验证不去检查https而是以http为准,所以务必80和443两个配置都要加上以上规则。试过只设置https验证失败