博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Openstack】实录手动部署Openstack Rocky 双节点(4)- Nova
阅读量:2043 次
发布时间:2019-04-28

本文共 39412 字,大约阅读时间需要 131 分钟。

第一篇:

上一篇:
下一篇:

文章目录

参考文档

Nova (controller)

关闭防火墙

[tony@controller ~]$ sudo systemctl stop firewalld[tony@controller ~]$ sudo systemctl disable firewalldRemoved symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

设置admin的鉴权信息

[tony@controller ~]$ cat adminrcexport OS_PROJECT_DOMAIN_NAME=Defaultexport OS_USER_DOMAIN_NAME=Defaultexport OS_PROJECT_NAME=adminexport OS_USERNAME=adminexport OS_PASSWORD=$passwordexport OS_AUTH_URL=http://controller:5000/v3export OS_IDENTITY_API_VERSION=3export OS_IMAGE_API_VERSION=2[tony@controller ~]$ source adminrc

添加Nova账户及其鉴权信息

创建compute类型的服务

[tony@controller ~]$ openstack service create --name nova --description "OpenStack Compute" compute+-------------+----------------------------------+| Field       | Value                            |+-------------+----------------------------------+| description | OpenStack Compute                || enabled     | True                             || id          | 5c2b7c41e83f4e8ca7118c0097248cf5 || name        | nova                             || type        | compute                          |+-------------+----------------------------------+

创建nova账户并设置密码

[tony@controller ~]$ openstack user create --domain default --password-prompt nova

User Password: <Enter password>

Repeat User Password: <Repeat password>
±--------------------±---------------------------------+
| Field | Value |
±--------------------±---------------------------------+
| domain_id | default |
| enabled | True |
| id | 4ecb248c39df4f368a2a4c07805ab784 |
| name | nova |
| options | {} |
| password_expires_at | None |
±--------------------±---------------------------------+

给nova账户赋予service项目的admin角色

[tony@controller ~]$ openstack role add --project service --user nova admin

创建endpoint

[tony@controller ~]$ openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1+--------------+----------------------------------+| Field        | Value                            |+--------------+----------------------------------+| enabled      | True                             || id           | 2e937f5e7a2942418fc759ddcf7bb042 || interface    | public                           || region       | RegionOne                        || region_id    | RegionOne                        || service_id   | 5c2b7c41e83f4e8ca7118c0097248cf5 || service_name | nova                             || service_type | compute                          || url          | http://controller:8774/v2.1      |+--------------+----------------------------------+[tony@controller ~]$ openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1+--------------+----------------------------------+| Field        | Value                            |+--------------+----------------------------------+| enabled      | True                             || id           | 69d1fd19e43e47cc978d758ef7aaf7a2 || interface    | internal                         || region       | RegionOne                        || region_id    | RegionOne                        || service_id   | 5c2b7c41e83f4e8ca7118c0097248cf5 || service_name | nova                             || service_type | compute                          || url          | http://controller:8774/v2.1      |+--------------+----------------------------------+[tony@controller ~]$ openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1+--------------+----------------------------------+| Field        | Value                            |+--------------+----------------------------------+| enabled      | True                             || id           | 631f58379ade4eb4ae42c743ee2b57e8 || interface    | admin                            || region       | RegionOne                        || region_id    | RegionOne                        || service_id   | 5c2b7c41e83f4e8ca7118c0097248cf5 || service_name | nova                             || service_type | compute                          || url          | http://controller:8774/v2.1      |+--------------+----------------------------------+

创建placement类型服务

[tony@controller ~]$ openstack service create --name placement --description "Placement API" placement+-------------+----------------------------------+| Field       | Value                            |+-------------+----------------------------------+| description | Placement API                    || enabled     | True                             || id          | 1b43d96cb1e7407f994189fbe77f6724 || name        | placement                        || type        | placement                        |+-------------+----------------------------------+

创建placement账户

[tony@controller ~]$ openstack user create --domain default --password-prompt placementUser Password: 
Repeat User Password:
+---------------------+----------------------------------+| Field | Value |+---------------------+----------------------------------+| domain_id | default || enabled | True || id | 828b032a6cfb467ab98a5986b1168ab3 || name | placement || options | {
} || password_expires_at | None |+---------------------+----------------------------------+[tony@controller ~]$ openstack role add --project service --user placement admin

创建endpoint

