openstack平台IsolatedHostsFilter的使用记录

news2025/1/10 20:27:24

文章目录

  • 前言
  • 已有的经验
  • 思路一:image元数据
  • 思路二:flavor元数据
  • 思路三、IsolatedHostsFilter:使用filter来限制
  • 总结


前言

甲方的云平台新到了一些海光的机器,希望能加入到已有的计算集群里面。问题不大,但是有些小的点需要处理。


已有的经验

去年的时候使用海光7265部署过openstack云平台,平台运行没有问题,但是虚拟机运行有个小问题,处理之后发现只有使用海光定制的centos源文件制作的镜像才可以正常在海光的服务器上运行。
这里就引出来的在新场景下的使用问题。甲方现有的计算节点都是intel的,是x86的。海光的CPU也是X86的。
必须要保证海光的云主机运行在海光计算节点上,通用的x86云主机运行在intel计算节点上。
备注:划分可用区然后在创建云主机时选可用区,这个方式不考虑。最终要得到的使用流程是用户直接选择镜像就创建,不做额外的多余配置。

思路一:image元数据

使用image的元数据进行定义,首先想到的是architecture,之前做过一个平台包含两个架构的资源池时使用过这个元数据。

给image增加元数据
architecture=aarch64

如果是x86_64 指定
architecture=x86_64

一想又不对,海光的CPU也是x86的。
区分不了,这个思路直接pass掉。

思路二:flavor元数据

老师那边给了新思路,使用flavor的元数据也可以支持,而且经过实验了。但是这里有引入了一个新的问题,就是用户不一定会选我们定制的flavor来创建云主机。实际上是需要改变用户使用习惯。也pass掉


nova flavor extra-specs
capabilities:cpu_info:vendor 

Intel,AMD,Hygon
openstack flavor set cmd-1-1-1-cpu-vendor --property capabilities:cpu_info:vendor= Hygon

思路三、IsolatedHostsFilter:使用filter来限制

发现这个是最合适的。设定特定的镜像组只可以在特定的计算节点组上运行。对于这次的场景来说非常完美,对用户无感。
配置上filter之后测试一下,完美通过。
下面记录一下相关的资料来源和我的测试配置
资料来源链接: https://docs.openstack.org/nova/latest/admin/scheduling.html#imagepropertiesfilter
资料来源链接: https://docs.openstack.org/nova/latest/configuration/config.html#filter_scheduler.restrict_isolated_hosts_to_isolated_images

在这里插入图片描述
我的配置文件,nova-scheduler服务的nova.conf文件

# 在末尾增加IsolatedHostsFilter
enabled_filters=AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,PciPassthroughFilter,IsolatedHostsFilter
# node29是我的划出来的测试物理机
isolated_hosts = node29
# 这两个镜像是测试的镜像
isolated_images = 7137e2a8-2436-4811-b594-e0f8caaac9c6, 0bec0769-ed64-43a4-b9aa-6486aac9ac39

测试过程就是创建虚拟机。在创建的时候,不要选择可用区,只选择镜像就可以了。等待创建完毕之后会发现通过测试镜像创建出来的虚拟机都会被指定调度到node29机器。
下面我贴几张nova-scheduler的日志图片

1、配置读取成功
在这里插入图片描述
2、开始创建测试云主机
在这里插入图片描述

3、开始选择
在这里插入图片描述
4、IsolatedHostsFilter返回的筛选结果
在这里插入图片描述

总结

这次使用IsolatedHostsFilter是个特定场景下的特定选择,至少是找到了解决方案,有遇到类似场景的朋友可以试着用一下,也是一种折中的方案。

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

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

相关文章

怎么开发zblog插件?

要开发 ZBlog 插件,可以按照以下步骤进行: 1. 创建插件目录:在 ZBlog 的插件目录中创建一个新的目录,目录名称即为插件的名称,例如 "myplugin"。 2. 创建插件入口文件:在插件目录下创建一个 PHP …

Android Studio实现内容丰富的安卓宿舍管理平台

如需源码可以添加q-------3290510686,也有演示视频演示具体功能,源码不免费,尊重创作,尊重劳动。 项目编号086 1.开发环境 android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端: 1.注册登录 2.查看公告 3.报…

docker 教程笔记,win11

1、如何执行container 当git clone一个带Dockerfile的项目时,先打开终端,跳转到该项目文件夹。 使用如下命令构建镜像image docker build -t project_name . 注: project_name为该项目名,后面必须要有空格和点。 执行完毕后&#…

「TCG 规范解读」TCG 规范架构概述(下)

修订历史: 2023.3.4 2023.6.18 2023.7.2 可信计算组织(Ttrusted Computing Group, TCG)是一个非盈利的工业标准组织,它的宗旨是加强不同计算机平台上计算环境的安全性。TCG 于 2003 年春成立,并采纳了由可信计算平台联盟(the Trusted Computing Platform Alliance, TCPA)…

python函数的基本定义

python定义函数的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(); 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数; 函数的第一行语句可以选择性地使用文档字符串—用于存放函数…

