DUICUO

OpenStack オールインワン

システム環境: ubuntu-server-14.04

ネットワーク環境: VMware NAT eth0 192.168.149.130

パスワードの設定: 管理を容易にするために、すべてのサービス パスワードはopenstack として設定されています。

I.データベース

a)インストール

  1. # apt-get install python-mysqldb mysql-server

b)構成

/etc/mysql/my.cnfを変更する

  1. [mysqld]
  2. bind-address = 127.0.0.1 # すべての IP アドレスはローカル マシンを使用します。
  3. default-storage-engine = innodb # デフォルトのストレージエンジンを Innodb に設定します
  4. innodb_file_per_table
  5. collat​​ion-server = utf8_general_ci # エンコード形式を設定する
  6. init-connect = 'SET NAMES utf8'  
  7. 文字セットサーバー= utf8  

c) MySQLサービスを再起動し、データベースをセーフモードで初期化し、匿名ユーザーを削除します。

  1. # サービスmysqlを再起動
  2. # mysql_secure_installation または # mysql_install_db

II.パッケージ構成

a) OpenStack Havana Ubuntuクラウドアーカイブをインストールする

  1. # apt-get install python-software-properties
  2. # aptリポジトリを追加 クラウドアーカイブ:Havana

b)ソフトウェア パッケージ データベースを更新し、システムを更新します。

  1. # apt-get update && apt-get dist-upgrade
  2. # 再起動

III.メッセージングサービス

メッセージング サービスはRabbitMQ を使用します。

  1. # apt-get でrabbitmq-serverをインストール

注: RabbitMQ はデフォルトのゲストユーザーとデフォルトのゲストパスワードを提供します。後でNovaサービスを設定する際にRabbitMQのパスワードが必要になるため、ここでゲストユーザーのパスワードを変更する必要があります。

  1. # rabbitmqctl change_password ゲスト openstack

IV. Keystone認証サービス

a)インストール

  1. # apt-get でキーストーンをインストール

b)構成

1) 設定ファイル /etc/keystone/keystone.conf を編集してデータベース接続方法を変更します。

  1. ...
  2. [SQL]
  3. # データベースに接続するために使用するSQLAlchemy接続文字列
  4. 接続= mysql ://keystone:[email protected]/keystone
  5. ...

2) デフォルトのデータベースを削除します。

  1. rm <スパン スタイル= "行の高さ: 1.5; フォントサイズ: 9pt;" > –f /var/lib/keystone/keystone.db </ span >  

3) データベースを作成する

  1. # mysql -u ルート -p
  2. mysql >データベース keystone を作成します。
  3. mysql > keystone.* のすべての権限を 'keystone'@'localhost' に付与します \
  4. 「openstack」によって識別されます。
  5. mysql > keystone.* のすべての権限を 'keystone'@'%' に付与します \
  6. 「openstack」によって識別されます。

4)データテーブルを作成する

  1. # keystone-manage db_sync

5)認証サービスに接続するときに使用するランダムトークンを作成します。

  1. # openssl rand -hex 10 > /root/token #これは後で使用するので保存できます。

/etc/keystone/keyston.confを編集する

  1. [デフォルト]
  2. # Keystoneと他のOpenStackサービス間の「共有秘密鍵」
  3. admin_token =管理者トークン 
  4. ...

6)サービスを再起動する

  1. # サービスキーストーンの再起動

c) テナント、ユーザー、およびロールを作成します。

ユーザーを作成する前に、認証用のトークンを使用する必要があります。トークンは環境変数として設定するか、keystoneコマンドを使用する際に `--os-token` コマンドで指定することができます。

これは環境変数として設定されます:

  1. # エクスポートOS_SERVICE_TOKEN = ADMIN_TOKEN  
  2. #エクスポートOS_SERVICE_ENDPOINT = http://127.0.0.1:35357/v2.0

1) テナント管理者とサービスを作成する

  1. # keystone テナント作成--name = admin   --description = "管理者テナント"  

  1. # keystone テナント作成--name =サービス  --description = "サービステナント"  

#p#

2) ユーザー管理者を作成する

  1. #keystone ユーザー作成--name = admin   --pass =オープンスタック  --email =管理者@localhost

  1. # keystone ロール作成--name = admin  

3) 管理者のロールを作成する

