上都海奶茶馆 发表于 2018-6-1 09:15:59

OpenStack 学习笔记(五):OpenStack nova服务搭建

  ——先决条件
  
  1.)创建数据库
  
MariaDB [(none)]> CREATE DATABASE nova;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> GRANT ALL ON nova.* TO 'nova'@'%' IDENTIFIED BY 'nova';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> CREATE DATABASE nova_api;Query OK, 1 row affected (0.00 sec)MariaDB [(none)]> GRANT ALL ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'nova';Query OK, 0 rows affected (0.02 sec)MariaDB [(none)]> GRANT ALL ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';
Query OK, 0 rows affected (0.02 sec)  2.)Create the nova user
# openstack user create --domain default --password nova nova
+-----------+----------------------------------+
| Field   | Value                            |
+-----------+----------------------------------+
| domain_id | 0b741c2e67ed4d618fa7e963325221ad |
| enabled   | True                           |
| id      | f059f5d68d8441f2ac506701c972221e |
| name      | nova                           |
+-----------+----------------------------------+  
  3.)Add the admin role to the nova user
# openstack role add --project service --user nova admin  
  
  4.)Create the nova service entity
# openstack service create --name nova --description "OpenStack Compute" compute
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Compute                |
| enabled   | True                           |
| id          | 6276582dd78040cbb125db6793bdfe5d |
| name      | nova                           |
| type      | compute                        |
+-------------+----------------------------------+  5.)Create the Compute service API endpoints
  
# openstack endpoint create --region RegionOne compute public http://192.168.100.120:8774/v2.1/%\(tenant_id\)s
+--------------+------------------------------------------------+
| Field      | Value                                          |
+--------------+------------------------------------------------+
| enabled      | True                                           |
| id         | 4982a6ccbef244148e6c15992a56185f               |
| interface    | public                                       |
| region       | RegionOne                                    |
| region_id    | RegionOne                                    |
| service_id   | 6276582dd78040cbb125db6793bdfe5d               |
| service_name | nova                                           |
| service_type | compute                                        |
| url          | http://192.168.100.120:8774/v2.1/%(tenant_id)s |
+--------------+------------------------------------------------+
# openstack endpoint create --region RegionOne compute internal http://192.168.100.120:8774/v2.1/%\(tenant_id\)s
+--------------+------------------------------------------------+
| Field      | Value                                          |
+--------------+------------------------------------------------+
| enabled      | True                                           |
| id         | 8a96cff800914256b6049e2d5e8ca913               |
| interface    | internal                                       |
| region       | RegionOne                                    |
| region_id    | RegionOne                                    |
| service_id   | 6276582dd78040cbb125db6793bdfe5d               |
| service_name | nova                                           |
| service_type | compute                                        |
| url          | http://192.168.100.120:8774/v2.1/%(tenant_id)s |
+--------------+------------------------------------------------+
# openstack endpoint create --region RegionOne compute admin http://192.168.100.120:8774/v2.1/%\(tenant_id\)s
+--------------+------------------------------------------------+
| Field      | Value                                          |
+--------------+------------------------------------------------+
| enabled      | True                                           |
| id         | 2dfbc5fcf3204aa9a7930024eaa90899               |
| interface    | admin                                          |
| region       | RegionOne                                    |
| region_id    | RegionOne                                    |
| service_id   | 6276582dd78040cbb125db6793bdfe5d               |
| service_name | nova                                           |
| service_type | compute                                        |
| url          | http://192.168.100.120:8774/v2.1/%(tenant_id)s |
+--------------+------------------------------------------------+  

  ——控制节点nova服务搭建配置
  
  6.)安装nova服务
# yum -y install openstack-nova-api openstack-nova-cert openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler python-novaclient  
  
  7.)配置nova服务
  
# cp /etc/nova/nova.conf /etc/nova/nova.conf.bak
# vim /etc/nova/nova.conf
   1:
141: my_ip=192.168.254.140
265: enabled_apis=osapi_compute,metadata
380: auth_strategy=keystone
1559: firewall_driver=nova.virt.firewall.NoopFirewallDriver
1682: use_neutron=true
1949: debug=true
2117: rpc_backend=rabbit
2158:
2166: connection=mysql://nova:nova@localhost:3306/nova_api
3103:
3126: connection=mysql://nova:nova@localhost:3306/nova
3320:
3352: api_servers=http://192.168.254.140:9292
3520:
3521: auth_uri = http://192.168.254.140:5000
3522: auth_url = http://192.168.254.140:35357
3523: memcached_servers = 192.168.254.140:11211
3524: auth_type = password
3525: project_domain_name = default
3526: user_domain_name = default
3527: project_name = service
3528: username = nova
3529: password = nova
4290:
4305: lock_path=/var/lib/nova/tmp
4401:
4456: rabbit_host=192.168.254.140
4462: rabbit_port=5672
4474: rabbit_userid=openstack
4478: rabbit_password=11111111
5355:
5425: vncserver_listen=192.168.254.140
5449: vncserver_proxyclient_address=$my_ip  
  8.)同步数据库
  
