GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu14.04LTSでのOpenStackLiberty–Novaの構成

このガイドは、OpenStak環境でNova(Compute)サービスを構成するのに役立ちます。OpenStackでは、コンピューティングサービス(ノード)がクラウドコンピューティングシステムをホストします。 OpenStackコンピューティングは、IaaSの主要な部分であり、認証のためにKeyStoneと対話し、ディスクとイメージのためのイメージサービス、およびユーザーと管理インターフェースのためのダッシュボードと相互作用します。

OpenStack Computeは、標準のハードウェアで水平方向にスケーリングし、イメージをダウンロードしてコンピューティングインスタンスを起動できます。

コントローラーノードのインストールと構成:

ControllerノードでComputeサービスを構成し、rootユーザーとしてMySQLサーバーにログインします。

# mysql -u root -p

novaデータベースを作成します。

CREATE DATABASE nova;

novaデータベースに適切な権限を付与します。

GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'password';

パスワード」を置き換えます 」と適切なパスワード。 MySQLを終了します。

環境スクリプトから管理者クレデンシャルをロードします。

# source admin-openrc.sh

サービス資格情報を作成するためのnovaユーザーを作成します。

# openstack user create --domain default --password-prompt nova                                                                                        
User Password:
Repeat User Password:
+-----------+----------------------------------+
| Field     | Value                            |
+-----------+----------------------------------+
| domain_id | default                          |
| enabled   | True                             |
| id        | a25d5cdc7efa4375b0907dd615eebde0 |
| name      | nova                             |
+-----------+----------------------------------+

novaユーザーに管理者の役割を追加します。

# openstack role add --project service --user nova admin

novaサービスエンティティを作成します。

# openstack service create --name nova --description "Nova" compute
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | Nova                             |
| enabled     | True                             |
| id          | ad302b8a4e884decb8ed0f4fdf319ba1 |
| name        | nova                             |
| type        | compute                          |
+-------------+----------------------------------+

novaサービスAPIエンドポイントを作成します。

# openstack endpoint create --region RegionOne compute public http://controller:8774/v2/%\(tenant_id\)s
+--------------+-----------------------------------------+
| Field        | Value                                   |
+--------------+-----------------------------------------+
| enabled      | True                                    |
| id           | 3d7bba2b7c3446e7975f8b74c0cab712        |
| interface    | public                                  |
| region       | RegionOne                               |
| region_id    | RegionOne                               |
| service_id   | ad302b8a4e884decb8ed0f4fdf319ba1        |
| service_name | nova                                    |
| service_type | compute                                 |
| url          | http://controller:8774/v2/%(tenant_id)s |
+--------------+-----------------------------------------+

# openstack endpoint create --region RegionOne compute internal http://controller:8774/v2/%\(tenant_id\)s
+--------------+-----------------------------------------+
| Field        | Value                                   |
+--------------+-----------------------------------------+
| enabled      | True                                    |
| id           | 240d4430f1c442439c3835c12abf7533        |
| interface    | internal                                |
| region       | RegionOne                               |
| region_id    | RegionOne                               |
| service_id   | ad302b8a4e884decb8ed0f4fdf319ba1        |
| service_name | nova                                    |
| service_type | compute                                 |
| url          | http://controller:8774/v2/%(tenant_id)s |
+--------------+-----------------------------------------+

# openstack endpoint create --region RegionOne compute admin http://controller:8774/v2/%\(tenant_id\)s
+--------------+-----------------------------------------+
| Field        | Value                                   |
+--------------+-----------------------------------------+
| enabled      | True                                    |
| id           | 758d41f12fff4617bc7e4c12bd4502fc        |
| interface    | admin                                   |
| region       | RegionOne                               |
| region_id    | RegionOne                               |
| service_id   | ad302b8a4e884decb8ed0f4fdf319ba1        |
| service_name | nova                                    |
| service_type | compute                                 |
| url          | http://controller:8774/v2/%(tenant_id)s |
+--------------+-----------------------------------------+

コンピュートコントローラーコンポーネントのインストールと構成:

以下のパッケージをコントローラーノードにインストールします。

# apt-get install nova-api nova-cert nova-conductor nova-consoleauth nova-novncproxy nova-scheduler python-novaclient

/etc/nova/nova.confを編集します。

# nano /etc/nova/nova.conf

以下の設定を変更し、適切なセクションにエントリを配置してください。以下のエントリの既存のセクションが見つからない場合は、ファイルにそれらの特定のセクションを追加する必要がある場合があります。

[DEFAULT]
...
verbose = True
rpc_backend = rabbit
auth_strategy = keystone
## Management IP of Controller Node
my_ip = 192.168.12.21 
network_api_class = nova.network.neutronv2.api.API
security_group_api = neutron
linuxnet_interface_driver = nova.network.linux_net.NeutronLinuxBridgeInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver
enabled_apis=osapi_compute,metadata

[vnc]
## Management IP of Controller Node
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip

[database]
connection = mysql+pymysql://nova:password@controller/nova

## Replace "password" with the password you chose for nova database

