openstack 不能调度到某主机上分析

dashboard显示有足够资源创建虚拟机

创建一个1c2g20g配置的虚拟机,在过滤时把10-197-0-2这个主机过滤掉了,日志如下:

2024-03-25 17:52:14.087 26 DEBUG nova.scheduler.filters.disk_filter [req-8f2f32fb-1efe-4e5d-81fc-618210c7c76d 773d668892074e86a2ef8ba10b833d84 774e02ab524441ba9dcdfc679ea42b4c - default default] (10-197-0-2, 10-197-0-2) ram: 84620MB disk: 2048MB io_ops: 0 instances: 13 does not have 20480 MB usable disk, it only has 2048.0 MB usable disk. host_passes /var/lib/kolla/venv/lib/python2.7/site-packages/nova/scheduler/filters/disk_filter.py:94

说明:该主机10-197-0-2只有2048.0MB的磁盘空间,不能调度到该主机上

继续看日志:

Update host state from compute node: ComputeNode(cpu_allocation_ratio=16.0,cpu_info='{"vendor": "Intel", "model": "Skylake-Server-IBRS", "arch": "x86_64", "features": ["pku", "rtm", "tsc_adjust", "vme", "pge", "xsaveopt", "smep", "fpu", "lm", "tsc", "adx", "fxsr", "tm", "pclmuldq", "xgetbv1", "tsc-deadline", "arat", "de", "aes", "pse", "sse", "f16c", "ds", "mpx", "avx512f", "avx2", "pbe", "cx16", "ds_cpl", "movbe", "intel-pt", "ospke", "vmx", "sep", "avx512dq", "stibp", "xsave", "erms", "hle", "est", "smx", "abm", "sse4.1", "sse4.2", "ssbd", "acpi", "mmx", "osxsave", "clwb", "dca", "popcnt", "invtsc", "tm2", "pcid", "pdcm", "avx512vl", "x2apic", "smap", "clflush", "dtes64", "xtpr", "avx512bw", "msr", "fma", "cx8", "mce", "avx512cd", "mca", "lahf_lm", "rdseed", "apic", "fsgsbase", "rdtscp", "ssse3", "pse36", "mtrr", "avx", "syscall", "invpcid", "cmov", "spec-ctrl", "clflushopt", "pat", "3dnowprefetch", "nx", "pae", "md-clear", "ht", "pdpe1gb", "rdrand", "xsavec", "pni", "sse2", "ss", "bmi1", "bmi2", "xsaves"], "topology": {"cores": 10, "cells": 1, "threads": 2, "sockets": 2}}',created_at=2023-03-10T02:26:28Z,current_workload=0,deleted=False,deleted_at=None,disk_allocation_ratio=1.0,disk_available_least=2,free_disk_gb=84,free_ram_mb=84620,host='10-197-0-2',host_ip=10.197.0.2,hypervisor_hostname='10-197-0-2',hypervisor_type='QEMU',hypervisor_version=2012000,id=12,local_gb=549,local_gb_used=465,mapped=1,memory_mb=128240,memory_mb_used=43620,metrics='[]',numa_topology='{"nova_object.version": "1.2", "nova_object.changes": ["cells"], "nova_object.name": "NUMATopology", "nova_object.data": {"cells": [{"nova_object.version": "1.4", "nova_object.changes": ["network_metadata", "cpu_usage", "memory_usage", "cpuset", "mempages", "pinned_cpus", "siblings", "memory", "pcpuset", "id"], "nova_object.name": "NUMACell", "nova_object.data": {"memory": 128240, "network_metadata": {"nova_object.version": "1.0", "nova_object.changes": ["physnets", "tunneled"], "nova_object.name": "NetworkMetadata", "nova_object.data": {"physnets": [], "tunneled": false}, "nova_object.namespace": "nova"}, "cpu_usage": 0, "memory_usage": 0, "cpuset": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "pinned_cpus": [], "siblings": [[1, 21], [10, 30], [11, 31], [34, 14], [0, 20], [25, 5], [8, 28], [9, 29], [32, 12], [24, 4], [35, 15], [27, 7], [18, 38], [2, 22], [19, 39], [17, 37], [3, 23], [33, 13], [26, 6], [16, 36]], "mempages": [{"nova_object.version": "1.1", "nova_object.changes": ["total", "used", "reserved", "size_kb"], "nova_object.name": "NUMAPagesTopology", "nova_object.data": {"used": 0, "total": 32829531, "reserved": 0, "size_kb": 4}, "nova_object.namespace": "nova"}, {"nova_object.version": "1.1", "nova_object.changes": ["total", "used", "reserved", "size_kb"], "nova_object.name": "NUMAPagesTopology", "nova_object.data": {"used": 0, "total": 0, "reserved": 0, "size_kb": 2048}, "nova_object.namespace": "nova"}, {"nova_object.version": "1.1", "nova_object.changes": ["total", "used", "reserved", "size_kb"], "nova_object.name": "NUMAPagesTopology", "nova_object.data": {"used": 0, "total": 0, "reserved": 0, "size_kb": 1048576}, "nova_object.namespace": "nova"}], "pcpuset": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "id": 0}, "nova_object.namespace": "nova"}]}, "nova_object.namespace": "nova"}',pci_device_pools=PciDevicePoolList,ram_allocation_ratio=1.5,running_vms=13,service_id=None,stats={failed_builds='0',io_workload='0',num_instances='13',num_os_type_None='13',num_proj_514e22c33ba94e1e81454ec813999aa6='9',num_proj_774e02ab524441ba9dcdfc679ea42b4c='4',num_task_None='13',num_vm_active='13'},supported_hv_specs=[HVSpec,HVSpec,HVSpec,HVSpec],updated_at=2024-03-25T09:39:23Z,uuid=c6c68e56-7e23-4e79-974c-886de389819a,vcpus=40,vcpus_used=23) _locked_update /var/lib/kolla/venv/lib/python2.7/site-packages/nova/scheduler/host_manager.py:172

