1. 程式人生 > 其它 >|NO.Z.00012|——————————|^^^^ 部署 ^^^^|——|OpenStack&元件.V03|--------------------------|OpenStack-nova|構建nova元件|

|NO.Z.00012|——————————|^^^^ 部署 ^^^^|——|OpenStack&元件.V03|--------------------------|OpenStack-nova|構建nova元件|



[CloudVirtualiZation:OpenStack&元件.V03]                                                 [Applications.CloudVirtualiZation] [|OpenStack|OpenStack.nova|controller節點下部署nova計算服務|在compute節點部署一個compute例項]








一、開始構建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:[email protected]/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 | -               |
+----+------------------+---------------------+----------+---------+-------+----------------------------+-----------------+








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)