renben-openstack-Nova操作
nova组件:
使用openstack compute来托管和管理云计算系统
nova-api负责接收和响应终端用户对openstack计算资源发起的API调用请求
nova-compute是一个hypervisor api创建和终止实例的work进程
nova-schduler主要负责从消息队列截取创建实例请求,根据配置从计算节点集群中选择最优节点,并将请求转发到该节点,最终将虚拟机运行在该节点
Nova调度算法:
nova-scheduler负责nova主机选择提供功能决策功能
scheduler_default_filters默认的过滤器
scheduler_available_filters可用的过滤器
RamFilter
RamFilter将不能满足flavor内存需求的计算节点过滤掉
对于内存有一点需要注意:为了提高系统的资源使用率,openstack在计算节点可用内存时允许overcommit,也就是可以超过实际内存大小,超过的程度是通过nova.conf中ram_allocation_ratio这个参数控制的,默认值是1.5
ram_allocation_ratio=1.5
含义是:如果计算节点的内存有10G,openstack则会认为它有15G的内存
DiskFilter
DiskFilter将不能满足flavor磁盘需求的计算节点过滤掉
Disk同样允许overcommit,通过nova.conf中的disk_allocation_ratio控制,默认值是1
disk_allocation_ratio=1.0
corefilter
corefilter将不能满足flavor vcpu需求的计算节点过滤掉
vcpu同样允许overcommit,通过nova.conf中的cpu_allocation_ratio控制,默认值是16
cpu_allocation_ratio=16.0
这意味着一个8 vCpu的计算节点,nova-scheduler在调度时认为它有128个vCPU,
需要提醒的是:
nova-scheduler默认使用的filter并没有包含corefilter,如果要用,可以将corefilter添加到nova.conf的scheduler_default_filters配置选项中
computefilter
computefilter保证只有nova-compute服务正常工作的计算节点才能被nova-scheduler调度
computefilter显然是必须的filter
ComputeCapabilitiesFilter
ComputeCapabilitiesFilter根据计算节点的特性来筛选
(1)修改nova配置文件(在controller节点操作)
官方文档参考地址https://docs.openstack.org/newton/install-guide-rdo/nova-controller-install.html
cat /etc/nova/nova.conf
#新增加如下一行,memcahce缓存
api_servers=http://192.168.124.200:9292 #原来是只有地址,没有http协议,需要加上http协议的
transport_url=rabbit://guest:guest@192.168.124.200 #在第一行[DEFAULT]下面加上这行
my_ip=192.168.124.200 #原来的ip改成这个,并且打开注释
vncserver_listen=192.168.124.200 #原来是0.0.0.0,现在改成这个
vncserver_proxyclient_address=192.168.124.200 #原来是主机名,改成这个主机IP
上面修改好之后重新启动服务
systemctl restart openstack-nova-api.service
systemctl restart openstack-nova-consoleauth.service
systemctl restart openstack-nova-scheduler.service
systemctl restart openstack-nova-conductor.service
systemctl restart openstack-nova-novncproxy.service
(2)修改nova配置文件(在computer节点操作)
cat /etc/nova/nova.conf 修改配置文件
transport_url=rabbit://guest:guest@192.168.124.200 #在第一行[DEFAULT]字段加如下一行
memcache_servers=192.168.124.200:11211 #这行注释打开,ip变成这个主机ip
api_servers=http://192.168.124.200:9292 #这行注释打开,变成这个ip地址
my_ip=192.168.124.201 #这行注释打开,变成这个ip地址
vncserver_proxyclient_address=192.168.124.201 #这行注释打开,变成这个ip地址
novncproxy_base_url=http://192.168.124.200:6080/vnc_auto.html #这行注释打开,变成这个ip地址
virt_type=qemu #这行注释打开
上面修好好了之后重新启动服务
systemctl enable libvirtd.service
systemctl enable openstack-nova-compute.service
systemctl restart libvirtd.service
systemctl restart openstack-nova-compute.service
cat /var/log/nova/nova-compute.log 查看日志,没有报错
启动之后在controller节点查看日志
cat /var/log/nova/nova-api.log 如果没有报错即可