【OpenStack实战—nova06】

目录

一、创建nova数据库并授权 

二、在openstack中创建nova用户

二、在控制节点安装和配置nova组件

三、在计算节点安装配置nova

四、在控制节点同步计算节点


一、创建nova数据库并授权 

#控制节点配置
mysql -pxyz123
MariaDB [(none)]> CREATE DATABASE nova_api;
MariaDB [(none)]> CREATE DATABASE nova;
MariaDB [(none)]> CREATE DATABASE nova_cell0;
MariaDB [(none)]> show databases;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'xyz123';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'xyz123';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'xyz123';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'xyz123';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY 'xyz123';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'xyz123';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit

#命令解释见keystone篇、glance篇

二、在openstack中创建nova用户

openstack user create --domain default --password xyz123 nova
openstack role add --project service --user nova admin
openstack service create --name nova --description "OpenStack Compute" compute
#创建nova服务API的endpoint(url访问)
openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1
openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1
openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1
openstack endpoint list
#创建placement用户,placement也是openstack的一个辅助组件,用于资源的追踪记录
openstack user create --domain default --password xyz123 placement
openstack role add --project service --user placement admin
openstack service create --name placement --description "Placement API" placement
openstack endpoint create --region RegionOne placement public http://controller:8778
openstack endpoint create --region RegionOne placement internal http://controller:8778
openstack endpoint create --region RegionOne placement admin http://controller:8778
 

二、在控制节点安装和配置nova组件

yum install openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler openstack-nova-placement-api -y
#备份配置文件
cp /etc/nova/nova.conf /etc/nova/nova.conf.bak
cp /etc/httpd/conf.d/00-nova-placement-api.conf /etc/httpd/conf.d/00-nova-placement-api.conf.bak
#修改配置文件/etc/nova/nova.conf
vim /etc/nova/nova.conf
[DEFAULT]
2753 
enabled_apis = osapi_compute,metadata

[api_database]
3479
connection = mysql+pymysql://nova:xyz123@controller/nova_api

[database]
4453
connection=mysql+pymysql://nova:xyz123@controller/nova

[DEFAULT]
3130
transport_url=rabbit://openstack:xyz123@controller

[api]
3193
auth_strategy = keystone

[keystone_authtoken]    #直接在该行下复制粘贴以下内容
5771
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = xyz123

[DEFAULT]
1817
use_neutron = True
2479
firewall_driver = nova.virt.firewall.NoopFirewallDriver

[vnc]
9896
enabled = true
9918
vncserver_listen = 192.168.122.11
9929
vncserver_proxyclient_address = 192.168.122.11

[glance]
5067
api_servers = http://controller:9292

[oslo_concurrency]
7488
lock_path=/var/lib/nova/tmp

[placement]   #直接在该行下复制粘贴以下内容
8304 
os_region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:35357/v3
username = placement
password = xyz123
#由于安装包存在bug,需要修改apache子配置文件,并重启apache。
#修改配置文件/etc/httpd/conf.d/00-nova-placement-api.conf
<Directory /usr/bin>
   <IfVersion >= 2.4>
      Require all granted
   </IfVersion>
   <IfVersion < 2.4>
      Order allow,deny
      Allow from all
   </IfVersion>
</Directory>
</VirtualHost> #在该行上面复制粘贴以上字段

#导数据
su -s /bin/sh -c "nova-manage api_db sync" nova
su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
8ea690ce-6016-4774-831e-e4dd41f313fe 
#执行这条命令时可能会报错,再执行一次就可以了 
su -s /bin/sh -c "nova-manage db sync" nova

#验证
mysql -h controller -u nova -pxianyu123 -e 'use nova;show tables;' |wc -l
111
mysql -h controller -u nova -pxianyu123 -e 'use nova_api;show tables;' |wc -l
33
mysql -h controller -u nova -pxianyu123 -e 'use nova_cell0;show tables;' |wc -l
111

 

#起服务
systemctl enable openstack-nova-api.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-consoleauth.service openstack-nova-scheduler.service \
openstack-nova-conductor.service openstack-nova-novncproxy.service

验证:
source admin-openstack.sh 
openstack catalog list

ls /var/log/nova/
nova-api.log        nova-consoleauth.log  nova-novncproxy.log     nova-scheduler.log
nova-conductor.log  nova-manage.log       nova-placement-api.log

三、在计算节点安装配置nova

yum install openstack-nova-compute sysfsutils -y
cp /etc/nova/nova.conf /etc/nova/nova.conf.bak
#修改配置文件/etc/nova/nova.conf
vim /etc/nova/nova.conf
[DEFAULT]
2753 
enabled_apis = osapi_compute,metadata

[DEFAULT]
3130
transport_url=rabbit://openstack:xyz123@controller

[api]
3193
auth_strategy = keystone

[keystone_authtoken]    #直接在该行下复制粘贴以下内容
5771
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = xyz123

[DEFAULT]
1817
use_neutron = True
2479
firewall_driver = nova.virt.firewall.NoopFirewallDriver

[vnc]
9896
enabled = true
9918#所有人都可以访问
vncserver_listen = 0.0.0.0 
9929#计算节点的管理网卡地址
vncserver_proxyclient_address = 192.168.122.12  
9947
novncproxy_base_url=http://192.168.122.11:6080/vnc_auto.html

[glance]
5067
api_servers = http://controller:9292

[oslo_concurrency]
7488
lock_path=/var/lib/nova/tmp

[placement]   #直接在该行下复制粘贴以下内容
8304 
os_region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:35357/v3
username = placement
password = xyz123

#如果此命令返回的值大于等于零,则计算节点支持硬件加速(虚拟化),则取消注释即可。
#如果此命令返回的值为零,则计算节点不支持硬件加速,必须将libvirt配置为使用QEMU而不是KVM。
egrep -c '(vmx|svm)' /proc/cpuinfo
2
vim /etc/nova/nova.conf
[libvirt]
6057
virt_type=qemu

总结:计算节点的/etc/nova/nova.conf配置文件配置基本相同,不同之处在于[vnc]、[libvirt]两部分,可将控制节点的配置文件复制过来略作修改即可。
使用kvm报错:实例开机提示找不到磁盘Booting from Hard Disk... GRUB.又改回qemu

systemctl enable libvirtd.service openstack-nova-compute.service
systemctl start libvirtd.service openstack-nova-compute.service

四、在控制节点同步计算节点

#查看服务
openstack compute service list
#新增计算节点记录,增加到nova数据库中
su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
#验证所有API是否正常
nova-status upgrade check

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值