Centos 7 OpenNebulaのインストール
8431 ワード
一.インストール前の準備
1.構成
システム:Centos 7 OpenNebulaバージョン:5.2.1公式文書アドレス
2.対応ホスト名の変更
Front-endホスト名の変更
front-endつまりOpenNebulaの制御ノードなのでmasterと名付けます.現在のホスト名は、次のコマンドで表示できます.
# hostnamectl
hostnamectl
ツールで対応するホスト名を変更し、ユーザーが操作しやすいときに現在の操作が制御ノードであることを明確にします.現在のホストの名前をmasterに変更するコマンドは次のとおりです. # hostnamectl --static set-hostname master
Nodeノードホスト名の変更
Nodeノードは、VMを実際に配備するホストです.現在のホスト名をnodeX(Xはいくつかのnodeノード)に変更するコマンドは、次のとおりです.
# hostnamectl --static set-hostname nodeX
3.構成/etc/hostsファイル
Linuxの/etc/hostsは、ipアドレスとその対応するホスト名を構成するマッピングファイルです.この構成により、ipの代わりにホスト名を使用することが容易になります.マスターノードでは、/etc/hostファイル
vi /etc/hosts
を編集し、他のnodeノードの構成を追加します.対応するファイルの内容の例は次のとおりです.現在2つのノードがあります.127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.131.251.101 master
10.131.251.136 node1
10.131.251.36 node2
その後、master側のhostsファイルをすべてのnodeノードに配布します.
# scp /etc/hosts root@:/etc/hosts
# scp /etc/hosts root@:/etc/hosts
二.OpenNebula Front-endインストール
Front-endノードインストール参考OpenNebula 5.2 Front-endインストールガイド
1.Centosシステム上でのSElinux機能の禁止
SElinuxはOpenNebulaのインストールに多くの問題をもたらす可能性があるので、構成によって禁止します.プロファイル
/etc/selinux/config
のSELINUX=XXX
に対応する行をSELINUX=disabled
に変更します.最後に機械を再起動する.2.OpenNebula repositoryの追加
rootアカウントを使用してログインし、yumツールにOpenNebula repositoryを追加します.具体的なコマンドは以下の通りです.
# cat << EOT > /etc/yum.repos.d/opennebula.repo
[opennebula]
name=opennebula
baseurl=http://downloads.opennebula.org/repo/5.2/CentOS/7/x86_64
enabled=1
gpgcheck=0
EOT
注意:インストール時に5.2バージョンであることを確認します.5.0または他のバージョンでは正常にインストールできない場合があります.
3.ソフトウェアのインストール
インストールを開始する前に、
EPEL
ライブラリを起動し、Centosで次のコードを実行する必要があります.# yum install epel-release
次に、以前に設定したOpenNebula repositoryから、対応するOpenNebulaをインストールするために必要なFront-end関連パッケージをダウンロードします.Centosで
root
アカウントを使用して、次のコマンドを実行します.# yum install opennebula-server opennebula-sunstone opennebula-ruby opennebula-gate opennebula-flow
4.Ruby Runtimeのインストール
いくつかのOpenNebulaコンポーネントはRuby関連ライブラリを使用する必要があります.OpenNebulaは、対応するRubyライブラリやその他の必要な開発ライブラリをインストールするためのスクリプトを提供します.rootアカウントを使用して、次のコマンドを実行します.
# /usr/share/one/install_gems
5.OpenNebulaの起動
root
口座でoneadmin
口座に切り替えて登録する.# su oneadmin
/var/lib/one/.one/one_auth
ファイルには、ランダムに生成されたoneadmin
アカウントのパスワードが格納されている.OpenNebulaを起動する前にoneadmin
のパスワードを変更します.mypassword
はパスワードを設定するコマンドです.echo "oneadmin:mypassword" > ~/.one/one_auth
このネーミングはoneadminの最初のbootのときに適切なパスワードを設定することができ、最初のbootでなければ、または設定に失敗した場合は、コマンド
oneuser passwd oneadmin mypasswd
を使用して再設定することができます.vi
ツールで/var/lib/one/.one/one_auth
または~/.one/one_auth
のファイルを確認して、パスワードの変更に成功したかどうかを確認します.次に、
systemctl
ツールを使用して、対応するopenebulaおよびopenebula-sunstoneサービスを開始します.# systemctl start opennebula
# systemctl start opennebula-sunstone
6.インストールの検証
OpenNebulaが起動すると、Linux CLIコマンドまたはユーザーインタフェース:Sunstoneをグラフィカルにして、正常に起動したかどうかを確認できます.
Linux CLI検証
Front-endでは、
oneadmin
ユーザーを使用して次のコマンドを実行します.# oneuser show
USER 0 INFORMATION
ID : 0
NAME : oneadmin
GROUP : oneadmin
PASSWORD : 3bc15c8aae3e4124dd409035f32ea2fd6835efc9
AUTH_DRIVER : core
ENABLED : Yes
USER TEMPLATE
TOKEN_PASSWORD="ec21d27e2fe4f9ed08a396cbd47b08b8e0a4ca3c"
RESOURCE USAGE & QUOTAS
このコマンドを実行するときにエラーを返す方法は、OpenNebula daemonが正常に起動しなかった可能性があります.
# oneuser show
Failed to open TCP connection to localhost:2633 (Connection refused - connect(2) for "localhost" port 2633)
正常に起動しなかった場合は、
/var/log/one
フォルダのlogファイルを表示してエラーの元を確認できます.このうちone.log
はエラー情報ファイルであり、sched.log
はスケジューリングlogファイルである.Sunstone検証
ブラウザで
http://:9869
に接続しようとすると、ユーザー名はoneadmin
と呼ばれ、パスワードは私たちが以前/var/lib/one/.one/one_auth
ファイルで設定したパスワードです.起動に成功しなかった場合は、/var/log/one/sunstone.log
ファイルを表示してエラーの元を特定できます.ブラウザが9869ポートに接続しようとすると、ファイアウォールを閉じる必要があります(システムrebootまたはネットワークが再起動するたびに、ファイアウォールが閉じていないかどうかを確認する必要があります.そうしないと、接続に成功しません).ファイアウォールステータスの表示コマンド:
systemctl status firewalld.service
ファイアウォールを閉じるコマンド:systemctl stop firewalld.service
またはより徹底的にファイアウォールの起動を阻止するコマンド:systemctl disable firewalld.service
三.OpenNebulaノードのインストール
NodeノードのインストールはOpenNebula 5.2 Nodeインストールガイドの公式ドキュメントを参照
1.OpenNebula repositoryの追加
rootアカウントを使用してログインし、yumツールにOpenNebula repositoryを追加します.具体的なコマンドは以下の通りです.
# cat << EOT > /etc/yum.repos.d/opennebula.repo
[opennebula]
name=opennebula
baseurl=http://downloads.opennebula.org/repo/5.2/CentOS/7/x86_64
enabled=1
gpgcheck=0
EOT
2.ソフトウェアのインストール
次のコマンドラインを実行してnodeノード関連パッケージをインストールし、
libvirt
を再起動します.# sudo yum install opennebula-node-kvm
# sudo systemctl restart libvirtd
3.CentOSシステム上でのSElinux機能の禁止
SElinuxはOpenNebulaのインストールに多くの問題をもたらす可能性があるので、構成によって禁止します.プロファイル
/etc/selinux/config
のSELINUX=XXX
に対応する行をSELINUX=disabled
に変更します.最後に機械を再起動する.4.ネットワーク構成
ここでは比較的簡単なブリッジ方法を用いてネットワークを構成する.
root
ユーザは、/etc/sysconfig/network-scripts/
フォルダの下に入り、修正が必要なネットワークインタフェースプロファイルをcp ifcfg-enp2s0 /root/
(enp 2 s 0ネットワークインタフェースを例に)バックアップする.次にブリッジを構成します.プロファイルは主に2つあります.1つはifcfg-enp2s0
で、もう1つはifcfg-br0
です.次の例を参照して、ファイルを変更できます.本ネットワーク構成は静的ipの構成を採用しています.# ifcfg-enp2s0
TYPE=Ethernet
NAME=enp2s0
DEVICE=enp6s0
ONBOOT=yes
BRIDGE=br0
NM_CONTROLLED=no
# ifcfg-br0
TYPE=Bridge
BOOTPROTO=static
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=10.131.251.36
NETMASK=255.255.254.0
GATEWAY=10.131.250.1
DNS1=202.120.224.6
NM_CONTROLLED=no
構成が完了したら、ネットワークを再起動します.
systemctl restart network.service
.brctl show
コマンドでブリッジの構成を確認します.ここでvirbr 0はlibvirtをインストールして自動的に構成され、br 0は私たち自身で構成されています.# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.20cf3001fc3e no enp6s0
virbr0 8000.52540084b8d6 yes virbr0-nic
注意:ブリッジの具体的な名前は任意に(br 0,br 1..など)使用できますが、すべてのノードのブリッジ名は同じである必要があります.
5.nodeノードをmaster側に追加
この作業はsunstoneで構成してもよいし,CLIで構成してもよい.CLIを使用して構成する方法を以下に示す.Nodeノードをクラウドプラットフォームに追加するには、masterマシン上で
oneadmin
ユーザーを使用して次のコマンドを実行します.このうち
は、私たちのnodeノードのipアドレスであってもよいし、対応するホスト名であってもよい(第1節の第3ステップで構成されている)、ホスト名の使用を推奨します.onehost create -i kvm -v kvm
onehost list
ID NAME CLUSTER RVM ALLOCATED_CPU ALLOCATED_MEM STAT
1 localhost default 0 - - init
# After some time (20s - 1m)
onehost list
ID NAME CLUSTER RVM ALLOCATED_CPU ALLOCATED_MEM STAT
0 node01 default 0 0 / 400 (0%) 0K / 7.7G (0%) on
四.インストール結果の確認
具体的な検証プロセスはOpenNebula 5.2 Verify your Installationを参照してください.主に次の点が必要です.
systemctl stop firewalld.service
note:マシンのSSH Public Key生成方法:
ssh-keygen
具体的な使用方法はリンクを参照、id_rsa.pubは公開鍵ファイルnote:リモートsshでVMにログインし、コマンドに対応する秘密鍵ssh -i id_rsa root@
を指定する必要があるDATA:2017年06月12日12時42分17秒