4) ユーザー、テナント、ロールを関連付ける

  1. # keystone ユーザーロール追加--user = admin   --テナント=管理者  --role =管理者 

d) サービスとアクセス エンドポイントを作成します。

1) Identity (認証) タイプの Keystone サービスを作成します。

  1. # keystone サービス作成--name = keystone   --type =アイデンティティ  --description = "Keystone アイデンティティサービス"  

2) 上記で返されたサービス ID を使用して、サービス アクセス エンドポイントを作成します。

  1. # keystone エンドポイント作成 \
  2. --service-id =上記のサービスID \
  3. --publicurl = http ://127.0.0.1:5000/v2.0\
  4. --internalurl = http://127.0.0.1:5000/v2.0 \
  5. --adminurl = http://127.0.0.1:35357/v2.0

e) Keystoneサービスを確認する

管理者ユーザーが作成されたので、管理者ユーザーを使用して Keystone サービスにアクセスできるようになりました。

  1. $ OS_SERVICE_TOKEN と OS_SERVICE_ENDPOINT の設定を解除
  2. $ keystone --os-username = admin   --os-password =オープンスタック  --os-auth-url = http://127.0.0.1:35357/v2.0トークン取得

ユーザー名とパスワードを毎回入力しなくても済むように、環境変数として保存することができます。` /root/keystone.sh` を編集してください。

  1. エクスポートOS_USERNAME = admin  
  2. エクスポートOS_PASSWORD = openstack  
  3. エクスポートOS_TENANT_NAME = admin  
  4. エクスポートOS_AUTH_URL = http://127.0.0.1:35357/v2.0

このように、 `# source keystone.sh`コマンドを実行するだけでKeystoneに接続できます。

V.ミラーサービス— 概要

a)インストール

  1. # apt-get install glance python-glanceclient

b) 構成

1) データベース接続を設定する

設定ファイル /etc/glance/glance-api.conf と /etc/glance/glance-registry.conf を編集します。

  1. ...
  2. [デフォルト]
  3. ...
  4. # リファレンス実装のSQLAlchemy接続文字列
  5. # レジストリサーバー。有効なSQLAlchemy接続文字列であれば何でも構いません。
  6. # 参照: http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections。
  7. html#sqlalchemy.create_engine
  8. sql_connection = mysql ://glance:[email protected]/glance
  9. ...

2)データベースを作成する

  1. # mysql -u ルート -p
  2. mysql >データベースの作成 glance;
  3. mysql > glance.* のすべての権限を 'glance'@'localhost' に付与します \
  4. 「openstack」によって識別されます。
  5. mysql > glance.* のすべての権限を 'glance'@'%' に付与します \
  6. 「openstack」によって識別されます。

3)データテーブルを作成する

  1. # glance-manage db_sync

4) Glanceユーザーを作成し、ロールに関連付けます。

  1. # keystone ユーザー作成--name = glance   --pass =オープンスタック  --email = glance @localhost

  1. # keystone ユーザーロール追加--user = glance   --tenant =サービス  --role =管理者 

5)認証にKeystoneを使用するようにGlanceサービスを設定します

/etc/glance/glance-api.conf と /etc/glance/glance-registry.conf を編集します。

  1. [keystone_authtoken]
  2. ...
  3. auth_uri = http://127.0.0.1:5000
  4. 認証ホスト= 127.0.0.1
  5. 認証ポート= 35357  
  6. 認証プロトコル= http  
  7. admin_tenant_name =サービス 
  8. admin_user =一目見る 
  9. admin_password =オープンスタック 
  10. ...
  11. [貼り付け展開]
  12. ...
  13. フレーバー=キーストーン 

6) /etc/glance/glance-api-paste.iniおよび/etc/glance/glance-registry-paste.iniファイルに認証情報を追加します

  1. [フィルター:認証トークン]
  2. paste.filter_factory = keystoneclient.middleware.auth_token :filter_factory
  3. 認証ホスト= 127.0.0.1
  4. admin_user =一目見る 
  5. admin_tenant_name =サービス 
  6. admin_password =オープンスタック 

7)ミラーサービスを登録する

  1. # keystone サービス作成--name = glance   --type =画像  --description = "Glance イメージ サービス"  

8) 上記で返されたサービス ID を使用してアクセス ポイントを作成します。

  1. # keystone エンドポイント作成 \
  2. --service-id =上記のサービスID \
  3. --publicurl = http ://127.0.0.1:9292\
  4. --internalurl = http ://127.0.0.1:9292\
  5. --adminurl = http://127.0.0.1:9292

