说明:
主参考:https://www.sunmite.com/openstack/use-local-storage-for-different-hypervisors.html

在控制节点上执行

1.配置nova调度程序支持AggregateInstanceExtraSpecsFilter过滤算法

openstack-config --set /etc/nova/nova.conf DEFAULT scheduler_default_filters RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,AggregateInstanceExtraSpecsFilter
systemctl restart openstack-nova-scheduler.service

2.创建两个主机集合,包含ceph compute nodes 和 local storage compute nodes

nova aggregate-create ephemeral-compute-storage
nova aggregate-create ceph-compute-storage

3.查看计算节点的名称

source ~/admin-openrc
nova hypervisor-list
得到四台主机:
compute-1.ideal.yfb0801800.islab.net.cn
compute-2.ideal.yfb0801800.islab.net.cn
compute-3.ideal.yfb0801800.islab.net.cn
compute-4.ideal.yfb0801800.islab.net.cn

4.分别添加主机到不同的主机集合(一台主机只能添加到一个主机集合中)

nova aggregate-add-host ephemeral-compute-storage compute-1.ideal.yfb0801800.islab.net.cn
nova aggregate-add-host ephemeral-compute-storage compute-2.ideal.yfb0801800.islab.net.cn
nova aggregate-add-host ephemeral-compute-storage compute-3.ideal.yfb0801800.islab.net.cn
nova aggregate-add-host ceph-compute-storage compute-4.ideal.yfb0801800.islab.net.cn

5.为主机集合创建新的metadata

nova aggregate-set-metadata ephemeral-compute-storage ephemeralcomputestorage=true
nova aggregate-set-metadata ceph-compute-storage cephcomputestorage=true

6.为使用本地存储和ceph存储的虚拟机创建flavor

openstack flavor create --vcpus 2 --ram 4096 --disk 40 m1.ephemeral-compute-storage
openstack flavor create --vcpus 2 --ram 4096 --disk 40 m1.ceph-compute-storage

7.为flavor绑定指定的属性

nova flavor-key m1.ceph-compute-storage set aggregate_instance_extra_specs:cephcomputestorage=true
nova flavor-key m1.ephemeral-compute-storage set aggregate_instance_extra_specs:ephemeralcomputestorage=true

在计算节点上执行

1.本地存储配置

nova默认支持,无需配置。为了支持迁移可以配置共享存储(NFS等)

如果刚安装了cinder还没有配置nova的话,此时创建虚拟机时一定要如图所示那样,选择否。如果不选择否的话,虚拟机无法创建出来,因为cinder创建了卷,而nova却无法将其附加在libvirt上。

提供一下,一些可能有用的配置:

#单位是M
openstack-config --set /etc/nova/nova.conf libvirt file_backed_memory  1048576
openstack-config --set /etc/nova/nova.conf libvirt disk_cachemodes "file=directsync,block=none"
systemctl restart openstack-nova-compute && systemctl status openstack-nova-compute

2.ceph存储配置

编辑计算节点的 /etc/nova/nova.conf 文件加入修改以下选项,然后重启nova-compute服务(这里没有详细写,例如导入secret-uuid等操作请自行添加)
vim /etc/nova/nova.conf
[libvirt]
images_type = rbd
images_rbd_pool = vms
images_rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_user = cinder
rbd_secret_uuid =20c3fd98-2bab-457a-b1e2-12e50dc6c98e
disk_cachemodes="network=writeback"
inject_partition=-2
inject_key=False
live_migration_flag=VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST

systemctl restart openstack-nova-compute.service

