1、在控制节点上安装相关组件:
controll# yum install -y openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler openstack-nova-placement-api
创建该服务数据库及其管理账户
controll# mysql -u root -p
password :openstack
mariadb>CREATE DATABASE nova_api;
CREATE DATABASE nova;
CREATE DATABASE nova_cell0;
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'nova';
exit
创建nova用户、服务、API
controll# openstack user create --domain default --password-prompt nova
此处需要输入密码:nova
controll# openstack role add --project service --user nova admin
controll# openstack service create --name nova --description "OpenStack Compute" compute
controll# openstack endpoint create --region RegionOne compute public http://controll:8774/v2.1
controll# openstack endpoint create --region RegionOne compute internal http://controll:8774/v2.1
controll# openstack endpoint create --region RegionOne compute admin http://controll:8774/v2.1
创建placement用户、赋予admin角色
controll# openstack user create --domain default --password-prompt placement
此处需要输入密码:placement
controll# openstack role add --project service --user placement admin
创建placement服务、API
controll# openstack service create --name placement --description "Placement API" placement
controll# openstack endpoint create --region RegionOne placement public http://controll:8778
controll# openstack endpoint create --region RegionOne placement admin http://controll:8778
controll# openstack endpoint create --region RegionOne placement internal http://controll:8778
配置nova配置文件(备份配置文件):
controll# cp /etc/nova/nova.conf /etc/nova/nova.conf.bak
controll# vi /etc/nova/nova.conf
[DEFAULT]
enabled_apis = osapi_compute,metadata
transport_url = rabbit://openstack:openstack@controll
my_ip = 10.104.199.25
use_neutron = true
firewall_driver = nova.virt.firewall.NoopFirewallDriver
[api_database]
connection = mysql+pymysql://nova:nova@controll/nova_api
[database]
connection =mysql+pymysql://nova:nova@controll/nova
[api]
auth_strategy = keystone
[keystone_authtoken]
auth_uri = http://controll:5000
auth_url = http://controll:35357
memcached_servers = controll:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = nova
[vnc]
enabled = true
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://10.104.199.221:6080/vnc_auto.html
[glance]
api_servers = http://controll:9292
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
[placement]
os_region_name = RegionOne
project_domain_name = default
project_name = service
auth_type = password
user_domain_name = default
auth_url = http://controll:35357/v3
username = placement
password = placement
修改nova的HTTP配置文件(在文件末尾添加。)
controll# vi /etc/httpd/conf.d/00-nova-placement-api.conf
<Directory /usr/bin>
= 2.4>
Require all granted
<IfVersion < 2.4>
Order allow,deny
Allow from all
同步数据库:
controll# su -s /bin/sh -c "nova-manage api_db sync" nova
controll# su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
controll# su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
controll# su -s /bin/sh -c "nova-manage db sync" nova
设置开机自启动并启动服务:
controll# systemctl enable openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
systemctl restart openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
2、在计算节点上安装:
compute#
yum install openstack-nova-compute openstack-neutron-linuxbridge ebtables ipset -y
配置nova配置文件:
#cp /etc/nova/nova.conf /etc/nova/nova.conf.bak
#vi /etc/nova/nova.conf
[DEFAULT]
enabled_apis = osapi_compute,metadata
transport_url =rabbit://openstack:openstack@controll
use_neutron = true
firewall_driver =nova.virt.firewall.NoopFirewallDriver
my_ip = 192.168.0.6
[api]
auth_strategy = keystone
[keystone_authtoken]
auth_uri = http://controll:5000
auth_url = http://controll:35357
memcached_servers = controll:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = nova
[vnc]
enabled = true
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://10.104.199.221:6080/vnc_auto.html
[glance]
api_servers = http://controll:9292
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
[placement]
os_region_name = RegionOne
project_domain_name = default
project_name = service
auth_type = password
user_domain_name = default
auth_url = http://controll:35357/v3
username = placement
password = placement
[libvirt]
virt_type = qemu
设置 开机自启动、启动并查看启动情况
compute#
systemctl enable libvirtd.service openstack-nova-compute.service
systemctl restart libvirtd.service openstack-nova-compute.service
systemctl status libvirtd.service openstack-nova-compute.service
3、在控制节点和计算节点上都安装完成后,在控制节点上执行同步数据库操作:
#su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
或者修改配置文件
#vi /etc/nova/nova.conf:
[scheduler]
discover_hosts_in_cells_interval = 300
查看计算服务运行情况:
nova service-list
openstack hypervisor list
openstack compute service list