# nova-manage api_db sync
# mysql -unova -pnova -e "use nova_api; show tables;"
+--------------------+
| Tables_in_nova_api |
+--------------------+
| build_requests   |
| cell_mappings      |
| flavor_extra_specs |
| flavor_projects    |
| flavors            |
| host_mappings      |
| instance_mappings|
| migrate_version    |
| request_specs      |
+--------------------+
# nova-manage db sync
# mysql -unova -pnova -e "use nova; show tables;"
+--------------------------------------------+
| Tables_in_nova                           |
+--------------------------------------------+
| agent_builds                               |
| aggregate_hosts                            |
| aggregate_metadata                         |
| aggregates                                 |
| allocations                              |
| 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                                  |
| inventories                              |
| key_pairs                                  |
| migrate_version                            |
| migrations                                 |
| networks                                 |
| pci_devices                              |
| project_user_quotas                        |
| provider_fw_rules                        |
| quota_classes                              |
| quota_usages                               |
| quotas                                     |
| reservations                               |
| resource_provider_aggregates               |
| resource_providers                         |
| 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_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                  |
| snapshot_id_mappings                     |
| snapshots                                  |
| tags                                       |
| task_log                                 |
| virtual_interfaces                         |
| volume_id_mappings                         |
| volume_usage_cache                         |
+--------------------------------------------+  9.)Start the Compute services and configure start when the system boots
  

  9.1) configure start when the system boots

  
# systemctl enable \
openstack-nova-api.service \
openstack-nova-consoleauth.service \
openstack-nova-scheduler.service \
openstack-nova-conductor.service \
openstack-nova-novncproxy.service  
  9.2)start compute service
  
# systemctl start \
openstack-nova-api.service \
openstack-nova-consoleauth.service \
openstack-nova-scheduler.service \
openstack-nova-conductor.service \
openstack-nova-novncproxy.service  
  9.2)select compute service status

# systemctl status \
openstack-nova-api.service \
openstack-nova-consoleauth.service \
openstack-nova-scheduler.service \
openstack-nova-conductor.service \
openstack-nova-novncproxy.service
# netstat -antup|egrep '8774|6080'
tcp      0      0 0.0.0.0:6080            0.0.0.0:*               LISTEN      6950/python2      
tcp      0      0 0.0.0.0:8774            0.0.0.0:*               LISTEN      6946/python2  10.)校验操作

# openstack compute service list
+----+------------------+-----------+----------+---------+-------+----------------------------+
| Id | Binary         | Host      | Zone   | Status| State | Updated At               |
+----+------------------+-----------+----------+---------+-------+----------------------------+
|1 | nova-scheduler   | openstack | internal | enabled | up    | 2016-05-26T07:06:29.000000 |
|2 | nova-conductor   | openstack | internal | enabled | up    | 2016-05-26T07:06:29.000000 |
|3 | nova-consoleauth | openstack | internal | enabled | up    | 2016-05-26T07:06:30.000000 |
+----+------------------+-----------+----------+---------+-------+----------------------------+  
  ——计算节点nova服务搭建配置
  
  1.同步时间
# hostnamectl set-hostname OpenStack-Compute
# su -
# ntpdate pool.ntp.org  2.添加mitaka源
# wget https://repos.fedorapeople.org/repos/openstack/openstack-mitaka/rdo-release-mitaka-3.noarch.rpm
# yum install -y centos-release-openstack-mitaka
# yum install -y rdo-release-mitaka-3.noarch.rpm
# yum upgrade -y  3.添加hosts解析
# echo -e "192.168.100.120\topenstack" >> /etc/hosts
# echo -e "192.168.100.121\t$(uname -n)" >> /etc/hosts
# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.254.140 openstack
192.168.254.141 OpenStack-Computee  4.安装配置compute
# yum install -y openstack-nova-compute
# cp /etc/nova/nova.conf/etc/nova/nova.conf.bak
# vim /etc/nova/nova.conf
   1:
141:my_ip=192.168.254.141
380:auth_strategy=keystone
1559:firewall_driver=nova.virt.firewall.NoopFirewallDriver
1682:use_neutron=true
1949:debug=true
2117:rpc_backend=rabbit
3320:
3352:api_servers=http://192.168.254.140:9292
3520:
3521:auth_uri = http://192.168.254.140:5000
3522:auth_url = http://192.168.254.140:35357
3523:memcached_servers = 192.168.254.140:11211
3524:auth_type = password
3525:project_domain_name = default
3526:user_domain_name = default
3527:project_name = service
3528:username = nova
3529:password = nova
4290:
4305:lock_path=/var/lib/nova/tmp
4401:
4456:rabbit_host=192.168.254.140
4462:rabbit_port=5672
4474:rabbit_userid=openstack
4478:rabbit_password=11111111
5355:
5383:enabled=true
5425:vncserver_listen=192.168.254.140
5449:vncserver_proxyclient_address=$my_ip
5530:novncproxy_base_url=http://192.168.254.140:6080/vnc_auto.html  
  
  5.)查看硬件是否支持kvm
  
# egrep -c '(vmx|svm)' /proc/cpuinfo
1  6.)start libvirtd and openstack-nova-compute
# systemctl enable libvirtd.service openstack-nova-compute.service
# systemctl start libvirtd.service openstack-nova-compute.service  

  7.)校验检查
  
  7.1)在控制节点检查compute注册信息和状态
# openstack compute service list
+----+------------------+--------------------+----------+---------+-------+----------------------------+
| Id | Binary         | Host               | Zone   | Status| State | Updated At               |
+----+------------------+--------------------+----------+---------+-------+----------------------------+
|1 | nova-consoleauth | openstack          | internal | enabled | up    | 2016-05-30T08:20:33.000000 |
|2 | nova-conductor   | openstack          | internal | enabled | up    | 2016-05-30T08:20:32.000000 |
|3 | nova-scheduler   | openstack          | internal | enabled | up    | 2016-05-30T08:20:33.000000 |
|7 | nova-compute   | OpenStack-Computee | nova   | enabled | up    | 2016-05-30T08:20:29.000000 |
+----+------------------+--------------------+----------+---------+-------+----------------------------+  
页: [1]
查看完整版本: OpenStack 学习笔记(五):OpenStack nova服务搭建