[tony@controller ~]$ openstack endpoint create --region RegionOne placement public http://controller:8778+--------------+----------------------------------+| Field        | Value                            |+--------------+----------------------------------+| enabled      | True                             || id           | 36ef3c5e2b6f45a79651717e07e308ce || interface    | public                           || region       | RegionOne                        || region_id    | RegionOne                        || service_id   | 1b43d96cb1e7407f994189fbe77f6724 || service_name | placement                        || service_type | placement                        || url          | http://controller:8778           |+--------------+----------------------------------+[tony@controller ~]$ openstack endpoint create --region RegionOne placement internal http://controller:8778+--------------+----------------------------------+| Field        | Value                            |+--------------+----------------------------------+| enabled      | True                             || id           | ffa9735e7353483dba0360e23d3078e4 || interface    | internal                         || region       | RegionOne                        || region_id    | RegionOne                        || service_id   | 1b43d96cb1e7407f994189fbe77f6724 || service_name | placement                        || service_type | placement                        || url          | http://controller:8778           |+--------------+----------------------------------+[tony@controller ~]$ openstack endpoint create --region RegionOne placement admin http://controller:8778+--------------+----------------------------------+| Field        | Value                            |+--------------+----------------------------------+| enabled      | True                             || id           | 13b5952a556e485aa1ebc93badf77485 || interface    | admin                            || region       | RegionOne                        || region_id    | RegionOne                        || service_id   | 1b43d96cb1e7407f994189fbe77f6724 || service_name | placement                        || service_type | placement                        || url          | http://controller:8778           |+--------------+----------------------------------+

检查当前controller机器上的catalog

[tony@controller ~]$[tony@controller ~]$ openstack catalog list+-----------+-----------+-----------------------------------------+| Name      | Type      | Endpoints                               |+-----------+-----------+-----------------------------------------+| placement | placement | RegionOne                               ||           |           |   admin: http://controller:8778         ||           |           | RegionOne                               ||           |           |   public: http://controller:8778        ||           |           | RegionOne                               ||           |           |   internal: http://controller:8778      ||           |           |                                         || keystone  | identity  | RegionOne                               ||           |           |   admin: http://controller:5000/v3/     ||           |           | RegionOne                               ||           |           |   internal: http://controller:5000/v3/  ||           |           | RegionOne                               ||           |           |   public: http://controller:5000/v3/    ||           |           |                                         || nova      | compute   | RegionOne                               ||           |           |   public: http://controller:8774/v2.1   ||           |           | RegionOne                               ||           |           |   admin: http://controller:8774/v2.1    ||           |           | RegionOne                               ||           |           |   internal: http://controller:8774/v2.1 ||           |           |                                         || glance    | image     | RegionOne                               ||           |           |   public: http://controller:9292        ||           |           | RegionOne                               ||           |           |   internal: http://controller:9292      ||           |           | RegionOne                               ||           |           |   admin: http://controller:9292         ||           |           |                                         |+-----------+-----------+-----------------------------------------+

安装软件包

[tony@controller ~]$ sudo yum install -y openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler openstack-nova-placement-api

Nova配置文件

  • 原始默认配置文件
# 事实上,原始配置文件所有的配置选项都是注释掉的。[tony@controller ~]$ sudo cat /etc/nova/nova.conf | grep -v -E '^$|^#'[DEFAULT]...[zvm]
  • 修改后的配置文件
[tony@controller ~]$ sudo cat /etc/nova/nova.conf | grep -v -E '^$|^#'

[DEFAULT]

my_ip = 172.18.22.231
enabled_apis = osapi_compute,metadata
transport_url = rabbit://openstack:$password@controller
use_neutron = true
firewall_driver = nova.virt.firewall.NoopFirewallDriver
[api]
auth_strategy = keystone
[api_database]
connection = mysql+pymysql://nova:$password@controller/nova_api
[barbican]
[cache]
[cells]
[cinder]
[compute]
[conductor]
[console]
[consoleauth]
[cors]
[database]
connection = mysql+pymysql://nova:$password@controller/nova
[devices]
[ephemeral_storage_encryption]
[filter_scheduler]
[glance]
api_servers =
[guestfs]
[healthcheck]
[hyperv]
[ironic]
[key_manager]
[keystone]
[keystone_authtoken]
auth_url =
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = $password
[libvirt]
[matchmaker_redis]
[metrics]
[mks]
[neutron]
[notifications]
[osapi_v21]
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_messaging_zmq]
[oslo_middleware]
[oslo_policy]
[pci]
[placement]
region_name = RegionOne
project_domain_name = Default
project_name = service
user_domain_name = Default
auth_type = password
auth_url =
username = placement
password = $password
[placement_database]
[powervm]
[profiler]
[quota]
[rdp]
[remote_debug]
[scheduler]
[serial_console]
[service_user]
[spice]
[upgrade_levels]
[vault]
[vendordata_dynamic_auth]
[vmware]
[vnc]
enabled = true
server_listen = $my_ip
server_proxyclient_address = $my_ip
[workarounds]
[wsgi]
[xenserver]
[xvp]
[zvm]

创建Nova相关的数据库及权限设定

[tony@controller ~]$ mysql -u root -pEnter password:

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 55
Server version: 10.1.20-MariaDB MariaDB Server
 
Copyright © 2000, 2016, Oracle, MariaDB Corporation Ab and others.
 
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
 
MariaDB [(none)]> create database nova_api;
Query OK, 1 row affected (0.00 sec)
 