配置nova-compute在不同的hypervisors上使用不同的存储后端的更多相关文章

  1. 《4》CentOS7.0+OpenStack+kvm云平台部署—配置Nova

    感谢朋友支持本博客,欢迎共同探讨交流,因为能力和时间有限,错误之处在所难免,欢迎指正! 假设转载.请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地 ...

  2. openstack--5--控制节点和计算节点安装配置nova

    Nova相关介绍 目前的Nova主要由API,Compute,Conductor,Scheduler组成 Compute:用来交互并管理虚拟机的生命周期: Scheduler:从可用池中根据各种策略选 ...

  3. 1898 ERROR nova.compute.manager

    2018-06-10 21:03:54.045 1898 ERROR nova.compute.manager [instance: 15a6c26f-b8af-4a3e-a3df-8552c16e0 ...

  4. openstack-lanch an instance and nova compute log analysis

    1. how to launch an instance: [root@localhost ~(keystone_admin)]# nova flavor-list+----+-----------+ ...

  5. IIS7错误:不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault="Deny")......

    不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的(overrideModeDefault="Deny")...... 解决方案: 因为 II ...

  6. Windows 安装程序无法将 Windows 配置为在此计算机的硬件上运行

    遇到这个问题是用辅助工具(WinNTSetup3.exe)进行的安装,重启后就就遇到“Windows 安装程序无法将 Windows 配置为在此计算机的硬件上运行” 解决:在WIN PE 下挂载安装光 ...

  7. windows安装程序无法将windows配置为在此计算机的硬件上运行

    关于装windows系统时,出现一些安装中断的处理 该方法适用于 windows安装程序无法将windows配置为在此计算机的硬件上运行 计算机意外地重新启动或遇到错误. Windows 安装无法继续 ...

  8. 不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault="Deny"),或者 是通过包含 overrideMode="Deny" 或旧有的 allowOverride="false" 的位置标记明确设置的。

    问题: 不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的(overrideModeDefault="Deny"),或者是通过包含 overr ...

  9. spring 配置Value常量(不支持到static上)

    spring 配置Value常量(不支持到static上) 看代码吧,语言表达有问题. package com.variflight.xzair.rest.constant; import org.s ...

随机推荐

  1. JavaScript中的类(Class)

    基本上,ES6的class可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到的,新的class写法是让对象原型的写法更加清晰,更像面向对象编程的语法而已. ES5生成例对象传统方法是通过构造函 ...

  2. .net System.Net.Mail 之用SmtpClient发送邮件Demo

    private static bool sendMail()     {     try    {     //接收人邮箱    string SendTo = "XXXXX@163.com ...

  3. 立即执行函数与For. . .in语句

    ㈠立即执行函数 ⑴定义:在函数定义完,立即被调用,这样的函数叫做立即执行函数 ⑵语法:函数对象() ⑶注意:立即执行函数往往只会执行一次 ⑷示例1: (function(){ alert(" ...

  4. Java Spring MVC工作流程

    本文是对 SpringMVC 工作流程的总结,自己一定要可以用语言描述. 名词解释: DispatcherServlet:前端控制器,是 SpringMVC 工作流程的中心,负责调用其他组件,在系统启 ...

  5. Transformer的PyTorch实现--转载

    转载自 https://blog.csdn.net/stupid_3/article/details/83184691

  6. python 生成螺旋矩阵

    对于任意 m*n 矩阵,将 1~m*n 的数字按照螺旋规则在矩阵中排列. 如 m=3,n=3,期望结果为: [ [ , , ], [ , , ], [ , , ] ] 以下代码支持方阵以及非方阵. c ...

  7. shell基础之一

    Shell脚本自动化管理系统的必备基础: vim编辑器的熟练使用,SSH终端及“.vimrc”的设置等等需要熟悉. 命令基础:Linux的150个常用命令的熟练使用 Linux的正则表达式以及三剑客( ...

  8. linux查看当前目录

    查看当前路径命令:pwd pwd命令能够显示当前所处的路径. 这个命令比较简单,如果有时在操作过程中忘记了当前的路径,则可以通过此命令来查看路径,其执行方式为:

  9. 必懂知识——HashMap的实现原理

    HashMap的底层数据结构 1.7之前是:数组+链表 数组的元素是Map.Entiry对象 当出现哈希碰撞的时候,使用链表解决, 先计算出key对应的数组的下标,这个数组的这个位置上为空,直接放入, ...

  10. django 快速实现注册(四)

    一.创建项目与应用  #创建项目fnngj@fnngj-H24X:~/djpy$ django-admin.py startproject mysite3fnngj@fnngj-H24X:~/djpy ...