CC00012.CloudOpenStack——|OpenStack&组件.V03|——|OpenStack-nova|构建nova组件|

一、开始构建nova组件:配置先决条件
### --- 在controller节点配置:配置先决条件
### --- 创建数据库,完成下列步骤:
~~~     使用数据库管理员root登录数据库

[root@controller ~]# mysql -uroot -p
Enter password: 123456
~~~     创建nova数据库

MariaDB [(none)]> CREATE DATABASE nova;
Query OK, 1 row affected (0.00 sec)
~~~     创建数据库用户nova,并授予nova用户对nova数据库的完全控制权限,

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost'IDENTIFIED BY'NOVA_DBPASS';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%'IDENTIFIED BY'NOVA_DBPASS';
Query OK, 0 rows affected (0.00 sec)
~~~     在compute1节点连接测试
~~~     退出数据库连接

[root@compute ~]# yum install  -y mysql
[root@compute ~]# mysql -unova -pNOVA_DBPASS -h controller.nice.com -P 3306 
MariaDB [nova]> show tables;
Empty set (0.00 sec)                        // 空目录,还没有还原,证明权限是没有问题的。
### --- 在controller节点配置:
### --- 执行admin环境脚本

[root@controller ~]# source admin-openrc.sh
### --- 在认证服务中心创建计算服务的认证信息,完成下列步骤:
~~~     创建nova用户

[root@controller ~]# keystone user-create --name nova --pass NOVA_PASS
+----------+----------------------------------+
| Property |              Value               |
+----------+----------------------------------+
|  email   |                                  |
| enabled  |               True               |
|    id    | aec2303c9ee7480cb0696379b40eca3a |
|   name   |               nova               |
| username |               nova               |
+----------+----------------------------------+
~~~     链接nova用户到service租户和admin角色
~~~     --name指定类型为nova,--type:指定类型为compute,
~~~     --description描述信息为:OpenStack compute的计算节点。

[root@controller ~]# keystone user-role-add --user nova --tenant service --role admin
~~~     创建nova服务

[root@controller ~]# keystone service-create --name nova --type compute --description "OpenStack Compute"
+-------------+----------------------------------+
|   Property  |              Value               |
+-------------+----------------------------------+
| description |        OpenStack Compute         |
|   enabled   |               True               |
|      id     | e1c2ba9ab6c2423faee9b21daf57ba77 |
|     name    |               nova               |
|     type    |             compute              |
+-------------+----------------------------------+
### --- 创建计算服务端点

[root@controller ~]# keystone endpoint-create \
> --service-id $(keystone service-list | awk '/ compute / {print $2}') \
> --publicurl http://controller.nice.com:8774/v2/%\(tenant_id\)s \
> --internalurl http://controller.nice.com:8774/v2/%\(tenant_id\)s \
> --adminurl http://controller.nice.com:8774/v2/%\(tenant_id\)s \
> --region regionOne
+-------------+--------------------------------------------------+
|   Property  |                      Value                       |
+-------------+--------------------------------------------------+
|   adminurl  | http://controller.nice.com:8774/v2/%(tenant_id)s |
|      id     |         eee81988059a4695bc5a5b0789b551e1         |
| internalurl | http://controller.nice.com:8774/v2/%(tenant_id)s |
|  publicurl  | http://controller.nice.com:8774/v2/%(tenant_id)s |
|    region   |                    regionOne                     |
|  service_id |         e1c2ba9ab6c2423faee9b21daf57ba77         |
+-------------+--------------------------------------------------+
二、安装和配置计算控制组件
### --- 在controller节点
### --- 安装软件包

[root@controller ~]# yum install openstack-nova-api openstack-nova-cert openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler python-novaclient
Installed:
  openstack-nova-api.noarch 0:2014.2-2.el7.centos            openstack-nova-cert.noarch 0:2014.2-2.el7.centos              openstack-nova-conductor.noarch 0:2014.2-2.el7.centos       
  openstack-nova-console.noarch 0:2014.2-2.el7.centos        openstack-nova-novncproxy.noarch 0:2014.2-2.el7.centos        openstack-nova-scheduler.noarch 0:2014.2-2.el7.centos       
  python-novaclient.noarch 1:2.20.0-1.el7.centos            
