OpenStack多节点安装(四):Compute

来源:互联网 发布:c语言编程软件中文版 编辑:程序博客网 时间:2024/06/04 18:14


上篇文章讲述了如何安装镜像服务(Glance),本文将继续讲解如何搭建Openstack计算服务组件(Compute)。废话不多说,直接开始。(就是干!)


在安装和配置Compute服务之前,必须先完成数据库,服务凭证以及API endpoints的创建

1.创建数据库

mysql -u root -pCREATE DATABASE nova_api;CREATE DATABSE nova;CREATE DATABASE nova_cell0;GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
用合适的密码替换NOVA_DBPASS。

2. 创建服务凭证

. admin-openrcopenstack user create --domain default --password-prompt novaopenstack role add --project service --user nova adminopenstack service create --name nova \  --description "OpenStack Compute" compute

3. 创建API endpoints

openstack endpoint create --region RegionOne \  compute public http://192.168.152.166:8774/v2.1openstack endpoint create --region RegionOne \  compute internal http://192.168.152.166:8774/v2.1openstack endpoint create --region RegionOne \  compute admin http://192.168.152.166:8774/v2.1


4. 创建Placement service(过程类似上面的第2,3步,这里直接一次性给出运行命令)

openstack user create --domain default --password-prompt placementopenstack role add --project service --user placement adminopenstack service create --name placement --description "Placement API" placementopenstack endpoint create --region RegionOne placement public http://192.168.152.166:8778openstack endpoint create --region RegionOne placement internal http://192.168.152.166:8778openstack endpoint create --region RegionOne placement admin http://192.168.152.166:8778

5. 安装并配置组件

sudo apt install nova-api nova-conductor nova-consoleauth \  nova-novncproxy nova-scheduler nova-placement-api

编辑配置文件/etc/nova/nova.conf,在[api_database]和[databse]部分配置数据库连接

[api_database]# ...connection = mysql+pymysql://nova:NOVA_DBPASS@192.168.152.166/nova_api[database]# ...connection = mysql+pymysql://nova:NOVA_DBPASS@192.168.152.166/nova

在[default]部分,配置RabbitMQ消息队列访问权限,配置my_ip,来使用控制节点的管理接口的ip地址以及启用网络服务支持

[DEFAULT]# ...transport_url = rabbit://openstack:RABBIT_PASS@controller
my_ip = 192.168.152.166
use_neutron = Truefirewall_driver = nova.virt.firewall.NoopFirewallDriver

在[api]和[keystone_authtoken]部分,设置identity service的访问控制

[api]# ...auth_strategy = keystone[keystone_authtoken]# ...auth_uri = http://192.168.152.166:5000auth_url = http://192.168.152.166:35357memcached_servers = 192.168.152.166:11211auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultproject_name = serviceusername = novapassword = NOVA_PASS
在[vnc]部分,配置VNC代理使用控制节点的管理接口IP地址

[vnc]enabled = true# ...vncserver_listen = $my_ipvncserver_proxyclient_address = $my_ip
在[glance]部分,配置镜像服务API的位置

[glance]# ...api_servers = http://192.168.152.166:9292

在[oslo_concurrency]部分,配置锁路径

[oslo_concurrency]# ...lock_path = /var/lib/nova/tmp
在[placement]部分,配置Placement API

[placement]# ...os_region_name = RegionOneproject_domain_name = Defaultproject_name = serviceauth_type = passworduser_domain_name = Defaultauth_url = http://controller:35357/v3username = placementpassword = PLACEMENT_PASS

初始化数据库

sudo su -s /bin/sh -c "nova-manage api_db sync" nova

注册cell0数据库

sudo su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova

创建cell1 cell

sudo su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova

同步数据库
sudo su -s /bin/sh -c "nova-manage db sync" nova

重启服务

sudo service nova-api restartsudo service nova-consoleauth restartsudo service nova-scheduler restartsudo service nova-conductor restartsudo service nova-novncproxy restart

以上操作均在控制节点上进行,接下讲述计算节点上的安装与配置


安装并配置组件

sudo  apt install nova-compute

由于配置文件的修改与控制节点上类似,下面仅将不同的配置部分介绍一下,其它部分的配置均与控制节点上一样。

第一点,不用配置[database]部分

第二点,[default]部分中的my_ip配置为计算节点的管理IP地址,而不再是控制节点的管理IP地址

[DEFAULT]# ...my_ip = 192.168.152.167(我自己的计算节点的IP地址,替换成你自己的)

第三点,在[vnc]部分的配置如下:

[vnc]# ...enabled = Truevncserver_listen = 0.0.0.0vncserver_proxyclient_address = $my_ipnovncproxy_base_url = http://192.168.152.166:6080/vnc_auto.html

完成安装

确定您的计算节点虚拟机是否支持硬件加速

 egrep -c '(vmx|svm)' /proc/cpuinfo

如果这个命令返回了1或更大的值,那么无需额外的配置如果这个命令返回了0,那么说明你的计算节点不支持硬件加速,必须修改配置文件/etc/nova/nova-compute.conf,

在其[libvirt]部分,作如下修改:

[libvirt]# ...virt_type = qemu

重启服务

sudo service nova-compute restart



接下来讲解如何将刚才配置好的的计算节点添加到cell数据库中(在控制节点上进行操作):

. admin-openrcopenstack hypervisor list
sudo su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova


注意:当你添加新的计算节点时,必须在控制节点上运行nova-manage cell_v2 discover_hosts来注册这些计算节点。


验证计算服务(在控制节点上操作)

. admin-openrcopenstack compute service list

如果运行命令出现以下类似的效果,则证明计算服务安装成功:

+----+--------------------+------------+----------+---------+-------+----------------------------+| Id | Binary             | Host       | Zone     | Status  | State | Updated At                 |+----+--------------------+------------+----------+---------+-------+----------------------------+|  1 | nova-consoleauth   | controller | internal | enabled | up    | 2016-02-09T23:11:15.000000 ||  2 | nova-scheduler     | controller | internal | enabled | up    | 2016-02-09T23:11:15.000000 ||  3 | nova-conductor     | controller | internal | enabled | up    | 2016-02-09T23:11:16.000000 ||  4 | nova-compute       | compute1   | nova     | enabled | up    | 2016-02-09T23:11:20.000000 |+----+--------------------+------------+----------+---------+-------+----------------------------+

后面继续讲解如何安装网络服务组件(Neutron),坚持哈,胜利就在前方!



原创粉丝点击