可以看到"disk_available_least=2,free_disk_gb=84"是以disk_available_least作为filter判断标准。

看源码看这个值disk_available_least如何获取:

        disk_over_committed = self._get_disk_over_committed_size_total()available_least = disk_free_gb * units.Gi - disk_over_committeddata['disk_available_least'] = available_least / units.Gi
           elif disk_type == 'file' and driver_type == 'qcow2':qemu_img_info = disk_api.get_disk_info(path)dk_size = qemu_img_info.disk_sizevirt_size = qemu_img_info.virtual_sizebacking_file = libvirt_utils.get_disk_backing_file(path)over_commit_size = int(virt_size) - dk_size

disk_available_least =主机实际的空闲磁盘空间 - 所有虚拟机可增量的磁盘空间

分析:'所有虚拟机可增量的磁盘空间'这个值是准确的,和dashboard分配的disk一致,disk_available_least过小,主要是'主机实际的空闲磁盘空间'过下。

再看主机实际的磁盘使用量:

root@10-197-0-2:~# df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs   63G     0   63G   0% /dev
tmpfs          tmpfs      63G     0   63G   0% /dev/shm
tmpfs          tmpfs      63G  999M   62G   2% /run
tmpfs          tmpfs      63G     0   63G   0% /sys/fs/cgroup
/dev/sda2      xfs       550G  100G  450G  19% /

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/779658.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode: 面试题 16.05. 阶乘尾数 + 阶乘】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

俄罗斯深陷芯片自主困境,良率仅5成 |百能云芯

俄罗斯的芯片产业一直以来都面临着诸多挑战,尤其是在当前的国际形势下,这些挑战更加凸显。随着俄乌冲突的爆发,西方国家对俄罗斯实施了一系列经济制裁,导致俄罗斯科技产业受到了严重影响。据了解,俄国最大的本土芯片厂…

Redis的数据类型String使用场景实战

Redis的数据类型String使用场景实战 String模型的使用场景 常见面试题:redis在你们项目是怎么使用的?String类型说一个,还有其他用处没? 知识回顾 // 获取redis的key为 WATCH_KEEPER_PREFIX "wka" 的值String wka …

Ubuntu修改自启动软件或程序

Ubuntu修改自启动软件或程序 在编译程序的时候发现速度很慢,查找发现自启动选项太多,cpu占用率越来越高,现在进行查询并修改权限。 1、查找当前进程 top2、选择相对于的服务查找是否自启动设置 systemctl list-unit-files该指令用以下显示…

关于style/class的几种写法

一. style写法 1. <div :style"{ width: 13px, height: 13px, borderRadius: 50%, backgroundColor: this.dataObj.status red ? red : this.dataObj.status yellow ? yellow : this.dataObj.status green ? #1eab75 : }"></div> 2. <div :st…

[Java、Android面试]_14_Retrofit的作用

本人今年参加了很多面试&#xff0c;也有幸拿到了一些大厂的offer&#xff0c;整理了众多面试资料&#xff0c;后续还会分享众多面试资料。 整理成了面试系列&#xff0c;由于时间有限&#xff0c;每天整理一点&#xff0c;后续会陆续分享出来&#xff0c;感兴趣的朋友可关注收…

二维数组中a[0] 和 a[0]的区别

在C语言中&#xff0c;二维数组是以连续内存块的形式存储的&#xff0c;其中每个元素都是数组。让我们来看看a[0]和&a[0]的区别&#xff1a; a[0]&#xff1a;这表示二维数组的第一个元素&#xff0c;也就是第一行的地址。在内存中&#xff0c;它代表的是第一行的起始地址。…

Qt使用事件过滤器

自己使用事件过滤器的总结 1、应用给事件管理器分发事件&#xff0c;事件管理器根据事件类别将事件发给对应的类。 2、事件过滤器在应用和事件管理器之间拦截事件派发给事件管理器的事件&#xff0c; 这个操作会给事件过滤器传递两个参数&#xff0c;一个是Object&#xff08;…

