Host aggregate分区
生产区一期环境增加4台计算结点,希望被大数据租户独占
1. 该大数据用户创建的虚拟机必须被调度到这4个计算结点
2. 其他租户创建虚拟机禁止调度到这4台机器
标黄的需要自行根据情况修改
解决方案:
创建ha分区
1. 将4台计算结点置为一个ha分区
[root@controller-1 ~]# nova aggregate-create bigdata
+----+---------+-------------------+-------+----------+
| Id | Name | Availability Zone | Hosts | Metadata |
+----+---------+-------------------+-------+----------+
| 9 | bigdata | - | | |
+----+---------+-------------------+-------+----------+
1. 将4台计算结点加入这个ha分区
[root@controller-1 ~]# nova aggregate-add-host 9 compute-2
Host compute-3 has been successfully added for aggregate 9
+----+---------+-------------------+-------------+----------+
| Id | Name | Availability Zone | Hosts | Metadata |
+----+---------+-------------------+-------------+----------+
| 9 | bigdata | - | 'compute-2' | |
+----+---------+-------------------+-------------+----------+
(执行4次)
1. 增加ha区调度属性
[root@controller-1 ~]# nova aggregate-set-metadata 9 bigdata=yes
Metadata has been successfully updated for aggregate 9.
+----+---------+-------------------+-------------+---------------+
| Id | Name | Availability Zone | Hosts | Metadata |
+----+---------+-------------------+-------------+---------------+
| 9 | bigdata | - | 'compute-2' | 'bigdata=yes' |
+----+---------+-------------------+-------------+---------------+
bigdata=yes 是写死的,不能修改
4. 增加调度属性2:
[root@controller-1 ~]# nova aggregate-set-metadata 9 filter_tenant_id=7b597e8e774c41d9bcc92d494c0ad6ef
Metadata has been successfully updated for aggregate 9.
+----+---------+-------------------+-------------+--------------------------------------------------------------------+
| Id | Name | Availability Zone | Hosts | Metadata |
+----+---------+-------------------+-------------+--------------------------------------------------------------------+
| 9 | bigdata | - | 'compute-2' | 'bigdata=yes', 'filter_tenant_id=7b597e8e774c41d9bcc92d494c0ad6ef' |
+----+---------+-------------------+-------------+--------------------------------------------------------------------+
filter_tenant_id=7b597e8e774c41d9bcc92d494c0ad6ef 等号后面的填写大数据租户的tenant-id
此时,ha分区创建完毕
修改调度策略
1. 修改三台控制结点的nova.conf
修改:
scheduler_default_filters=RetryFilter,AvailabilityZoneFilter,RamFilter,CoreFilter,DiskFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter
为:
scheduler_default_filters=RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter, ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,AggregateMultiTenancyIsolation,AggregateInstanceExtraSpecsFilter
1. 重启nova-scheduler
service openstack-nova-scheduler restart
创建大数据组独享的flavor(模板)
1. 创建一个私有的模板(用admin租户的身份创建)
[root@controller-1 ~]# nova flavor-create lihao1234 auto 1024 20 1 --is-public false
+--------------------------------------+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |
+--------------------------------------+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| e5a55a80-015e-4aed-96cc-d6ca42574cf1 | lihao1234 | 1024 | 20 | 0 | | 1 | 1.0 | False |
+--------------------------------------+-----------+-----------+------+-----------+------+-------+-------------+-----------+
2. 将该模板给大数据租户使用
[root@controller-1 ~]# nova flavor-access-add e5a55a80-015e-4aed-96cc-d6ca42574cf1 7b597e8e774c41d9bcc92d494c0ad6ef
+--------------------------------------+----------------------------------+
| Flavor_ID | Tenant_ID |
+--------------------------------------+----------------------------------+
| e5a55a80-015e-4aed-96cc-d6ca42574cf1 | 7b597e8e774c41d9bcc92d494c0ad6ef |
+--------------------------------------+----------------------------------+
前者是创建的flavor的id
后者是大数据租户的tenant-id
3. 将模板中置上调度参数
[root@controller-1 ~]# nova flavor-key e5a55a80-015e-4aed-96cc-d6ca42574cf1 set bigdata=yes
效果:
1. 用大数据账号,专用模板创建的虚拟机,一定且只会被调度到指定的4台主机上
Host aggregate分区的更多相关文章
- openstack中region、az、host aggregate、cell 概念
1. region 更像是一个地理上的概念,每个region有自己独立的endpoint,regions之间完全隔离,但是多个regions之间共享同一个keystone和dashboard.(注:目 ...
- OpenStack G版以后的Availability Zone与Aggregate Hosts
关于Availability Zone与Aggregate Hosts的概念解析,可以参考这篇文章:http://blog.chinaunix.net/uid-20940095-id-3875022. ...
- openstack的Host Aggregates和Availability Zones
1.关系 Availability Zones 通常是对 computes 节点上的资源在小的区域内进行逻辑上的分组和隔离.例如在同一个数据中心,我们可以将 Availability Zones 规划 ...
- 转-4年!我对OpenStack运维架构的总结
4年!我对OpenStack运维架构的总结 原创: 徐超 云技术之家 今天 前言 应“云技术社区”北极熊之邀,写点东西.思来想去云计算范畴实在广泛,自然就聊点最近话题异常火热,让广大云计算从业者爱之深 ...
- OpenStack Nova Release(Rocky to Train)
目录 文章目录 目录 前言 演进方向 Cellv2 更新 Rocky Support disabling a cell Stein Handling a down cell Train Count q ...
- 对OpenStack运维架构的总结(转)
这里,仅从技术角度出发,谈谈OpenStack云平台在部署.架构和运维实施等方面的感想. 缘起,在2014年大二首次接触到OpenStack,当时国内外资料远没有当前这么丰富,为安装一个OpenSta ...
- 超千个节点OpenStack私有云案例(1):CERN 5000+ 计算节点私有云
CERN:欧洲核子研究组织 本文根据以下几篇文章整理而来: https://www.openstack.org/summit/tokyo-2015/videos/presentation/unveil ...
- OpenStack 企业私有云的若干需求(3):多租户和租户间隔离(multi-tenancy and isolation)
本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...
- openstack Icehouse发布
OpenStack 2014.1 (Icehouse) Release Notes General Upgrade Notes Windows packagers should use pbr 0.8 ...
随机推荐
- Laravel是怎么实现autoload的?
用了一阵Laravel后发现很少有include和require,觉得有点奇怪,思考Laravel是怎么完成文件导入的. 其实Laravel依旧还是用include或者require的,只是都写在一个 ...
- BestCoder Round #41 记。
大概整个过程都是很绝望的吧. 发现自己在七点之前是肯定搞不定网了..有冲动跑到机房去打 但是又不喜欢那样的气氛 这可是shi的场呢...好难过啊... 后来..好像是在和lyd讨论怎么把网络复原的过程 ...
- 【leetcode 简单】第三十四题 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 示例 1: 输入: [ ...
- 爬虫--selenium
什么是selenium? 基本使用 from selenium import webdriver from selenium.webdriver.common.by import By from se ...
- linux的主题与图标
我先在使用arch跟xfce, 速度没得说,偶尔用一下openbox 有一天将xfce的声音给搞没了,完全不知道哪里配置错了,只好将用户文件夹下的所有配置删除,然后重启进入一切又ok啦 说一下主题,小 ...
- Repository.UpdateModel(model, db);
Repository.UpdateModel(model, db); 可用类型 string int? datetime 不可用类型 int double
- C基础 如何让代码只执行一次
1.0 最简单, 最高效的方式 C 代码运行起点 main 就是个大单例函数. 如果把函数注册在其里面, 那么一定很可以 :) // 某个库需要初始化的函数 void log_init(void) { ...
- Java杂知识汇总(自己积累的)
[前提] 接下来,可能需要开始学习Java了,所以现在将前辈们传递给我的经验都记录下来,免得再次问他们. [积累] 1. 关于重启Tomcat服务器: 当在开发过程中, | 修改Java代码 -- 需 ...
- php琐碎
1.类中的常量,可以用类来引用: class MyClass() { const SUCCESS ="success"; const FAIL ="fail"; ...
- linux 定时执行任务 at atq atrm命令的使用
1.at命令在指定时刻执行指定的命令序列 at [-V] [-q 队列] [-f 文档名] [-mldbv] 时间 下面对命令中的参数进行说明.-V 将标准版本号打印到标准错误中.-q queue 使 ...