MariaDB [(none)]> create database nova;
Query OK, 1 row affected (0.00 sec)
 
MariaDB [(none)]> create database nova_cell0;
Query OK, 1 row affected (0.00 sec)
 
MariaDB [(none)]> create database placement;
Query OK, 1 row affected (0.00 sec)
 
MariaDB [(none)]> grant all privileges on nova_api.* to ‘nova’@‘localhost’ identified by ‘$password’;
Query OK, 0 rows affected (0.00 sec)
 
MariaDB [(none)]> grant all privileges on nova_api.* to ‘nova’@’%’ identified by ‘$password’;
Query OK, 0 rows affected (0.00 sec)
 
MariaDB [(none)]> grant all privileges on nova.* to ‘nova’@‘localhost’ identified by ‘$password’;
Query OK, 0 rows affected (0.00 sec)
 
MariaDB [(none)]> grant all privileges on nova.* to ‘nova’@’%’ identified by ‘$password’;
Query OK, 0 rows affected (0.00 sec)
 
MariaDB [(none)]> grant all privileges on nova_cell0.* to ‘nova’@‘localhost’ identified by ‘$password’;
Query OK, 0 rows affected (0.00 sec)
 
MariaDB [(none)]> grant all privileges on nova_cell0.* to ‘nova’@’%’ identified by ‘$password’;
Query OK, 0 rows affected (0.00 sec)
 
MariaDB [(none)]> grant all privileges on placement.* to ‘placement’@‘localhost’ identified by ‘$password’;
Query OK, 0 rows affected (0.00 sec)
 
MariaDB [(none)]> grant all privileges on placement.* to ‘placement’@’%’ identified by ‘$password’;
Query OK, 0 rows affected (0.00 sec)
 
MariaDB [(none)]> quit
Bye

初始化Nova API与Placement数据库

[tony@controller ~]$ sudo su -s /bin/sh -c "nova-manage api_db sync" nova

初始化Nova数据库

[tony@controller ~]$ sudo su -s /bin/sh -c "nova-manage db sync" nova

WARNING: cell0 mapping not found - not syncing cell0.

/usr/lib/python2.7/site-packages/pymysql/cursors.py:170: Warning: (1831, u’Duplicate index block_device_mapping_instance_uuid_virtual_name_device_name_idx. This is deprecated and will be disallowed in a future release.’)
result = self._query(query)
/usr/lib/python2.7/site-packages/pymysql/cursors.py:170: Warning: (1831, u’Duplicate index uniq_instances0uuid. This is deprecated and will be disallowed in a future release.’)
result = self._query(query)

注:第一次执行本步骤,可以忽略下面的注释

后续步骤中 $sudo nova-status upgrade check 命令报错,又重新初始化了一次数据库,就没有第一个红色的Warning了。nova-status命令也正常执行了。具体原因待查。

# 命令出错[tony@tony-controller ~]$ sudo nova-status upgrade checkError:Traceback (most recent call last):  File "/usr/lib/python2.7/site-packages/nova/cmd/status.py", line 795, in main    ret = fn(*fn_args, **fn_kwargs)  File "/usr/lib/python2.7/site-packages/nova/cmd/status.py", line 725, in check    result = func(self)  File "/usr/lib/python2.7/site-packages/nova/cmd/status.py", line 206, in _check_placement    versions = self._placement_get("/")  File "/usr/lib/python2.7/site-packages/nova/cmd/status.py", line 196, in _placement_get    return client.get(path, raise_exc=True).json()  File "/usr/lib/python2.7/site-packages/keystoneauth1/adapter.py", line 328, in get    return self.request(url, 'GET', **kwargs)  File "/usr/lib/python2.7/site-packages/keystoneauth1/adapter.py", line 213, in request    return self.session.request(url, method, **kwargs)  File "/usr/lib/python2.7/site-packages/keystoneauth1/session.py", line 869, in request    raise exceptions.from_response(resp, method, url)InternalServerError: Internal Server Error (HTTP 500)# 重新初始化数据库[tony@tony-controller ~]$ sudo su -s /bin/sh -c "nova-manage api_db sync" nova[tony@tony-controller ~]$ sudo su -s /bin/sh -c "nova-manage db sync" nova# 程序正常执行[tony@tony-controller ~]$ sudo nova-status upgrade check+--------------------------------+| Upgrade Check Results          |+--------------------------------+| Check: Cells v2                || Result: Success                || Details: None                  |+--------------------------------+| Check: Placement API           || Result: Success                || Details: None                  |+--------------------------------+| Check: Resource Providers      || Result: Success                || Details: None                  |+--------------------------------+| Check: Ironic Flavor Migration || Result: Success                || Details: None                  |+--------------------------------+| Check: API Service Version     || Result: Success                || Details: None                  |+--------------------------------+| Check: Request Spec Migration  || Result: Success                || Details: None                  |+--------------------------------+| Check: Console Auths           || Result: Success                || Details: None                  |+--------------------------------+