基于Arduino IDE 野火ESP8266模块 MQTT 的开发

一、库介绍 Arduino常用的MQTT库主要有PubSubClient。  PubSubClient库是一个广泛使用的MQTT客户端库&#xff0c;它基于MQTT 3.1.1版本&#xff0c;并且支持ESP8266和ESP32等Arduino兼容的硬件平台。PubSubClient库允许Arduino设备连接到MQTT服务器&#xff0c;发布和订阅MQT…

【每日算法】dfs解决迷宫问题

迷宫问题是比较基础的dfs类型算法题。主要是针对起点和终点来求解最小行走路径 这样的题目肯定是要有回溯过程&#xff0c;因为每一个节点&#xff0c;不是只走一个方向&#xff0c;是四个方向都要走到&#xff0c;才能够知道最终能否走到终点。这样的题目dfs基本框架就是&…

微信公众号新人欢迎语消息推送

问题记录 1.使用的vue2 对象新增属性不具备响应性 this.$set(item, miniTitle, item.title) this.$set(item, miniPagepath, item.pagepath) 2.使用wangeidtor4.6.0富文本组件&#xff0c;富文本组件更改后&#xff0c;值不会马上双绑到自己的值上面 使用onchange进行绑定 …

芒果YOLOv5改进87:轻量化检测头篇:LiteShiftHead 独家原创检测头 | 即插即用,大幅减少参数量,轻量化的同时精度更高效涨点,全网独家改进

💡本篇内容:芒果YOLOv5改进87:轻量化检测头篇:LiteShiftHead 独家原创检测头 | 即插即用,独家新颖更新,大幅减少参数量,轻量化的同时精度高效涨点,全网独家 芒果专栏提出多种原创的轻量化检测头 LiteShiftHead 结构,改进源码教程 | 详情如下🥇 同时本文将演示说清楚二…

Python 和 Go:一文了解

Python 和 Go 各具特色&#xff0c;能够互补。 有一个常见的误解认为 简单&#xff08;simple&#xff09;和 容易&#xff08;easy&#xff09;指的是同一件事。毕竟&#xff0c;如果某样东西易于使用&#xff0c;那么其内在机制必须也简单易懂&#xff0c;对吗&#xff1f;或…

1332多元bfs

/* 多元bfs就是从多个点开始&#xff0c;开始的时候多往初始队列放几个进去 距离数组中最好初始化为-1&#xff1b;然后再起点入队时赋值为0 */ #include<bits/stdc.h> using namespace std; int dx[4]{0,1,0,-1}; int dy[4]{1,0,-1,0}; int f[510][510],dist[510][510];…

math模块篇(五)

文章目录 math.remainder(x, y)math.sumprod(p, q)math.trunc(x)math.ulp(x)math.cbrt(x)math.exp(x)math.exp2(x)math.expm1(x) math.remainder(x, y) math.remainder(x, y) 是 Python 3.8 版本中新增的一个函数&#xff0c;用于计算两个数 x 和 y 相除后的余数。这个函数的行…

Python中的文件读取与保存

1、文件的读取 常用的函数&#xff1a; 1. open()&#xff1a;用于打开文件&#xff0c;可以指定不同的模式&#xff08;读取、写入、追加等&#xff09;来操作文件内容。 2. write()&#xff1a;用于将数据写入文件。 3. close()&#xff1a;用于关闭文件&#xff0c;确保文件…

C++ set 常用部分

文章目录 关键特性定义及初始化一些基本操作查找插入删除清空遍历lower_bound()、upper_bound()set与unordered_set的区别 关键特性 唯一性&#xff1a;Set容器内的元素都是唯一的&#xff0c;每个元素都是不同的有序性&#xff1a;Set容器内的元素总是排序的&#xff08;C中默…

electron+VUE Browserwindow与webview通信

仅做记录 前言&#xff1a; electronVUEVITE框架&#xff0c;用的是VUE3.0 主进程定义&#xff1a;用于接收webview发送的消息 ipcMain.on(MyWebviewMessage, (event, message) > {logger.info(收到webmsg message)//转发给渲染进程}) porelaod/webPreload.js定义 cons…

C语言编译与链接

前言 我们想一个问题&#xff0c;我们写的C语言代码都是文本信息&#xff0c;电脑能直接执行c语言代码吗&#xff1f;肯定不能啊&#xff0c;计算机能执行的是二进制指令&#xff0c;所以将C语言转化为二进制指令需要一段过程&#xff0c;这篇博客讲一下编译与链接&#xff0c;…

跨域问题详解(vue工程中的解决办法)

目录 1. 什么是跨域 2. 如何解决跨域问题 1. 配置request.js 2. 配置vite.config.js 1. 什么是跨域 跨域问题指的是当一个网页的源&#xff08;origin&#xff09;与另一个网页的源不同时&#xff0c;浏览器出于安全考虑&#xff0c;会限制页面中的跨域请求。源是由协议、主…