十八、nova-compute安装与配置 compute上root用户进行

概述:

    compute节点负责和底层的hypervisor交互,完成instance的整个生命周期、

    openstack是提供IaaS服务的云计算平台,主要功能是提供虚拟机instance给用户,instance的创建和管理主要由nova完成,nova通过api接口和底层的hypervisor进行交互,比如通过libvirt和底层的KVM交互,通过XenAPIXenServer交互,通过VMwareAPIVMware ESXi交互,以api的方式,大大提高了nova的可扩展性。

    nova作为openstack的核心组件,需要和其他组件进行交互,如keystone完成认证,获得token和资源的访问端点endpoint;和glance进行交互,获取镜像资源,完成镜像的下载与启动;和neutron进行交互,完成虚拟机网络的构建,如地址分配,端口创建,网桥创建和安全组规则的建立;与dashboard交互,完成页面对hypervisorinstance的管理

 

(1)安装nova软件包
# yum -y install openstack-nova-compute sysfsutils openstack-utils


(2)配置rabbit
# openstack-config --set /etc/nova/nova.conf DEFAULT rpc_backend rabbit
# openstack-config --set /etc/nova/nova.conf DEFAULT rabbit_host controller0
# openstack-config --set /etc/nova/nova.conf DEFAULT rabbit_port 5672
# openstack-config --set /etc/nova/nova.conf DEFAULT rabbit_userid nova
# openstack-config --set /etc/nova/nova.conf DEFAULT rabbit_password NOVA_MQPASS
# openstack-config --set /etc/nova/nova.conf DEFAULT rabbit_virtual_host /

(3)配置keystone连接
# openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone
# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_uri http://controller0:5000/v2.0
# openstack-config --set /etc/nova/nova.conf keystone_authtoken identity_uri http://controller0:35357
# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_tenant_name service
# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_user nova
# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_password NOVA_PASS

(4)配置VNC代理
# openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 10.20.0.30
# openstack-config --set /etc/nova/nova.conf DEFAULT vnc_enabled True
# openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_listen 0.0.0.0
# openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_proxyclient_address 10.20.0.30
#使得计算节点可以向控制台提交请求,这里不用主机名,否则会出现无法解析的情况
# openstack-config --set /etc/nova/nova.conf DEFAULT novncproxy_base_url http://10.20.0.10:6080/vnc_auto.html

(5)配置glance image所在的主机
# openstack-config --set /etc/nova/nova.conf DEFAULT glance_host controller0


(6)校验compute节点是否支持硬件kvm
#如果为空找不到vmx的标志位,这需要设置kvm的连接类型为qemu
# cat /proc/cpuinfo |grep flags |grep -E "(vmx|svm)" | uniq
#或者:若反馈的数字不等于0则说明该主机支持虚拟机硬件加速,若不为0不做处理
# egrep -c '(vmxsvm)' /proc/cpuinfo
#若为空或者为0就执行下一步操作,设置kvm的连接类型为qemu
# openstack-config --set /etc/nova/nova.conf libvirt virt_type qemu

(7)启动nova-compute服务
# systemctl start messagebus.service
# systemctl enable messagebus.service
# chkconfig libvirtd on
# service libvirtd start
# chkconfig openstack-nova-compute on
# service openstack-nova-compute start

(8)校验下compute服务状况
# openstack-status

(9) 在controller0上确认nova-compute服务是否正常
# source admin-openrc.sh
# nova service-list
# openstack-status

(10)在controller0上校验nova和glance是否正常交互
# nova image-list
#下图表名能正常交互

注: 以上的nova配置,是在compute0操作compute0节点负责和底层的hypervisor交互,完成instance的整个生命周期

nova安装完毕需要注意的

    controller上需要启动的服务有:openstack-nova-apiopenstack-nova-scheduler,openstack-nova-cert,openstack-nova-consolauth,openstack-nova-conductor,openstack-nova-novncproxy

    compute节点则需要启动openstack-nova-computelibvirtd服务,如果发现服务无法启动的话,检查对应的日志文件,根据日志的错误信息,排错,如openstack-nova-api的日志文件/var/log/nova/nova-api.log,检查日志文件信息,查找解决方案。