声明:最近在进行openstack的kilo版本的安装,发现现有的网络教程非常少,而且多数教程并不能安装成功,故写此教程。openstack的安装较为复杂,本教程并不能保证在不同环境下也能将其安装成功。个人安装教程,也难免出错。同时,安装是在虚拟机环境下,真实安装环境需要进行更改。
转载请声明出处:
作者:张某人ER
原文链接:http://blog.csdn.net/xinxing__8185/article/details/51307385
第四部分 nova的安装
nova简述
openstack计算服务,也就是Nova项目,也是开源云操作系统openstack的计算组件。该组件可以在任意数量运行有openstack计算服务(compute service)的主机上运行多个虚拟机实例,通过这种方式可以创建一个高可扩展和高冗余的云环境。这个开源项目力求与硬件和虚拟机管理程序无关。openstack计算服务已经为多个大规模提供计算的云平台提供动力支持,如Rackspace的opencloud。
把控制服务和计算服务分离开可以为openstack提供水平扩展的能力。
在controller节点上
创建数据库
mysql -u root -p
进行如下操作
CREATE DATABASE nova;
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS'; #替换NOVA_DBPASS
quit
创建环境变量,用户,endpoint
source admin-openrc.sh
openstack user create --password-prompt nova #密码:nova
openstack role add --project service --user nova admin
openstack service create --name nova --description "OpenStack Compute" compute
openstack endpoint create --publicurl http://controller:8774/v2/%\(tenant_id\)s --internalurl http://controller:8774/v2/%\(tenant_id\)s --adminurl http://controller:8774/v2/%\(tenant_id\)s --region RegionOne compute
安装相应包
yum install openstack-nova-api openstack-nova-cert openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler python-novaclient
进行相关文件配置
vim /etc/nova/nova.conf
database]
connection = mysql://nova:NOVA_DBPASS@controller/nova #与创建数据库时的密码一样
rpc_backend=rabbit
去掉#
[oslo_messaging_rabbit]下
rabbit_host=controller
rabbit_userid=openstack
rabbit_password=openstack
[DEFAULT]
auth_strategy=keystone 添加
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = nova
password = nova
[DEFAULT]
my_ip=10.10.10.10 #替换为 management interface IP address of the controller node
vncserver_listen=10.10.10.10
vncserver_proxyclient_address=10.10.10.10
[glance]
host=controller
[oslo_concurrency]
lock_path #去掉
[DEFAULT]
verbose=true
更新同步数据库
nova-manage db sync
注意:
chown -R nova:nova /var/log/nova/nova-manage.log
启动服务
systemctl enable openstack-nova-api.service openstack-nova-cert.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
systemctl start openstack-nova-api.service openstack-nova-cert.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
在compute节点上
安装相应包
yum install openstack-nova-compute sysfsutils
注意:
chown -R nova:nova /etc/nova/nova.conf
编辑相应配置文件
vim /etc/nova/nova.conf
[DEFAULT]
rpc_backend=rabbit
auth_strategy=keystone
[oslo_messaging_rabbit]
rabbit_host=controller
rabbit_userid=openstack
rabbit_password=openstack
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = nova
password = nova
[DEFAULT]
my_ip=10.10.10.11 #根据情况更改 MANAGEMENT_INTERFACE_IP_ADDRESS
vnc_enable=True
vncserver_listen=0.0.0.0
vncserver_proxyclient_address=10.10.10.11 #MANAGEMENT_INTERFACE_IP_ADDRESS
novncproxy_base_url=http://controller:6080/vnc_auto.html #controller可以变为相应ip
[glance]
host=controller
[oslo_concurrency]
lock_path #去掉
[default]
verbose=true
检测一下
egrep -c '(vmx|svm)' /proc/cpuinfo
注:如果返回值是0,则进行如下操作
vim /etc/nova/nova.conf
[libvirt]
virt_type=qemu
启动
systemctl enable libvirtd.service openstack-nova-compute.service
systemctl start libvirtd.service openstack-nova-compute.service
检测
systemctl status libvirtd.service openstack-nova-compute.service