#p#

9) 画像サービスを再起動する

  1. # サービス glance-registry を再起動します

  2. # サービス glance-api を再起動します

c)画像ファイルを作成する

CirrOS イメージは、一般的に使用されている qcow2 タイプのイメージです。イメージをダウンロードし、Glance サーバーにアップロードしてください。

  1. mkdir 画像
  2. $ cd イメージ/
  3. $ wget http://cdn.download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img
  4. # glance イメージ作成--name = "CirrOS 0.3.1"   --ディスクフォーマット= qcow2   --container-format =ベア  --is-public = true   <   cirros-0.3.1-x86_64-disk.img  

アップロードされたミラーは以下を使用して表示できます...

  1. # 一目でわかる画像リスト

VI.コンピューティングサービス

a)コンピューティングサービスソフトウェアパッケージをインストールする

  1. # apt-get install nova-novncproxy novnc nova-api nova-ajax-console-proxy nova-cert nova-conductor nova-consoleauth nova-doc nova-scheduler python-novaclient
  2. # apt-get install nova-compute-kvm python-guestfs

カーネルのバグを修正

  1. # dpkg-statoverride --update --add root root 0644 /boot/vmlinuz-$(uname -r)
  1. # vim /etc/kernel/postinst.d/statoverride
  1. #!/bin/sh

  2. バージョン= "$1"  

  3. # カーネルバージョンを渡す必要があります

  4. [ -z "${version}" ] && 終了 0

  5. dpkg-statoverride --update --add root ルート 0644 /boot/vmlinuz-${version}

  1. # chmod +x /etc/kernel/postinst.d/statoverride

b) 構成

1) データベースを構成する

設定ファイル /etc/nova/nova.conf を編集します。

  1. ...
  2. [データベース]
  3. # データベースに接続するために使用するSQLAlchemy接続文字列
  4. 接続= mysql ://nova:[email protected]/nova
  5. [keystone_authtoken]
  6. 認証ホスト= 127.0.0.1
  7. 認証ポート= 35357  
  8. 認証プロトコル= http  
  9. admin_tenant_name =サービス 
  10. 管理者ユーザー= nova  
  11. admin_password =オープンスタック 

2) 情報を送信するために RabbitMQ メッセージ キューを使用するようにコンピューティング サービスを構成します。

設定ファイル /etc/nova/nova.conf を編集します。

  1. ...
  2. [デフォルト]
  3. rpc_backend = nova .rpc.impl_kombu
  4. ラビットホスト= 127.0.0.1
  5. rabbit_password = openstack # RabbitMQ が変更されていない場合は、デフォルトのゲストパスワードが使用されます。
  6. ...

3)データベースを作成する

  1. # mysql -u ルート -p
  2. mysql >データベース nova を作成します。
  3. mysql > 'openstack' によって識別される 'nova'@'localhost' に nova.* のすべての権限を付与します。
  4. mysql > 'openstack' によって識別される 'nova'@'%' に nova.* のすべての権限を付与します。

4)データテーブルを作成する

  1. # nova-manage db 同期

5) リモートアクセス制御サポートを有効にする

設定ファイル /etc/nova/nova.conf を編集します。

  1. ...
  2. [デフォルト]
  3. ...
  4. 私のIPアドレス= 127.0.0.1
  5. vnc_enabled = True  
  6. vncserver_listen = 127.0.0.1
  7. vncserver_proxyclient_address = 127.0.0.1
  8. novncproxy_base_url = http://127.0.0.1:6080/vnc_auto.html

6) novaユーザーを作成する

  1. # keystone ユーザー作成--name = nova   --pass =オープンスタック  --email = nova @localhost

  1. # keystone ユーザーロール追加--user = nova   --tenant =サービス  --role =管理者 

7) Keystone認証を使用するようにNovaを設定し Glanceサービスを設定します。

設定ファイル /etc/nova/nova.conf を編集します。

  1. [デフォルト]
  2. ...
  3. auth_strategy =キーストーン 
  4. glance_host = 127.0.0.1