[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = password

## Replace "password" with the password you chose for the openstack account in RabbitMQ.

[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = nova
password = password

## Replace "password" with the password you chose for nova user in the identity service

[glance]
host = controller

[oslo_concurrency]
lock_path = /var/lib/nova/tmp

Computeデータベースにデータを入力します。

#  su -s /bin/sh -c "nova-manage db sync" nova

コンピューティングサービスを再起動します。

# service nova-api restart
# service nova-cert restart
# service nova-consoleauth restart
# service nova-scheduler restart
# service nova-conductor restart
# service nova-novncproxy restart

SQLiteデータベースファイルを削除します。

# rm -f /var/lib/nova/nova.sqlite

Novaのインストールと構成(計算ノード上):

次に、コンピュートノードにコンピュートサービスをインストールして構成します。このサービスは、インスタンス(VM)をデプロイするための複数のハイパーバイザーをサポートします。コンピューティングノードは、KVM拡張機能を備えたQEMUハイパーバイザーを使用して、ハードウェアアクセラレーションによる仮想化をサポートします。

コンピューティングがハードウェア仮想化をサポートしているかどうかを確認します。

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

コマンドが値1以上で返される場合、計算ノードは仮想化をサポートしています。

ComputeNodeでOpenStackKiloリポジトリーが有効になっていることを確認するか、以下の手順に従って有効にしてください。

UbuntuCloudアーカイブキーリングとリポジトリをインストールします。

# apt-get install software-properties-common

# add-apt-repository cloud-archive:liberty

システムをアップグレードします。

# apt-get update && apt-get dist-upgrade

各コンピュートノードに次のパッケージをインストールします。

# apt-get install nova-compute sysfsutils

/etc/nova/nova-compute.confを編集して、QEMUを有効にします。

# vi /etc/nova/nova-compute.conf

libvirtセクションでvirt_type=kvmをqemuに変更します。

[libvirt]
...
virt_type = qemu

/etc/nova/nova.confを編集します。

# vi /etc/nova/nova.conf

以下の設定を変更し、適切なセクションにエントリを配置してください。

[DEFAULT]
...
verbose = True
rpc_backend = rabbit
auth_strategy = keystone
## Management IP of Compute Node
my_ip = 192.168.12.22
network_api_class = nova.network.neutronv2.api.API
security_group_api = neutron
linuxnet_interface_driver = nova.network.linux_net.NeutronLinuxBridgeInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver
[vnc]
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = password
## Replace "password" with the password you chose for the openstack account in RabbitMQ.

[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = nova
password = password

## Replace "password" with the password you chose for nova user in the identity service

[glance]
host = controller

## Replace controller with your controller hostname

[oslo_concurrency]
lock_path = /var/lib/nova/tmp

コンピューティングサービスを再起動します。

# service nova-compute restart

SQLiteデータベースファイルを削除します。

# rm -f /var/lib/nova/nova.sqlite

操作の確認:

コントローラノードに管理者クレデンシャルをロードします。

# source admin-openrc.sh

検証するコンピューティングサービスコンポーネントを一覧表示し、コントローラーノードで次のコマンドを実行します。

# nova service-list
+----+------------------+--------------------------+----------+---------+-------+----------------------------+-----------------+
| Id | Binary           | Host                     | Zone     | Status  | State | Updated_at                 | Disabled Reason |
+----+------------------+--------------------------+----------+---------+-------+----------------------------+-----------------+
| 1  | nova-consoleauth | controller.itzgeek.local | internal | enabled | up    | 2015-11-25T14:11:25.000000 | -               |
| 2  | nova-cert        | controller.itzgeek.local | internal | enabled | up    | 2015-11-25T14:11:24.000000 | -               |
| 3  | nova-conductor   | controller.itzgeek.local | internal | enabled | up    | 2015-11-25T14:11:28.000000 | -               |
| 4  | nova-scheduler   | controller.itzgeek.local | internal | enabled | up    | 2015-11-25T14:11:24.000000 | -               |
| 5  | nova-compute     | compute.itzgeek.local    | nova     | enabled | up    | 2015-11-25T14:11:30.000000 | -               |
+----+------------------+--------------------------+----------+---------+-------+----------------------------+-----------------+

コントローラノードで4つのサービスコンポーネントが有効になり、コンピュートノードで1つのサービスコンポーネントが有効になった出力が得られるはずです。

イメージサービスカタログにイメージをリストして、コンピューティングとイメージサービス間の接続を確認します。

# nova image-list
+--------------------------------------+---------------------+--------+--------+
| ID                                   | Name                | Status | Server |
+--------------------------------------+---------------------+--------+--------+
| b19c4522-df31-4331-a2e1-5992abcd4ded | Ubuntu_14.04-x86_64 | ACTIVE |        |
+--------------------------------------+---------------------+--------+--------+

以上です!!!これで、Novaサービスが正常に構成されました。次は、OpenStack Networking(Neutron)を構成することです。


Ubuntu
  1. Ubuntu14.04.2でのOpenStackKilo– Neutron#1の構成

  2. Ubuntu14.04.2でのOpenStackKilo–Novaの構成

  3. Ubuntu14.04.2上のOpenStackKilo–Glanceの構成

  1. Ubuntu14.04.2でのOpenStackKilo– KeyStone#2の構成

  2. Ubuntu14.04.2でのOpenStackKilo– KeyStone#1の構成

  3. Ubuntu14.04.2でのOpenStackKilo– Swift#1の構成

  1. Ubuntu14.04.2でのOpenStackKilo– Cinder#2の構成

  2. Ubuntu14.04.2でのOpenStackKilo– Cinder#1の構成

  3. Ubuntu14.04.2上のOpenStackKilo–Horizo​​nの構成