注册cell0数据库

[tony@controller ~]$ sudo su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova

注:在注册cell0数据库之后,重新初始化一下Nova数据库,也就没有第一个Warning了。

[tony@tony-controller ~]$ sudo su -s /bin/sh -c "nova-manage db sync" nova/usr/lib/python2.7/site-packages/pymysql/cursors.py:170: Warning: (1831, u'Duplicate index `block_device_mapping_instance_uuid_virtual_name_device_name_idx`. This is deprecated and will be disallowed in a future release.')  result = self._query(query)/usr/lib/python2.7/site-packages/pymysql/cursors.py:170: Warning: (1831, u'Duplicate index `uniq_instances0uuid`. This is deprecated and will be disallowed in a future release.')  result = self._query(query)

创建cell1

[tony@controller ~]$ sudo su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" novac1a3197c-cbd1-4554-881b-f405ea4b1c74

验证cell0与cell1

[tony@controller ~]$ sudo su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova

±------±-------------------------------------±-----------------------------------±------------------------------------------------±---------+

| Name | UUID | Transport URL | Database Connection | Disabled |
±------±-------------------------------------±-----------------------------------±------------------------------------------------±---------+
| cell0 | 00000000-0000-0000-0000-000000000000 | none:/ | mysql+pymysql://nova:@controller/nova_cell0 | False |
| cell1 | c1a3197c-cbd1-4554-881b-f405ea4b1c74 | rabbit://openstack:
@controller | mysql+pymysql://nova:****@controller/nova | False |
±------±-------------------------------------±-----------------------------------±------------------------------------------------±---------+

注册Placement Web Server到httpd

  • 修改配置文件
[tony@controller ~]$ sudo cat /etc/httpd/conf.d/00-nova-placement-api.conf

Listen 8778

 
<VirtualHost *:8778>
WSGIProcessGroup nova-placement-api
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
WSGIDaemonProcess nova-placement-api processes=3 threads=1 user=nova group=nova
WSGIScriptAlias / /usr/bin/nova-placement-api
<IfVersion >= 2.4>
ErrorLogFormat “%M”
</IfVersion>
ErrorLog /var/log/nova/nova-placement-api.log
#SSLEngine On
#SSLCertificateFile …
#SSLCertificateKeyFile …
 
<Directory /usr/bin>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
<IfVersion < 2.4>
Order allow, deny
Allow from all
</IfVersion>
</Directory>
</VirtualHost>
 
Alias /nova-placement-api /usr/bin/nova-placement-api
<Location /nova-placement-api>
SetHandler wsgi-script
Options +ExecCGI
WSGIProcessGroup nova-placement-api
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
</Location>

  • 重启httpd服务