8) /etc/nova/api-paste.iniファイルに認証情報を追加する

  1. [フィルター:認証トークン]
  2. paste.filter_factory = keystoneclient.middleware.auth_token :filter_factory
  3. 認証ホスト= 127.0.0.1
  4. 認証ポート= 35357  
  5. 認証プロトコル= http  
  6. auth_uri = http://127.0.0.1:5000/v2.0
  7. admin_tenant_name =サービス 
  8. 管理者ユーザー= nova  
  9. admin_password =オープンスタック 

9)コンピューティングサービスとアクセスポイントを作成する

  1. キーストーンサービス作成--name = nova   --type =計算  --description = "Nova Compute サービス"  

  1. # keystone エンドポイント作成--service-id =上記のサービス ID \
  2. --publicurl = http://127.0.0.1:8774/v2/%\(tenant_id\)s \
  3. --internalurl = http://127.0.0.1:8774/v2/ %\(テナントID\) s\
  4. --adminurl = http://127.0.0.1:8774/v2/ %\(テナントID\)s

10)コンピューティングサービスを再起動する

  1. # サービス nova-api を再起動します
  2. # サービス nova-cert を再起動します
  3. # サービス nova-consoleauth を再起動します
  4. # サービス nova-scheduler を再起動します
  5. # サービス nova-conductor を再起動します
  6. # サービス nova-novncproxy を再起動します
  7. # サービス nova-compute を再起動します

#p#

11)ネットワークを構成する

  1. # apt-get install nova-network nova-api-metadata

設定ファイル/etc/nova/nova.confを編集します。

  1. [デフォルト]
  2. ...
  3. network_manager = nova .network.manager.FlatDHCPManager
  4. ファイアウォールドライバ= nova .virt.libvirt.firewall.IptablesFirewallDriver
  5. ネットワークサイズ= 254  
  6. allow_same_net_traffic = False  
  7. マルチホスト= True  
  8. send_arp_for_ha = 
  9. share_dhcp_address = True  
  10. force_dhcp_release = 
  11. フラットネットワークブリッジ= br100  
  12. フラットインターフェース= eth1  
  13. パブリックインターフェース= eth1  

サービスを再起動する

  1. # nova-network サービスの再起動

注意: ネットワーク サービスをインストールした後、nova-api ソフトウェアを再インストールする必要があります。そうしないと、nova-api サービスは起動に失敗します。

  1. # apt-get で nova-api をインストールします

仮想マシン インスタンスに割り当てる仮想ネットワークを作成します。

  1. # nova network-create vmnet --fixed-range-v4 = 10 .0.0.0/24 --bridge = br100   --マルチホスト= T  

VII.インスタンスのロード

a)認証サービスを構成する

  1. $ ssh-keygen
  2. cd .ssh
  3. $ nova keypair-add --pub_key id_rsa.pub mykey

b) SSHpingサービスを追加する

  1. #nova s​​ecgroup-add-rule デフォルト tcp 22 22 0.0.0.0/0
  1. #nova s​​ecgroup-add-rule デフォルト icmp -1 -1 0.0.0.0/0

c)鏡を見る

  1. $ nova イメージリスト

d)フレーバーリストを見る

  1. ノヴァのフレーバーリスト

e)仮想マシンインスタンスを作成する

  1. $ nova boot --flavor 1 --key_name mykey --image IMAGE_ID --security_group default cirrOS

f) 例を見る

  1. $ ノヴァリスト

g)インスタンスに接続する

  1. $ ssh [email protected]

h) VNC接続

コマンドラインで「# nova get-vnc --console cirrOS novnc」コマンドを実行してください。NovaはVNC接続アドレスを返します。このアドレスをブラウザのアドレスバーにコピーして、VNC経由で仮想マシンにアクセスしてください。


8.ダッシュボードをインストールする

まず、apache-httpd サーバーをインストールします。

  1. # apt-get で apache2 をインストール

次にダッシュボードをインストールします

  1. # apt-get で memcached と libapache2-mod-wsgi をインストールし、openstack-dashboard をインストールします。

ダッシュボードをインストールしたら、デフォルト構成を使用してアクセスできます。


注: KVMはネストされた仮想化をサポートしていません。OpenStackはKVMをデフォルトのハイパーバイザーとして使用します。設定ファイル `/etc/nova/nova-compute` を変更する必要があります。

  1. compute_driver = libvirt .LibvirtDriver
  2. libvirt_type = kvm  
  3. KVMをQEMUに変更する

オリジナルリンク: http://my.oschina.net/JerryBaby/blog/301407