pacemaker之资源布局

2024-05-31 13:48
文章标签 布局 资源 pacemaker

本文主要是介绍pacemaker之资源布局,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一 集群属性

设置placement-strategy集群属性,否则容量配置无效。

placement-strategy集群属性可用值:

- default: 根本不考虑utilization属性值。根据分配分数分配资源。如果分数相等,则资源在节点间均匀分布。

- utilization: 只有在决定一个节点是否合格(即,它是否有足够的空闲容量来满足资源的需求)时才会考虑utilization属性值。负载平衡仍然是基于分配给节点的资源数量来完成的。

- balanced:在决定节点是否符合提供资源的条件和负载平衡时,会考虑到utilization属性值,因此尝试以优化资源性能的方式来传播资源。

- minimal: 只有在决定节点是否有资格为资源提供服务时,才会考虑utilization属性值。对于负载平衡,尝试将资源集中在尽可能少的节点上,从而在剩余节点上实现可能的节能。

下面的示例命令将placement-strategy的值设置为balanced。运行此命令后,Pacemaker将确保资源负载在整个集群中均匀分布,而不需要复杂的托管约束集。

本例中仅仅判断容量

# pcs property set placement-strategy=utilization

 

二 节点容量

2.1 设置固定节点容量

节点node1被定义为提供两个CPU容量和2048个RAM容量;

节点node2被定义为提供4个CPU容量和2048个RAM容量;

# pcs node utilization node1 cpu=2 memory=2048

# pcs node utilization node2 cpu=4 memory=2048

注意:通过pcs node utilization命令设置的值更新到cib中,是一个规划的固定值
 

2.2 设置动态更新节点容量

可以通过集群克隆资源NodeUtilization来配置动态更新cib中的node容量

# pcs resource describe NodeUtilization
Assumed agent name 'ocf:heartbeat:NodeUtilization' (deduced from 'NodeUtilization')
ocf:heartbeat:NodeUtilization - Node Utilization

The Node Utilization agent detects system parameters like available CPU, host
memory and hypervisor memory availability, and adds them into the CIB for each
node using crm_attribute. Run the agent as a clone resource to have it populate
these parameters on each node.
Note: Setting hv_memory only works with Xen at the moment, using the xl or xm
command line tools.

Resource options:
  dynamic: If set, parameters will be updated if there are differences between the HA parameters and the system values when running the monitor action. If not set, the parameters will be set once when the
           resource instance starts.
  utilization_cpu: Enable setting node CPU utilization limit.
  utilization_cpu_reservation: Subtract this value when setting the CPU utilization parameter.
  utilization_host_memory: Enable setting available host memory.
  utilization_host_memory_reservation: Subtract this value when setting host memory utilization, in MB.
  utilization_hv_memory: Enable setting available hypervisor memory.
  utilization_hv_memory_reservation: Subtract this value when setting hypervisor memory utilization, in MB.

Default operations:
  start: interval=0s timeout=90s
  stop: interval=0s timeout=100s
  monitor: interval=60s timeout=20s

 

# pcs resource create p_NodeUtilization ocf:heartbeat:NodeUtilization op monitor timeout="20s" interval="60s"  clone

每个节点会启动一个监控

# pcs resource config p_NodeUtilization
 Resource: p_NodeUtilization (class=ocf provider=heartbeat type=NodeUtilization)
  Operations: monitor interval=60s timeout=20s (p_NodeUtilization-monitor-interval-60s)
              start interval=0s timeout=90s (p_NodeUtilization-start-interval-0s)
              stop interval=0s timeout=100s (p_NodeUtilization-stop-interval-0s)

# pcs status resources
  * VirtualIP    (ocf::heartbeat:IPaddr2):     Started hatest2
  * dummy    (ocf::heartbeat:Dummy):     Started hatest2
  * Clone Set: p_NodeUtilization-clone [p_NodeUtilization]:
    * Started: [ hatest1 hatest2 ]

可见,自动为node添加了utilization设置

# pcs node utilization
Node Utilization:
 hatest1: cpu=3 host_memory=2894 hv_memory=0
 hatest2: cpu=3 host_memory=2894 hv_memory=0

cpu计算方式:grep -c processor /proc/cpuinfo

host_memory计算方式:awk '/MemTotal/{printf("%d\n",$2/1024);exit(0)}' /proc/meminfo

hv_memory计算方式:xl info | awk '/total_memory/{printf("%d\n",$3);exit(0)}'  或者 xm info | awk '/total_memory/{printf("%d\n",$3);exit(0)}'

将实时计算出来的值与cib中的整数类型值比较,不相等,将使用计算出来的值更新到cib中

crm_attribute -t nodes --node "$host_name" -z -n cpu -v $sys_cpu

crm_attribute -t nodes --node "$host_name" -z -n host_memory -v $sys_mem