Dependency Installed:
  libwebp.x86_64 0:0.3.0-3.el7                                 novnc.noarch 0:0.4-7.el7                                   openstack-nova-common.noarch 0:2014.2-2.el7.centos          
  pyparsing.noarch 0:2.0.1-3.el7.centos                        python-cheetah.x86_64 0:2.4.4-5.el7.centos                 python-cliff.noarch 0:1.7.0-1.el7.centos                    
  python-cmd2.noarch 0:0.6.7-5.el7.centos                      python-ecdsa.noarch 0:0.11-3.el7.centos                    python-jinja2.noarch 0:2.7.2-2.el7                          
  python-markdown.noarch 0:2.4.1-1.el7.centos                  python-neutronclient.noarch 0:2.3.9-1.el7.centos           python-nova.noarch 0:2014.2-2.el7.centos                    
  python-oslo-rootwrap.noarch 0:1.3.0.0-1.el7.centos           python-paramiko.noarch 0:1.12.4-1.el7.centos               python-pillow.x86_64 0:2.0.0-17.gitd1c6db8.el7              
  python-pyasn1.noarch 0:0.1.6-2.el7                           python-pygments.noarch 0:1.4-9.el7                         python-rfc3986.noarch 0:0.2.0-1.el7.centos                  
  python-websockify.noarch 0:0.5.1-1.el7                      
Complete!
### --- 编辑/etc/nova/nova.conf文件,完成如下操作:
~~~     编辑[database]小节,配置数据库访问

[root@controller ~]# vim /etc/nova/nova.conf 
[database]                                  # 没有收到,自己手动创建一个。
connection=mysql://nova:NOVA_DBPASS@controller.nice.com/nova
# 编辑[DEFAULT]小节,配置RabbitMQ消息队列访问:
[DEFAULT]
......
rpc_backend=rabbit
rabbit_host=controller.nice.com
rabbit_password=guest                       # 密码默认是guest,在安装完rabbit后没有更改它的默认密码:
# 编辑[DEFAULT]和[keystone_authtoken]小节,配置认证服务
[DEFAULT]
......
auth_strategy=keystone
[keystone_authtoken]
......
auth_uri=http://controller.nice.com:5000/v2.0
identity_uri=http://controller.nice.com:35357
admin_tenant_name=service
admin_user=nova
admin_password=NOVA_PASS
# 编辑[DEFAULT]小节,配置my_ip选项为controller节点的管理接口ip:
[DEFAULT]
......
my_ip=192.168.222.5                         # 管理网络的IP地址:
# 编辑[DEFAULT]小节,配置VNCdialing服务的使用controller节点的管理接口ip:
[DEFAULT]
......
vncserver_listen=192.168.222.5              # 监听地址:也就是我们本机的IP地址:
vncserver_proxyclient_address=192.168.222.5 # 更改代理的地址:依然是我们本机地址
# 编辑[glance]小节,配置镜像服务器的位置
[glance]
......
host=controller.nice.com
# (可选)在[DEFAULT]小节中配置详细日志输出 ,方便排错
[DEFAULT]
......
verbose=True
### --- 初始化计算数据库:还原nova数据库