Axure设计之文章目录动态定位导航教程

博客类型的内容网站,文章目录能很好的提升用户体验,通过目录可以清除整体结构,还可以通过目录进行导航,定位要浏览内容所在位置。下面通过Axure工具使用简单的元件实现文章目录导航的效果。 一、案例效果 1、页面左侧为文章目录&a…

Spring 系列1 -- 初识Spring

目录 1. Spring是什么? 2. DI 概念说明 3. 总结 1. Spring是什么? 我们通常所说的Spring指的是Spring Framework(Spring框架),他是一个开源框架,有着庞大的社区.Spring ⽀持⼴泛的应⽤场景,它可以让 Java 企业级的应用程序开发起来更简单.用一句话来概述就是Spri…

nginx缓存配置

nginx缓存配置 在http模块下配置在server模块下配置简单验证下nginx服务器配置客户机访问nginx缓存服务器 在http模块下配置 注意/data/nginx/cache要自己创建 http {proxy_cache_path /data/nginx/cache levels1:2 keys_zonemy_cache:10m max_size10g inactive60m use_temp_…

Kafka基础入门篇

一、kafka简介 其主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能高吞吐率。即使在非常廉价的机器上也能做到单机支持每秒100K条消息的传输支持Kafka Server间的消息分区,及分…

资源释放的方式

资源释放通常指的是关闭文件、网络连接、数据库连接等资源,以释放系统资源并防止资源泄漏。 1:try-catch-finally finally:在异常处理时提供finally块来执行所有清除操作,比如IO流中的释放资源特点:被finally控制的语句最终一定…

浅析高速公路隧道变电所智能照明控制方案

【摘要】:目前公路隧道无人值守变电所均已设置了视频监控设施,在日常运营中由于光线不足,隧道监控室人员无法远程巡视,存在监控的盲检、漏检问题。该问题存在是由于传统照明方式无法完远程开启照明设施,文章针对该问题…

FPGA入门系列12--RAM的使用1

文章简介 本系列文章主要针对FPGA初学者编写,包括FPGA的模块书写、基础语法、状态机、RAM、UART、SPI、VGA、以及功能验证等。将每一个知识点作为一个章节进行讲解,旨在更快速的提升初学者在FPGA开发方面的能力,每一个章节中都有针对性的代码…

使用linux的系统驱动点灯

使用linux的系统驱动点亮开发板的灯 **要求:**使用linux驱动点亮开发板的灯 实验现象 (LED1没亮是因为本人的开发板LED1物理损坏) head.h代码 #ifndef __HEAD_H__ #define __HEAD_H__typedef struct{volatile unsigned int moder;volatil…

DAY38:贪心算法(六)分发糖果+柠檬水找零

文章目录 135.分发糖果思路第一种情况:右>左第二种情况:左>右(倒序遍历)两种情况的结果合并,通过取最大值 完整版总结 860.柠檬水找零思路完整版总结 135.分发糖果 本题涉及到一个思想,就是处理好一…

位图的详解

目录 位图 位图的概念 位图的实现 位图常见三道面试题 1.给定100亿个整数,设计算法找到只出现一次的整数? 2. 给两个文件,分别有100亿个整数,我们只有1G内存,如何找到两个文件交集? 3. 位图应用变形…

C#程序以管理员权限运行

在Vista 和 Windows 7 及更新版本的操作系统,增加了 UAC(用户账户控制) 的安全机制,如果 UAC 被打开,用户即使以管理员权限登录,其应用程序默认情况下也无法对系统目录、系统注册表等可能影响系统正常运行的设置进行写操作。这个机…

【sap2000】【python】python相关的3个案例-1/3

python相关的3个案例 Python COM,Python NET,IronPython的区别 这三个术语都与 Python 语言和其他编程平台(尤其是 Microsoft .NET 及其组件)之间的互操作性有关。我们来看看它们之间的主要区别: Python COM&#xf…

【vim】Linux使用vim编写代码:头部自动添加提示信息+自动缩进、自动换行等配置(~/.vimrc)

前言: 在编写代码时,为了提高代码的可读性和维护性,我们经常在文件的头部添加一些信息提示,如作者、日期、版本号等。本文介绍了如何在 Vim 编辑器中实现自动添加信息提示的功能。 结尾提供~/.vimr参考配置,可提高代码…

第2章 变量

目录 1 变量1.1 什么是变量?1.2 声明变量1.2 变量的原理 2 数据类型2.1 基本数据类型2.1.1 取值范围公式2.1.2 整型2.1.3 浮点型2.1.4 字符型2.1.5 布尔型 2.2 引用数据类型2.2.1 数组[]2.2.2 类class2.2.3 接口interface 3 数据类型转换3.1 自动类型转换3.2 强制类…

备份c盘中的所有数据的3种方法推荐!

为什么要备份C盘中的所有数据? 备份c盘中的所有数据,主要是为了避免以下几种突发情况: 感染病毒。 操作不当导致系统文件损坏,崩溃。 蓝屏死机(BOSD)或黑屏死机。 物理灾害。 磁盘出现物理坏道等。…