crm_attribute -t nodes --node "$host_name" -z -n hv_memory -v $hv_mem

 

三 资源容量

下面的示例指定了三个不同资源所需的相同利用率属性。

在本例中:

资源dummy-small要求CPU容量为1,RAM容量为1024

资源dummy-medium要求CPU容量为2,RAM容量为2048

资源dummy-large需要CPU容量为1,RAM容量为3072

# pcs resource utilization dummy-small cpu=1 memory=1024

# pcs resource utilization dummy-medium cpu=2 memory=2048

# pcs resource utilization dummy-large cpu=3 memory=3072

如果节点有足够的空闲容量来满足资源的需求(例如utilization属性定义的),则认为节点有资格运行资源。

 

四 其他

4.1 通过设置空值取消容量设置

pcs node utilization node1 cpu=4 ram=

pcs resource utilization TestResource cpu= ram=20

4.2 查看容量设置

pcs node utilization

pcs resource utilization

 

 

这篇关于pacemaker之资源布局的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1018103

相关文章

python使用watchdog实现文件资源监控

《python使用watchdog实现文件资源监控》watchdog支持跨平台文件资源监控,可以检测指定文件夹下文件及文件夹变动,下面我们来看看Python如何使用watchdog实现文件资源监控吧... python文件监控库watchdogs简介随着Python在各种应用领域中的广泛使用,其生态环境也

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

lvgl8.3.6 控件垂直布局 label控件在image控件的下方显示

在使用 LVGL 8.3.6 创建一个垂直布局,其中 label 控件位于 image 控件下方,你可以使用 lv_obj_set_flex_flow 来设置布局为垂直,并确保 label 控件在 image 控件后添加。这里是如何步骤性地实现它的一个基本示例: 创建父容器:首先创建一个容器对象,该对象将作为布局的基础。设置容器为垂直布局:使用 lv_obj_set_flex_flow 设置容器

49个权威的网上学习资源网站

艺术与音乐 Dave Conservatoire — 一个完全免费的音乐学习网站,口号是“让每一个人都可以接受世界级的音乐教育”,有视频,有练习。 Drawspace — 如果你想学习绘画,或者提高自己的绘画技能,就来Drawspace吧。 Justin Guitar — 超过800节免费的吉他课程,有自己的app,还有电子书、DVD等实用内容。 数学,数据科学与工程 Codecad

Apache Tiles 布局管理器

陈科肇 =========== 1.简介 一个免费的开源模板框架现代Java应用程序。  基于该复合图案它是建立以简化的用户界面的开发。 对于复杂的网站,它仍然最简单,最优雅的方式来一起工作的任何MVC技术。 Tiles允许作者定义页面片段可被组装成在运行一个完整的网页。  这些片段,或Tiles,可以用于为了降低公共页面元素的重复,简单地包括或嵌入在其它瓦片,制定了一系列可重复使用

【CSS in Depth 2 精译_023】第四章概述 + 4.1 Flexbox 布局的基本原理

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对单位的威力2.2 em 与 rem2.3 告别像素思维2.4 视口的相对单位2.5 无单位的数值与行高2.6 自定义属性2.7 本章小结 第三章 文档流与盒模型(已

汇编:嵌入式软件架构学习资源

成为嵌入式软件架构设计师需要掌握多方面的知识,包括嵌入式系统、实时操作系统、硬件接口、软件设计模式等。 以下是一些推荐的博客和网站,可以帮助你深入学习嵌入式软件架构设计: ### 1. **Embedded.com**    - **网址**: [Embedded.com](https://www.embedded.com/)    - **简介**: 这是一个专注于嵌入式系统设计的专业网

ConstraintLayout布局里的一个属性app:layout_constraintDimensionRatio

ConstraintLayout 这是一个约束布局,可以尽可能的减少布局的嵌套。有一个属性特别好用,可以用来动态限制宽或者高app:layout_constraintDimensionRatio 关于app:layout_constraintDimensionRatio参数 app:layout_constraintDimensionRatio=“h,1:1” 表示高度height是动态变化

Unity 资源 之 Super Confetti FX:点亮项目的璀璨粒子之光

Unity 资源 之 Super Confetti FX:点亮项目的璀璨粒子之光 一,前言二,资源包内容三,免费获取资源包 一,前言 在创意的世界里,每一个细节都能决定一个项目的独特魅力。今天,要向大家介绍一款令人惊艳的粒子效果包 ——Super Confetti FX。 二,资源包内容 💥充满活力与动态,是 Super Confetti FX 最显著的标签。它宛如一位

html记账本改写:数据重新布局,更好用了,没有localStorage保存版本

<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><title>htm记账本</title><style>table {user-select: none;/* width: 100%; */border-collapse: collapse;}table,th,td {border: 1px solid bla