|
システム環境: ubuntu-server-14.04 ネットワーク環境: VMware NAT eth0 192.168.149.130 パスワードの設定: 管理を容易にするために、すべてのサービス パスワードはopenstack として設定されています。
I.データベース a)インストール - # apt-get install python-mysqldb mysql-server
b)構成 /etc/mysql/my.cnfを変更する - [mysqld]
- …
- bind-address = 127.0.0.1 # すべての IP アドレスはローカル マシンを使用します。
- default-storage-engine = innodb # デフォルトのストレージエンジンを Innodb に設定します
- innodb_file_per_table
- collation-server = utf8_general_ci # エンコード形式を設定する
- init-connect = 'SET NAMES utf8'
- 文字セットサーバー= utf8
c) MySQLサービスを再起動し、データベースをセーフモードで初期化し、匿名ユーザーを削除します。 - # サービスmysqlを再起動
- # mysql_secure_installation または # mysql_install_db
II.パッケージ構成 a) OpenStack Havana Ubuntuクラウドアーカイブをインストールする - # apt-get install python-software-properties
- # aptリポジトリを追加 クラウドアーカイブ:Havana
b)ソフトウェア パッケージ データベースを更新し、システムを更新します。 - # apt-get update && apt-get dist-upgrade
- # 再起動
III.メッセージングサービス メッセージング サービスはRabbitMQ を使用します。 - # apt-get でrabbitmq-serverをインストール
注: RabbitMQ はデフォルトのゲストユーザーとデフォルトのゲストパスワードを提供します。後でNovaサービスを設定する際にRabbitMQのパスワードが必要になるため、ここでゲストユーザーのパスワードを変更する必要があります。 - # rabbitmqctl change_password ゲスト openstack
IV. Keystone認証サービス a)インストール - # apt-get でキーストーンをインストール
b)構成 1) 設定ファイル /etc/keystone/keystone.conf を編集してデータベース接続方法を変更します。 - ...
- [SQL]
- # データベースに接続するために使用するSQLAlchemy接続文字列
- 接続= mysql ://keystone:[email protected]/keystone
- ...
2) デフォルトのデータベースを削除します。 - rm <スパン スタイル= "行の高さ: 1.5; フォントサイズ: 9pt;" > –f /var/lib/keystone/keystone.db </ span >
3) データベースを作成する - # mysql -u ルート -p
- mysql >データベース keystone を作成します。
- mysql > keystone.* のすべての権限を 'keystone'@'localhost' に付与します \
- 「openstack」によって識別されます。
- mysql > keystone.* のすべての権限を 'keystone'@'%' に付与します \
- 「openstack」によって識別されます。
4)データテーブルを作成する - # keystone-manage db_sync
5)認証サービスに接続するときに使用するランダムトークンを作成します。 - # openssl rand -hex 10 > /root/token #これは後で使用するので保存できます。
/etc/keystone/keyston.confを編集する - [デフォルト]
- # Keystoneと他のOpenStackサービス間の「共有秘密鍵」
- admin_token =管理者トークン
- ...
6)サービスを再起動する - # サービスキーストーンの再起動
c) テナント、ユーザー、およびロールを作成します。 ユーザーを作成する前に、認証用のトークンを使用する必要があります。トークンは環境変数として設定するか、keystoneコマンドを使用する際に `--os-token` コマンドで指定することができます。 これは環境変数として設定されます: - # エクスポートOS_SERVICE_TOKEN = ADMIN_TOKEN
- #エクスポートOS_SERVICE_ENDPOINT = http://127.0.0.1:35357/v2.0
1) テナント管理者とサービスを作成する - # keystone テナント作成--name = admin --description = "管理者テナント"
- # keystone テナント作成--name =サービス --description = "サービステナント"
#p# 2) ユーザー管理者を作成する - #keystone ユーザー作成--name = admin --pass =オープンスタック --email =管理者@localhost
- # keystone ロール作成--name = admin
3) 管理者のロールを作成する 4) ユーザー、テナント、ロールを関連付ける - # keystone ユーザーロール追加--user = admin --テナント=管理者 --role =管理者
d) サービスとアクセス エンドポイントを作成します。 1) Identity (認証) タイプの Keystone サービスを作成します。 - # keystone サービス作成--name = keystone --type =アイデンティティ --description = "Keystone アイデンティティサービス"
2) 上記で返されたサービス ID を使用して、サービス アクセス エンドポイントを作成します。 - # keystone エンドポイント作成 \
- --service-id =上記のサービスID \
- --publicurl = http ://127.0.0.1:5000/v2.0\
- --internalurl = http://127.0.0.1:5000/v2.0 \
- --adminurl = http://127.0.0.1:35357/v2.0
e) Keystoneサービスを確認する 管理者ユーザーが作成されたので、管理者ユーザーを使用して Keystone サービスにアクセスできるようになりました。 - $ OS_SERVICE_TOKEN と OS_SERVICE_ENDPOINT の設定を解除
- $ keystone --os-username = admin --os-password =オープンスタック --os-auth-url = http://127.0.0.1:35357/v2.0トークン取得
ユーザー名とパスワードを毎回入力しなくても済むように、環境変数として保存することができます。` /root/keystone.sh` を編集してください。 - エクスポートOS_USERNAME = admin
- エクスポートOS_PASSWORD = openstack
- エクスポートOS_TENANT_NAME = admin
- エクスポートOS_AUTH_URL = http://127.0.0.1:35357/v2.0
このように、 `# source keystone.sh`コマンドを実行するだけでKeystoneに接続できます。 V.ミラーサービス— 概要 a)インストール - # apt-get install glance python-glanceclient
b) 構成 1) データベース接続を設定する 設定ファイル /etc/glance/glance-api.conf と /etc/glance/glance-registry.conf を編集します。 - ...
- [デフォルト]
- ...
- # リファレンス実装のSQLAlchemy接続文字列
- # レジストリサーバー。有効なSQLAlchemy接続文字列であれば何でも構いません。
- # 参照: http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections。
- html#sqlalchemy.create_engine
- sql_connection = mysql ://glance:[email protected]/glance
- ...
2)データベースを作成する - # mysql -u ルート -p
- mysql >データベースの作成 glance;
- mysql > glance.* のすべての権限を 'glance'@'localhost' に付与します \
- 「openstack」によって識別されます。
- mysql > glance.* のすべての権限を 'glance'@'%' に付与します \
- 「openstack」によって識別されます。
3)データテーブルを作成する - # glance-manage db_sync
4) Glanceユーザーを作成し、ロールに関連付けます。 - # keystone ユーザー作成--name = glance --pass =オープンスタック --email = glance @localhost
- # keystone ユーザーロール追加--user = glance --tenant =サービス --role =管理者
5)認証にKeystoneを使用するようにGlanceサービスを設定します。 /etc/glance/glance-api.conf と /etc/glance/glance-registry.conf を編集します。 - [keystone_authtoken]
- ...
- auth_uri = http://127.0.0.1:5000
- 認証ホスト= 127.0.0.1
- 認証ポート= 35357
- 認証プロトコル= http
- admin_tenant_name =サービス
- admin_user =一目見る
- admin_password =オープンスタック
- ...
- [貼り付け展開]
- ...
- フレーバー=キーストーン
6) /etc/glance/glance-api-paste.iniおよび/etc/glance/glance-registry-paste.iniファイルに認証情報を追加します。 - [フィルター:認証トークン]
- paste.filter_factory = keystoneclient.middleware.auth_token :filter_factory
- 認証ホスト= 127.0.0.1
- admin_user =一目見る
- admin_tenant_name =サービス
- admin_password =オープンスタック
7)ミラーサービスを登録する - # keystone サービス作成--name = glance --type =画像 --description = "Glance イメージ サービス"
8) 上記で返されたサービス ID を使用してアクセス ポイントを作成します。 - # keystone エンドポイント作成 \
- --service-id =上記のサービスID \
- --publicurl = http ://127.0.0.1:9292\
- --internalurl = http ://127.0.0.1:9292\
- --adminurl = http://127.0.0.1:9292
#p# 9) 画像サービスを再起動する # サービス glance-registry を再起動します # サービス glance-api を再起動します
c)画像ファイルを作成する CirrOS イメージは、一般的に使用されている qcow2 タイプのイメージです。イメージをダウンロードし、Glance サーバーにアップロードしてください。 - mkdir 画像
- $ cd イメージ/
- $ wget http://cdn.download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img
- # glance イメージ作成--name = "CirrOS 0.3.1" --ディスクフォーマット= qcow2 --container-format =ベア --is-public = true < cirros-0.3.1-x86_64-disk.img
アップロードされたミラーは以下を使用して表示できます... - # 一目でわかる画像リスト
VI.コンピューティングサービス a)コンピューティングサービスソフトウェアパッケージをインストールする - # apt-get install nova-novncproxy novnc nova-api nova-ajax-console-proxy nova-cert nova-conductor nova-consoleauth nova-doc nova-scheduler python-novaclient
- # apt-get install nova-compute-kvm python-guestfs
カーネルのバグを修正 - # dpkg-statoverride --update --add root root 0644 /boot/vmlinuz-$(uname -r)
- # vim /etc/kernel/postinst.d/statoverride
#!/bin/sh バージョン= "$1" # カーネルバージョンを渡す必要があります [ -z "${version}" ] && 終了 0 dpkg-statoverride --update --add root ルート 0644 /boot/vmlinuz-${version}
# chmod +x /etc/kernel/postinst.d/statoverride
b) 構成1) データベースを構成する 設定ファイル /etc/nova/nova.conf を編集します。 - ...
- [データベース]
- # データベースに接続するために使用するSQLAlchemy接続文字列
- 接続= mysql ://nova:[email protected]/nova
- [keystone_authtoken]
- 認証ホスト= 127.0.0.1
- 認証ポート= 35357
- 認証プロトコル= http
- admin_tenant_name =サービス
- 管理者ユーザー= nova
- admin_password =オープンスタック
2) 情報を送信するために RabbitMQ メッセージ キューを使用するようにコンピューティング サービスを構成します。 設定ファイル /etc/nova/nova.conf を編集します。 - ...
- [デフォルト]
- rpc_backend = nova .rpc.impl_kombu
- ラビットホスト= 127.0.0.1
- rabbit_password = openstack # RabbitMQ が変更されていない場合は、デフォルトのゲストパスワードが使用されます。
- ...
3)データベースを作成する - # mysql -u ルート -p
- mysql >データベース nova を作成します。
- mysql > 'openstack' によって識別される 'nova'@'localhost' に nova.* のすべての権限を付与します。
- mysql > 'openstack' によって識別される 'nova'@'%' に nova.* のすべての権限を付与します。
4)データテーブルを作成する - # nova-manage db 同期
5) リモートアクセス制御サポートを有効にする 設定ファイル /etc/nova/nova.conf を編集します。 - ...
- [デフォルト]
- ...
- 私のIPアドレス= 127.0.0.1
- vnc_enabled = True
- vncserver_listen = 127.0.0.1
- vncserver_proxyclient_address = 127.0.0.1
- novncproxy_base_url = http://127.0.0.1:6080/vnc_auto.html
6) novaユーザーを作成する - # keystone ユーザー作成--name = nova --pass =オープンスタック --email = nova @localhost
- # keystone ユーザーロール追加--user = nova --tenant =サービス --role =管理者
7) Keystone認証を使用するようにNovaを設定し、 Glanceサービスを設定します。 設定ファイル /etc/nova/nova.conf を編集します。 - [デフォルト]
- ...
- auth_strategy =キーストーン
- glance_host = 127.0.0.1
8) /etc/nova/api-paste.iniファイルに認証情報を追加する - [フィルター:認証トークン]
- paste.filter_factory = keystoneclient.middleware.auth_token :filter_factory
- 認証ホスト= 127.0.0.1
- 認証ポート= 35357
- 認証プロトコル= http
- auth_uri = http://127.0.0.1:5000/v2.0
- admin_tenant_name =サービス
- 管理者ユーザー= nova
- admin_password =オープンスタック
9)コンピューティングサービスとアクセスポイントを作成する - キーストーンサービス作成--name = nova --type =計算 --description = "Nova Compute サービス"
- # keystone エンドポイント作成--service-id =上記のサービス ID \
- --publicurl = http://127.0.0.1:8774/v2/%\(tenant_id\)s \
- --internalurl = http://127.0.0.1:8774/v2/ %\(テナントID\) s\
- --adminurl = http://127.0.0.1:8774/v2/ %\(テナントID\)s
10)コンピューティングサービスを再起動する - # サービス nova-api を再起動します
- # サービス nova-cert を再起動します
- # サービス nova-consoleauth を再起動します
- # サービス nova-scheduler を再起動します
- # サービス nova-conductor を再起動します
- # サービス nova-novncproxy を再起動します
- # サービス nova-compute を再起動します
#p# 11)ネットワークを構成する - # apt-get install nova-network nova-api-metadata
設定ファイル/etc/nova/nova.confを編集します。 - [デフォルト]
- ...
- network_manager = nova .network.manager.FlatDHCPManager
- ファイアウォールドライバ= nova .virt.libvirt.firewall.IptablesFirewallDriver
- ネットワークサイズ= 254
- allow_same_net_traffic = False
- マルチホスト= True
- send_arp_for_ha =真
- share_dhcp_address = True
- force_dhcp_release =真
- フラットネットワークブリッジ= br100
- フラットインターフェース= eth1
- パブリックインターフェース= eth1
サービスを再起動する - # nova-network サービスの再起動
注意: ネットワーク サービスをインストールした後、nova-api ソフトウェアを再インストールする必要があります。そうしないと、nova-api サービスは起動に失敗します。 - # apt-get で nova-api をインストールします
仮想マシン インスタンスに割り当てる仮想ネットワークを作成します。 - # nova network-create vmnet --fixed-range-v4 = 10 .0.0.0/24 --bridge = br100 --マルチホスト= T
VII.インスタンスのロード a)認証サービスを構成する - $ ssh-keygen
- cd .ssh
- $ nova keypair-add --pub_key id_rsa.pub mykey
b) SSHとpingサービスを追加する - #nova secgroup-add-rule デフォルト tcp 22 22 0.0.0.0/0
- #nova secgroup-add-rule デフォルト icmp -1 -1 0.0.0.0/0
c)鏡を見る - $ nova イメージリスト
d)フレーバーリストを見る - ノヴァのフレーバーリスト
e)仮想マシンインスタンスを作成する - $ nova boot --flavor 1 --key_name mykey --image IMAGE_ID --security_group default cirrOS
f) 例を見る - $ ノヴァリスト
g)インスタンスに接続する - $ ssh [email protected]
h) VNC接続 コマンドラインで「# nova get-vnc --console cirrOS novnc」コマンドを実行してください。NovaはVNC接続アドレスを返します。このアドレスをブラウザのアドレスバーにコピーして、VNC経由で仮想マシンにアクセスしてください。
8.ダッシュボードをインストールする まず、apache-httpd サーバーをインストールします。 - # apt-get で apache2 をインストール
次にダッシュボードをインストールします - # apt-get で memcached と libapache2-mod-wsgi をインストールし、openstack-dashboard をインストールします。
ダッシュボードをインストールしたら、デフォルト構成を使用してアクセスできます。
注: KVMはネストされた仮想化をサポートしていません。OpenStackはKVMをデフォルトのハイパーバイザーとして使用します。設定ファイル `/etc/nova/nova-compute` を変更する必要があります。 - compute_driver = libvirt .LibvirtDriver
- libvirt_type = kvm
- KVMをQEMUに変更する
オリジナルリンク: http://my.oschina.net/JerryBaby/blog/301407 |