麒麟软件 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”,点击“添加”,完成设置。
问题总结:
大多数服务,都是基于开源的软件去进行再次设置的,根本上的原理不会改变,只需要去细心发现和善于搜索就能有一定的发现与进步