生态社区

技术文档

麒麟软件 ha 介绍与使用升级

发布时间:2023-06-06    浏览次数:1002次    作者:湖南省计算产业生态创新中心 (长沙)

问题描述:

    关于公司的 ha 产品,附带的产品文档介绍太少,附带的服务脚本也太少,导致很多同事到了现场只是单纯的把服务拉起来,但是根本不知道服务高效使用和运行,碰到未自带启动脚本的服务,根本不知道如何添加使用。 

解决思路:

    公司的 ha 产品,基本上是基于社区的 ha 产品进行优化和修改,因此与市面上常用的各个 ha 产品本质上是差不多的,因此只首先查清楚产品构成是哪几款软件,然后再查相关的设置方式与使用方式即可。 

解决方式:

    为了解决这个长久的弊端问题,特意写了文档供学习和使用 ha,让各位现场部署的同事知道如何添加启动脚本,如何添加资源。 

(1)目前脚本有多种,简单一点通过 systemd 调用的服务启动脚本: 

[root@HA-1 ~]# vim aas_jd.service

[Unit]

Description=AASV9.0 Service_jd (9 自带) 

[Service]

Type=simpleExecStart=/opt/AAS/bin/startas(中间件启动脚本) 

ExecReload=/bin/kill -s HUP $MAINPID

ExecStopExecStop=/bin/kill -s QUIT $MAINPID

[Install]

WantedBy=multi-user.target

脚本放入/lib/systemd/system/ 目录下面,重启 ha 服务即可:systemctl restart pcsd ha-api,然后网页上的资源添加里,对应的services 资源里面就能找到自定义的脚本,同时也是监测管理的的资源 

(2)资源的规则设置(银河麒麟版 web 设置页面): 

1. 位置约束(location): 

资源对节点的倾向程度,通常可以使用一个分数(score)来定义,当 score

为正值时,表示资源倾向与此节点;负值表示资源倾向逃离于此节点。也可以将 score 定义为-inf(负无穷大)和 inf(正无穷大)。例如:有三个节点 rs1、rs2、rs3 当 rs1 是主节点且发生故障时,则比较 rs2 和 rs3 的 score 值,谁是正值,则资源将会转移到哪个节点上去。 

2. 排列约束(colocation): 

用来定义资源是否可以在一起,通常也是使用一个 score 来定义的。当 score 是正值表示资源可以在一起;否则表示不可以在一起。通过定义资源类型为 group 也可以来将所有资源绑定在一起。 

3. 顺序约束(order): 

用来定义资源启动和停止的顺序。例如,首先应该先挂载共享存储,在启动 httpd 或 mysqld 服务才行。 

规则 1:如果没有取到 pingd 的值或者对应的值不大于 0,则认为网络异常,那么当前节点为不可用。在“节点/规则”下的方框中输入“not_defined pingd or pingd lte 0”,在“分值”下的方框中输入“-INFINITY”,点击“添加”,完成设置。 

规则 2:如果磁盘剩余空间不大于 2G,则认为当前节点不可 

用。在“节点/规则”下的方框中输入“root_free lte integer 2”,在“分值”下的方框中输入“-INFINITY”,点击“添加”,完成设置。 

规则 3:如果内存空闲空间不大于 10M,则认为当前节点不可用。 

在“节点/规则”下的方框中输入“ram_free lte integer 10”,在“分值”下的方框中输入“-INFINITY”,点击“添加”,完成设置。 

规则 4:如果 CPU 负载大于 30,则认为当前节点不可用。 

在“节点/规则”下的方框中输入“cpu_load gt 30”,在“分值”下的方 框中输入“-INFINITY”,点击“添加”,完成设置。 

问题总结:

    大多数服务,都是基于开源的软件去进行再次设置的,根本上的原理不会改变,只需要去细心发现和善于搜索就能有一定的发现与进步