openstack虚拟机管理器显示内存与实际使用内存不符

现象:研发反馈服务访问不了,登录检查发现openstack-3物理机里的多台虚拟机关机了

查看message,无明显报错,查看控制台内存(已用)104.5GB,还是有可剩余内存的,

经过长时间排查,发现这个参数仅仅只是当初建立虚拟机实例时,分配定额,例如你实例是8G,这里“内存(已用)”就占用了8个G,

实际根本没有用到这么多8G,或者在服务运行过程中,早已超出了8G,但这个控制台界面显示的内存占用是不准确的,期初是设置了允许超配的

由于是测试环境,只加了虚拟机节点监控,怀疑是内存不足导致关机,添加加了zabbix内存监控,运行一段时间后,观察实际剩余内存12G,并不是图1的21G,如下图,

如果把关机的虚拟机开起来,估计物理机内存不足又会关机

操作:资源充足情况下增加多了一台物理机,并把openstack-3上的虚拟机热迁移了部分出来到其他空闲的物理机上,问题解决。

总结:控制台的内存展示不准确,自己部署zabbix监控,

而且openstack设置实例内存权重参数未生效,还是要手工平均分配虚拟机

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在OpenStack中,可以使用Nova调度器来控制虚拟机的放置。默认情况下,Nova调度器会根据一定的规则将虚拟机放置在可用的计算节点上。如果需要修改调度器规则,可以使用Nova Scheduler Filters和Weighers。 要将虚拟机放置在load最低的节点上,可以使用Nova Scheduler Filters中的LoadFilter。LoadFilter会根据计算节点的负载情况筛选出负载最低的节点。要使用LoadFilter,需要在nova-scheduler.conf中添加以下配置: ``` scheduler_default_filters = RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,LoadFilter ``` 这样配置后,Nova调度器会优先将虚拟机放置在负载最低的节点上。同时,可以使用Nova Weighers进一步调整节点的优先级。例如,可以使用CPUWeigher或RAMWeigher来根据节点的CPU或内存情况调整节点的优先级,使得更适合放置虚拟机的节点优先级更高。 需要注意的是,LoadFilter需要计算节点的负载情况,因此需要开启Nova compute节点上的nova-compute-stats-api服务。可以在nova.conf中添加以下配置: ``` compute_monitors = nova.compute.monitors.cpu.monitors.LoadMonitor ``` 这样配置后,Nova compute节点会定期采集计算节点的负载情况,并将其报告到nova-scheduler服务中。这样,Nova Scheduler就可以根据节点的负载情况来做出更合理的虚拟机放置决策。 ### 回答2: 在OpenStack中,调度器的作用是根据一定的规则将虚拟机(VM)分配到合适的计算节点上,以提供高效的计算资源利用和服务质量。如果要修改调度器规则为将VM放置到负载最低的节点上,需要进行以下几个步骤: 1. 确定负载计算规则:首先,需要确定负载的计算规则或指标,常见的负载指标包括CPU利用率、内存使用率、磁盘IO、网络带宽等。根据实际需求,选择一个或多个合适的负载指标来评估计算节点的负载。 2. 在调度器中增加负载计算逻辑:打开OpenStack调度器的源代码,通过添加负载计算逻辑,计算每个计算节点的负载值。可以根据负载指标的权重和计算公式来计算节点的加权负载值,然后将其与其他节点进行比较。 3. 修改调度器的调度规则:在调度器的调度规则中,根据负载值选择负载最低的计算节点。可以使用最小负载优先的策略,即将VM分配给负载最低的计算节点;也可以设置负载的阈值,只有当负载低于阈值时才会将VM分配给该计算节点。 4. 部署和测试:将修改后的调度器部署到OpenStack环境中,并进行测试验证。可以创建一些虚拟机实例,观察调度器是否将其分配到负载较低的计算节点上。 通过以上步骤,我们可以成功将OpenStack的调度器规则修改为将虚拟机放置到负载最低的计算节点上的调度器。这样可以减轻部分计算节点的负载,提高整体系统的性能和资源利用率。 ### 回答3: 在OpenStack中,修改调度器规则为会将虚拟机(Virtual Machine, VM)放置到负载最低的节点上的调度器是非常重要的。当OpenStack集群中的节点数量增加时,节点的负载均衡变得尤为关键,以确保资源的高效利用和性能的优化。 为了实现这一目标,可以进行以下步骤来修改调度器规则: 1. 调查调度器规则:首先,需要了解当前OpenStack集群中默认的调度器规则。OpenStack使用Nova调度器来负责VM的调度,这些规则可能会根据不同的部署环境和需求而有所不同。可以通过查阅OpenStack文档或参考配置文件来获取这些信息。 2. 修改调度器参数:找到并编辑Nova调度器的配置文件(通常命名为nova.conf)。在此文件中,可以找到与调度器规则相关的参数,例如scheduler_default_filters和scheduler_weight_classes。根据需求,可以使用适当的过滤器和权重类来定义新的调度器规则。 3. 实现调度算法:修改调度器代码以实现根据负载最低原则进行VM放置的调度算法。可以使用负载均衡技术,例如加权轮询或最小连接数,来选择负载最低的节点。在此过程中,需要考虑节点的各项指标,如CPU使用率、内存利用率、网络流量等。 4. 测试和验证:完成修改调度器规则后,需要进行测试和验证以确保其正常运行。可以通过创建虚拟机并观察其被分配到的节点来验证调度器规则是否生效。同时,还可以使用负载测试工具模拟高负载场景,以验证调度器能够正确地将VM放置在负载最低的节点上。 通过以上步骤,可以在OpenStack中修改调度器规则,使其能够根据负载最低原则将虚拟机放置到最合适的节点上,从而提高集群的性能和资源利用率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值