[root@controller ~]# su -s /bin/sh -c "nova-manage db sync" nova
[root@controller ~]# mysql -uroot -p 
Enter password: 
MariaDB [(none)]> use nova
MariaDB [nova]> show tables;
+--------------------------------------------+
| Tables_in_nova                             |
+--------------------------------------------+
| agent_builds                               |
| aggregate_hosts                            |
| aggregate_metadata                         |
| aggregates                                 |
| block_device_mapping                       |
| bw_usage_cache                             |
| cells                                      |
| certificates                               |
| compute_nodes                              |
| console_pools                              |
| consoles                                   |
| dns_domains                                |
| fixed_ips                                  |
| floating_ips                               |
| instance_actions                           |
| instance_actions_events                    |
| instance_extra                             |
| instance_faults                            |
| instance_group_member                      |
| instance_group_policy                      |
| instance_groups                            |
| instance_id_mappings                       |
| instance_info_caches                       |
| instance_metadata                          |
| instance_system_metadata                   |
| instance_type_extra_specs                  |
| instance_type_projects                     |
| instance_types                             |
| instances                                  |
| iscsi_targets                              |
| key_pairs                                  |
| migrate_version                            |
| migrations                                 |
| networks                                   |
| pci_devices                                |
| project_user_quotas                        |
| provider_fw_rules                          |
| quota_classes                              |
| quota_usages                               |
| quotas                                     |
| reservations                               |
| s3_images                                  |
| security_group_default_rules               |
| security_group_instance_association        |
| security_group_rules                       |
| security_groups                            |
| services                                   |
| shadow_agent_builds                        |
| shadow_aggregate_hosts                     |
| shadow_aggregate_metadata                  |
| shadow_aggregates                          |
| shadow_block_device_mapping                |
| shadow_bw_usage_cache                      |
| shadow_cells                               |
| shadow_certificates                        |
| shadow_compute_nodes                       |
| shadow_console_pools                       |
| shadow_consoles                            |
| shadow_dns_domains                         |
| shadow_fixed_ips                           |
| shadow_floating_ips                        |
| shadow_instance_actions                    |
| shadow_instance_actions_events             |
| shadow_instance_extra                      |
| shadow_instance_faults                     |
| shadow_instance_group_member               |
| shadow_instance_group_policy               |
| shadow_instance_groups                     |
| shadow_instance_id_mappings                |
| shadow_instance_info_caches                |
| shadow_instance_metadata                   |
| shadow_instance_system_metadata            |
| shadow_instance_type_extra_specs           |
| shadow_instance_type_projects              |
| shadow_instance_types                      |
| shadow_instances                           |
| shadow_iscsi_targets                       |
| shadow_key_pairs                           |
| shadow_migrate_version                     |
| shadow_migrations                          |
| shadow_networks                            |
| shadow_pci_devices                         |
| shadow_project_user_quotas                 |
| shadow_provider_fw_rules                   |
| shadow_quota_classes                       |
| shadow_quota_usages                        |
| shadow_quotas                              |
| shadow_reservations                        |
| shadow_s3_images                           |
| shadow_security_group_default_rules        |
| shadow_security_group_instance_association |
| shadow_security_group_rules                |
| shadow_security_groups                     |
| shadow_services                            |
| shadow_snapshot_id_mappings                |
| shadow_snapshots                           |
| shadow_task_log                            |
| shadow_virtual_interfaces                  |
| shadow_volume_id_mappings                  |
| shadow_volume_usage_cache                  |
| shadow_volumes                             |
| snapshot_id_mappings                       |
| snapshots                                  |
| task_log                                   |
| virtual_interfaces                         |
| volume_id_mappings                         |
| volume_usage_cache                         |
| volumes                                    |
+--------------------------------------------+
108 rows in set (0.00 sec)
三、完成安装
### --- 启动计算服务并配置开机自动启动:

[root@controller ~]# 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
ln -s '/usr/lib/systemd/system/openstack-nova-api.service' '/etc/systemd/system/multi-user.target.wants/openstack-nova-api.service'
ln -s '/usr/lib/systemd/system/openstack-nova-cert.service' '/etc/systemd/system/multi-user.target.wants/openstack-nova-cert.service'
ln -s '/usr/lib/systemd/system/openstack-nova-consoleauth.service' '/etc/systemd/system/multi-user.target.wants/openstack-nova-consoleauth.service'
ln -s '/usr/lib/systemd/system/openstack-nova-scheduler.service' '/etc/systemd/system/multi-user.target.wants/openstack-nova-scheduler.service'
ln -s '/usr/lib/systemd/system/openstack-nova-conductor.service' '/etc/systemd/system/multi-user.target.wants/openstack-nova-conductor.service'
ln -s '/usr/lib/systemd/system/openstack-nova-novncproxy.service' '/etc/systemd/system/multi-user.target.wants/openstack-nova-novncproxy.service'
[root@controller ~]# 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
### --- 查看nova下运行了那些服务。状态是up状态,正常。

[root@controller ~]# nova service-list 
+----+------------------+---------------------+----------+---------+-------+----------------------------+-----------------+
| Id | Binary           | Host                | Zone     | Status  | State | Updated_at                 | Disabled Reason |
+----+------------------+---------------------+----------+---------+-------+----------------------------+-----------------+
| 1  | nova-consoleauth | controller.nice.com | internal | enabled | up    | 2021-01-11T01:07:38.000000 | -               |
| 2  | nova-cert        | controller.nice.com | internal | enabled | up    | 2021-01-11T01:07:38.000000 | -               |
| 3  | nova-conductor   | controller.nice.com | internal | enabled | up    | 2021-01-11T01:07:37.000000 | -               |
| 4  | nova-scheduler   | controller.nice.com | internal | enabled | up    | 2021-01-11T01:07:38.000000 | -               |
+----+------------------+---------------------+----------+---------+-------+----------------------------+-----------------+
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值