[tony@controller ~]$ sudo systemctl restart httpd[tony@controller ~]$ sudo systemctl status httpd● httpd.service - The Apache HTTP Server   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)   Active: active (running) since Mon 2019-04-08 03:01:19 EDT; 8s ago     Docs: man:httpd(8)           man:apachectl(8)  Process: 95486 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS) Main PID: 95497 (httpd)   Status: "Processing requests..."   CGroup: /system.slice/httpd.service           ├─95497 /usr/sbin/httpd -DFOREGROUND           ├─95498 /usr/sbin/httpd -DFOREGROUND           ├─95499 /usr/sbin/httpd -DFOREGROUND           ├─95500 /usr/sbin/httpd -DFOREGROUND           ├─95501 (wsgi:keystone- -DFOREGROUND           ├─95502 (wsgi:keystone- -DFOREGROUND           ├─95503 (wsgi:keystone- -DFOREGROUND           ├─95504 (wsgi:keystone- -DFOREGROUND           ├─95505 (wsgi:keystone- -DFOREGROUND           ├─95506 /usr/sbin/httpd -DFOREGROUND           ├─95507 /usr/sbin/httpd -DFOREGROUND           ├─95508 /usr/sbin/httpd -DFOREGROUND           ├─95509 /usr/sbin/httpd -DFOREGROUND           └─95510 /usr/sbin/httpd -DFOREGROUNDApr 08 03:01:19 controller systemd[1]: Starting The Apache HTTP Server...Apr 08 03:01:19 controller systemd[1]: Started The Apache HTTP Server.

启动nova服务

# 启用服务[tony@controller ~]$ sudo systemctl enable openstack-nova-api.serviceCreated symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-api.service to /usr/lib/systemd/system/openstack-nova-api.service.[tony@controller ~]$ sudo systemctl enable openstack-nova-consoleauthCreated symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-consoleauth.service to /usr/lib/systemd/system/openstack-nova-consoleauth.service.[tony@controller ~]$ sudo systemctl enable openstack-nova-scheduler.serviceCreated symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-scheduler.service to /usr/lib/systemd/system/openstack-nova-scheduler.service.[tony@controller ~]$ sudo systemctl enable openstack-nova-conductor.serviceCreated symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-conductor.service to /usr/lib/systemd/system/openstack-nova-conductor.service.[tony@controller ~]$ sudo systemctl enable openstack-nova-novncproxy.serviceCreated symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-novncproxy.service to /usr/lib/systemd/system/openstack-nova-novncproxy.service.# 启动服务[tony@controller ~]$ sudo systemctl start openstack-nova-api.service openstack-nova-consoleauth openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service# 检查服务状态[tony@controller ~]$ sudo systemctl status openstack-nova-api.service openstack-nova-consoleauth openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
● openstack-nova-api.service - OpenStack Nova API Server   Loaded: loaded (/usr/lib/systemd/system/openstack-nova-api.service; enabled; vendor preset: disabled)   Active: active (running) since Mon 2019-04-08 03:07:24 EDT; 7s ago Main PID: 96191 (nova-api)   CGroup: /system.slice/openstack-nova-api.service           ├─96191 /usr/bin/python2 /usr/bin/nova-api           ├─96271 /usr/bin/python2 /usr/bin/nova-api           ├─96272 /usr/bin/python2 /usr/bin/nova-api           ├─96273 /usr/bin/python2 /usr/bin/nova-api           ├─96274 /usr/bin/python2 /usr/bin/nova-api           ├─96279 /usr/bin/python2 /usr/bin/nova-api           ├─96281 /usr/bin/python2 /usr/bin/nova-api           ├─96282 /usr/bin/python2 /usr/bin/nova-api           └─96283 /usr/bin/python2 /usr/bin/nova-apiApr 08 03:07:15 controller systemd[1]: Starting OpenStack Nova API Server...Apr 08 03:07:24 controller systemd[1]: Started OpenStack Nova API Server.● openstack-nova-consoleauth.service - OpenStack Nova VNC console auth Server   Loaded: loaded (/usr/lib/systemd/system/openstack-nova-consoleauth.service; enabled; vendor preset: disabled)   Active: active (running) since Mon 2019-04-08 03:07:19 EDT; 11s ago Main PID: 96192 (nova-consoleaut)   CGroup: /system.slice/openstack-nova-consoleauth.service           └─96192 /usr/bin/python2 /usr/bin/nova-consoleauthApr 08 03:07:16 controller systemd[1]: Starting OpenStack Nova VNC console auth Server...Apr 08 03:07:19 controller systemd[1]: Started OpenStack Nova VNC console auth Server.● openstack-nova-scheduler.service - OpenStack Nova Scheduler Server   Loaded: loaded (/usr/lib/systemd/system/openstack-nova-scheduler.service; enabled; vendor preset: disabled)   Active: active (running) since Mon 2019-04-08 03:07:21 EDT; 9s ago Main PID: 96193 (nova-scheduler)   CGroup: /system.slice/openstack-nova-scheduler.service           ├─96193 /usr/bin/python2 /usr/bin/nova-scheduler           ├─96258 /usr/bin/python2 /usr/bin/nova-scheduler           ├─96259 /usr/bin/python2 /usr/bin/nova-scheduler           ├─96260 /usr/bin/python2 /usr/bin/nova-scheduler           └─96262 /usr/bin/python2 /usr/bin/nova-schedulerApr 08 03:07:16 controller systemd[1]: Starting OpenStack Nova Scheduler Server...Apr 08 03:07:21 controller systemd[1]: Started OpenStack Nova Scheduler Server.● openstack-nova-conductor.service - OpenStack Nova Conductor Server   Loaded: loaded (/usr/lib/systemd/system/openstack-nova-conductor.service; enabled; vendor preset: disabled)   Active: active (running) since Mon 2019-04-08 03:07:20 EDT; 10s ago Main PID: 96194 (nova-conductor)   CGroup: /system.slice/openstack-nova-conductor.service           ├─96194 /usr/bin/python2 /usr/bin/nova-conductor           ├─96248 /usr/bin/python2 /usr/bin/nova-conductor           ├─96250 /usr/bin/python2 /usr/bin/nova-conductor           ├─96251 /usr/bin/python2 /usr/bin/nova-conductor           └─96252 /usr/bin/python2 /usr/bin/nova-conductorApr 08 03:07:16 controller systemd[1]: Starting OpenStack Nova Conductor Server...Apr 08 03:07:20 controller systemd[1]: Started OpenStack Nova Conductor Server.● openstack-nova-novncproxy.service - OpenStack Nova NoVNC Proxy Server   Loaded: loaded (/usr/lib/systemd/system/openstack-nova-novncproxy.service; enabled; vendor preset: disabled)   Active: active (running) since Mon 2019-04-08 03:07:16 EDT; 15s ago Main PID: 96195 (nova-novncproxy)   CGroup: /system.slice/openstack-nova-novncproxy.service           └─96195 /usr/bin/python2 /usr/bin/nova-novncproxy --web /usr/share/novnc/Apr 08 03:07:16 controller systemd[1]: Started OpenStack Nova NoVNC Proxy Server.

验证Nova服务

[tony@controller ~]$ openstack compute service list+----+------------------+------------+----------+---------+-------+----------------------------+| ID | Binary           | Host       | Zone     | Status  | State | Updated At                 |+----+------------------+------------+----------+---------+-------+----------------------------+|  1 | nova-consoleauth | controller | internal | enabled | up    | 2019-04-08T07:10:35.000000 ||  2 | nova-conductor   | controller | internal | enabled | up    | 2019-04-08T07:10:26.000000 ||  3 | nova-scheduler   | controller | internal | enabled | up    | 2019-04-08T07:10:27.000000 |+----+------------------+------------+----------+---------+-------+----------------------------+

部署nova-compute包

[tony@controller ~]$ sudo yum -y install openstack-nova-compute

修改配置文件

[tony@controller ~]$ diff /tmp/nova.origin.conf /tmp/nova.new.conf6a7,8> compute_driver = libvirt.LibvirtDriver> instances_path = /var/lib/nova/instances24a27,31> [vnc]> enabled = true> server_listen = 0.0.0.0> server_proxyclient_address = $my_ip> novncproxy_base_url = http://controller:6080/vnc_auto.html42a50> virt_type = qemu68a77> connection = mysql+pymysql://placement:$password@controller/placement
  • 新的配置文件
[tony@controller ~]$ sudo cat /etc/nova/nova.conf | grep -v -E  '^$|^#'

[DEFAULT]

my_ip = 172.18.22.231
enabled_apis = osapi_compute,metadata
transport_url = rabbit://openstack:$password@controller
use_neutron = true
firewall_driver = nova.virt.firewall.NoopFirewallDriver
compute_driver = libvirt.LibvirtDriver
instances_path = /var/lib/nova/instances
[api]
auth_strategy = keystone
[api_database]
connection = mysql+pymysql://nova:$password@controller/nova_api
[barbican]
[database]
connection = mysql+pymysql://nova:$password@controller/nova
[devices]
[vnc]
enabled = true
server_listen = 0.0.0.0
server_proxyclient_address = $my_ip
novncproxy_base_url =
[glance]
api_servers =
[guestfs]
[keystone_authtoken]
auth_url =
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = $password
[libvirt]
virt_type = qemu
[matchmaker_redis]
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
[oslo_messaging_amqp]
[pci]
[placement]
region_name = RegionOne
project_domain_name = Default
project_name = service
user_domain_name = Default
auth_type = password
auth_url =
username = placement
password = $password
[placement_database]
connection = mysql+pymysql://placement:$password@controller/placement
[powervm]
[workarounds]

启动服务

[tony@controller ~]$ sudo systemctl enable libvirtd.service openstack-nova-compute.serviceCreated symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-compute.service to /usr/lib/systemd/system/openstack-nova-compute.service.[tony@controller ~]$ sudo systemctl start libvirtd.service openstack-nova-compute.service[tony@controller ~]$ sudo systemctl status libvirtd.service openstack-nova-compute.service● libvirtd.service - Virtualization daemon   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)   Active: active (running) since Mon 2019-04-08 03:41:40 EDT; 9s ago     Docs: man:libvirtd(8)           https://libvirt.org Main PID: 102617 (libvirtd)    Tasks: 17 (limit: 32768)   CGroup: /system.slice/libvirtd.service           └─102617 /usr/sbin/libvirtdApr 08 03:41:40 controller systemd[1]: Starting Virtualization daemon...Apr 08 03:41:40 controller systemd[1]: Started Virtualization daemon.● openstack-nova-compute.service - OpenStack Nova Compute Server   Loaded: loaded (/usr/lib/systemd/system/openstack-nova-compute.service; enabled; vendor preset: disabled)   Active: active (running) since Mon 2019-04-08 03:41:43 EDT; 6s ago Main PID: 102635 (nova-compute)    Tasks: 22   CGroup: /system.slice/openstack-nova-compute.service           └─102635 /usr/bin/python2 /usr/bin/nova-computeApr 08 03:41:40 controller systemd[1]: Starting OpenStack Nova Compute Server...Apr 08 03:41:43 controller systemd[1]: Started OpenStack Nova Compute Server.

将Controller Node注册到Cell

[tony@controller ~]$ sudo su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" novaFound 2 cell mappings.Skipping cell0 since it does not contain hosts.Getting computes from cell 'cell1': c1a3197c-cbd1-4554-881b-f405ea4b1c74Checking host mapping for compute host 'controller': 090c321b-7c7d-496f-bbcb-1f5360034cc8Creating host mapping for compute host 'controller': 090c321b-7c7d-496f-bbcb-1f5360034cc8Found 1 unmapped computes in cell: c1a3197c-cbd1-4554-881b-f405ea4b1c74

验证controller机器上的compute服务

[tony@controller ~]$ openstack compute service list

±—±-----------------±-----------±---------±--------±------±---------------------------+

| ID | Binary | Host | Zone | Status | State | Updated At |
±—±-----------------±-----------±---------±--------±------±---------------------------+
| 1 | nova-consoleauth | controller | internal | enabled | up | 2019-04-08T07:46:36.000000 |
| 2 | nova-conductor | controller | internal | enabled | up | 2019-04-08T07:46:36.000000 |
| 3 | nova-scheduler | controller | internal | enabled | up | 2019-04-08T07:46:37.000000 |
| 7 | nova-compute | controller | nova | enabled | up | 2019-04-08T07:46:42.000000 |
±—±-----------------±-----------±---------±--------±------±---------------------------+

验证cells和placement API正常工作

[tony@controller ~]$ sudo nova-status upgrade check+--------------------------------+| Upgrade Check Results          |+--------------------------------+| Check: Cells v2                || Result: Success                || Details: None                  |+--------------------------------+| Check: Placement API           || Result: Success                || Details: None                  |+--------------------------------+| Check: Resource Providers      || Result: Success                || Details: None                  |+--------------------------------+| Check: Ironic Flavor Migration || Result: Success                || Details: None                  |+--------------------------------+| Check: API Service Version     || Result: Success                || Details: None                  |+--------------------------------+| Check: Request Spec Migration  || Result: Success                || Details: None                  |+--------------------------------+| Check: Console Auths           || Result: Success                || Details: None                  |+--------------------------------+

Nova (Compute)

关闭防火墙

[tony@compute ~]$ sudo systemctl stop firewalld[tony@compute ~]$ sudo systemctl disable firewalldRemoved symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

安装软件包

# 安装软件包[tony@compute ~]$ sudo yum install -y openstack-nova-compute# 设置配置文件[tony@compute ~]$ sudo cp /etc/nova/nova.conf  /etc/nova/nova.conf.origin[tony@compute ~]$ sudo vim /etc/nova/nova.conf[DEFAULT]my_ip = 172.18.22.232enabled_apis = osapi_compute,metadatatransport_url = rabbit://openstack:$password@controlleruse_neutron = truefirewall_driver = nova.virt.firewall.NoopFirewallDrivercompute_driver = libvirt.LibvirtDriverinstances_path = /var/lib/nova/instances[api]auth_strategy = keystone[api_database]connection = mysql+pymysql://nova:$password@controller/nova_api[barbican][cache][cells][cinder][compute][conductor][console][consoleauth][cors][database]connection = mysql+pymysql://nova:$password@controller/nova[devices][ephemeral_storage_encryption][filter_scheduler][glance]api_servers = http://controller:9292[guestfs][healthcheck][hyperv][ironic][key_manager][keystone][keystone_authtoken]auth_url = http://controller:5000/v3memcached_servers = controller:11211auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultproject_name = serviceusername = novapassword = $password[libvirt]virt_type = qemu[matchmaker_redis][metrics][mks][neutron][notifications][osapi_v21][oslo_concurrency][oslo_messaging_amqp][oslo_messaging_kafka][oslo_messaging_notifications][oslo_messaging_rabbit][oslo_messaging_zmq][oslo_middleware][oslo_policy][pci][placement]region_name = RegionOneproject_domain_name = Defaultproject_name = serviceuser_domain_name = Defaultauth_type = passwordauth_url = http://controller:5000/v3username = placementpassword = $password[placement_database]connection = mysql+pymysql://placement:$password@controller/placement[powervm][profiler][quota][rdp][remote_debug][scheduler][serial_console][service_user][spice][upgrade_levels][vault][vendordata_dynamic_auth][vmware][vnc]enabled = trueserver_listen = 0.0.0.0server_proxyclient_address = $my_ipnovncproxy_base_url = http://controller:6080/vnc_auto.html[workarounds][wsgi][xenserver][xvp][zvm]# 启用并启动服务[tony@compute ~]$ sudo systemctl enable libvirtd.service openstack-nova-compute.serviceCreated symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-compute.service to /usr/lib/systemd/system/openstack-nova-compute.service.[tony@compute ~]$ sudo systemctl start libvirtd.service openstack-nova-compute.service[tony@compute ~]$ sudo systemctl status libvirtd.service openstack-nova-compute.service● libvirtd.service - Virtualization daemon   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)   Active: active (running) since Mon 2019-04-08 04:31:49 EDT; 9s ago     Docs: man:libvirtd(8)           https://libvirt.org Main PID: 33687 (libvirtd)    Tasks: 17 (limit: 32768)   CGroup: /system.slice/libvirtd.service           └─33687 /usr/sbin/libvirtdApr 08 04:31:49 compute systemd[1]: Starting Virtualization daemon...Apr 08 04:31:49 compute systemd[1]: Started Virtualization daemon.● openstack-nova-compute.service - OpenStack Nova Compute Server   Loaded: loaded (/usr/lib/systemd/system/openstack-nova-compute.service; enabled; vendor preset: disabled)   Active: active (running) since Mon 2019-04-08 04:31:52 EDT; 6s ago Main PID: 33705 (nova-compute)    Tasks: 22   CGroup: /system.slice/openstack-nova-compute.service           └─33705 /usr/bin/python2 /usr/bin/nova-computeApr 08 04:31:49 compute systemd[1]: Starting OpenStack Nova Compute Server...Apr 08 04:31:52 compute systemd[1]: Started OpenStack Nova Compute Server.# 注册[tony@compute ~]$ sudo su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" novaFound 2 cell mappings.Skipping cell0 since it does not contain hosts.Getting computes from cell 'cell1': c1a3197c-cbd1-4554-881b-f405ea4b1c74Checking host mapping for compute host 'compute': 005dfe34-54f3-4982-b2f8-43b81ae673fdCreating host mapping for compute host 'compute': 005dfe34-54f3-4982-b2f8-43b81ae673fdFound 1 unmapped computes in cell: c1a3197c-cbd1-4554-881b-f405ea4b1c74# 忘记设置admin鉴权信息了[tony@compute ~]$ openstack compute service listMissing value auth-url required for auth plugin password[tony@compute ~]$ vim adminrcexport OS_PROJECT_DOMAIN_NAME=Defaultexport OS_USER_DOMAIN_NAME=Defaultexport OS_PROJECT_NAME=adminexport OS_USERNAME=adminexport OS_PASSWORD=$passwordexport OS_AUTH_URL=http://controller:5000/v3export OS_IDENTITY_API_VERSION=3export OS_IMAGE_API_VERSION=2[tony@compute ~]$ source adminrc[tony@compute ~]$ openstack compute service list+----+------------------+------------+----------+---------+-------+----------------------------+| ID | Binary           | Host       | Zone     | Status  | State | Updated At                 |+----+------------------+------------+----------+---------+-------+----------------------------+|  1 | nova-consoleauth | controller | internal | enabled | up    | 2019-04-08T08:33:17.000000 ||  2 | nova-conductor   | controller | internal | enabled | up    | 2019-04-08T08:33:21.000000 ||  3 | nova-scheduler   | controller | internal | enabled | up    | 2019-04-08T08:33:12.000000 ||  7 | nova-compute     | controller | nova     | enabled | up    | 2019-04-08T08:33:21.000000 ||  8 | nova-compute     | compute    | nova     | enabled | up    | 2019-04-08T08:33:18.000000 |+----+------------------+------------+----------+---------+-------+----------------------------+[tony@compute ~]$ sudo nova-status upgrade check+--------------------------------+| Upgrade Check Results          |+--------------------------------+| Check: Cells v2                || Result: Success                || Details: None                  |+--------------------------------+| Check: Placement API           || Result: Success                || Details: None                  |+--------------------------------+| Check: Resource Providers      || Result: Success                || Details: None                  |+--------------------------------+| Check: Ironic Flavor Migration || Result: Success                || Details: None                  |+--------------------------------+| Check: API Service Version     || Result: Success                || Details: None                  |+--------------------------------+| Check: Request Spec Migration  || Result: Success                || Details: None                  |+--------------------------------+| Check: Console Auths           || Result: Success                || Details: None                  |+--------------------------------+

结语

自此,controller与compute1机器上的nova模块安装成功。

第一篇:

上一篇:
下一篇:

转载地址:http://rvpof.baihongyu.com/

你可能感兴趣的文章
【Pyton】【小甲鱼】类和对象
查看>>
压力测试工具JMeter入门教程
查看>>
作为一名软件测试工程师,需要具备哪些能力
查看>>
【Pyton】【小甲鱼】类和对象:一些相关的BIF(内置函数)
查看>>
【Pyton】【小甲鱼】魔法方法
查看>>
单元测试需要具备的技能和4大阶段的学习
查看>>
【Loadrunner】【浙江移动项目手写代码】代码备份
查看>>
LoadRunner中获取当前系统时间方法
查看>>
Python几种并发实现方案的性能比较
查看>>
【实战】10.10.1.9考试系统代码完成一次答题代码备份
查看>>
[Jmeter]jmeter之脚本录制与回放,优化(windows下的jmeter)
查看>>
【编码备份】1.9从Excel中导入用户名进行测试,用户一次进入系统进行答题测试。...
查看>>
Jmeter之正则
查看>>
【JMeter】1.9上考试jmeter测试调试
查看>>
【虫师】【selenium】参数化
查看>>
【JMeter】如何用JMeter进行压力测试
查看>>
【Python练习】文件引用用户名密码登录系统
查看>>
学习网站汇总
查看>>
【Jmeter】如何通过文件导入方式对用户名和密码进行参数化设置
查看>>
【Python】用Python打开csv和xml文件
查看>>