オープンソースソフトウェアのクラウド管理

最近、クラウドシステムを構築するためのソリューションは非常にファッショナブルになり、クラウドは誰もが構築します。 エンドユーザーにとってはすべてが透過的です。「ここにエントリポイント、ここにリソースがあります-それを使用してください!」そして、それが内部にどのように配置されているかを考える人はほとんどいません。 はい、彼らは本質的に知る必要はありません。 ただし、このようなシステムの構成に忙しい人は非常に興味がありますが、これは他の人にとってどのように機能しますか? そして最も重要なこと-何で?





現時点では、クラウドインフラストラクチャを作成および管理するのに十分なソフトウェアがあります。 これらはVMware、Citrix、Red Hatなどの製品です。同じ行には、 OpenNebulaと呼ばれる非常に興味深いソフトウェアがあります。 コンソールとグラフィカルインターフェイスを備えたシステム管理ツール、およびリソースを管理できるエンドユーザーツールが含まれています。 ビデオの仕事の例を見ることができます。



さて、独自のクラウド管理システムを展開してみましょう。 この資料では、仮想化ホストへの接続の問題については説明しません。インストールと機能の概要のみを説明します。



事前設定



そのため、まず最初に、Ubuntu 11.10 64ビットサーバーをインストールします(ベアメタルにインストールするか、仮想マシンとしてインストールできます)。 Ubuntuは簡単であり、可能な限り説明されているため、Ubuntuのインストールは検討していません。 次に、サーバーの事前構成を開始します。



oneadminユーザーとクラウドグループを作成します。



mkdir -p /srv/cloud/

groupadd -g 10000 cloud

/srv/cloud/one as home folder.

useradd -u 10000 -m oneadmin -d /srv/cloud/one -s /bin/bash -g cloud

passwd oneadmin

chown -R oneadmin:cloud /srv/cloud/








oneadminでのログインが可能かどうかを確認します。



su -l oneadmin

exit








mysqlを配置してデータベースを作成します。



apt-get install mysql-server mysql-admin



# mysql -u root -p

mysql> CREATE USER 'oneadmin'@'localhost' IDENTIFIED BY 'oneadmin';

mysql> CREATE DATABASE opennebula;

mysql> GRANT ALL PRIVILEGES ON opennebula.* TO 'oneadmin' IDENTIFIED BY 'oneadmin';

mysql> quit;












インストールと構成



必要なパッケージを配置します。



apt-get install g++ libxmlrpc-c3-dev scons libsqlite3-dev libmysqlclient-dev libxml2-dev libssl-dev ruby libxmlrpc-c3-0 libxmlrpc-core-c3-dev gems







oneadminの下に移動します。 OpenNebula 3.4.0配布パッケージをダウンロードし、解凍してディレクトリに移動します。



su -l oneadmin

wget dev.opennebula.org/packages/opennebula-3.4.0/opennebula-3.4.0.tar.gz

tar xzf opennebula-3.4.0.tar.gz

cd opennebula-3.4.0/








パッケージアセンブリパラメータを設定します。



scons sqlite=no mysql=yes

exit








OpenNebulaをルートとしてインストールします。



./install.sh -u oneadmin -g cloud -d /srv/cloud/one







再びoneadminの下に行きます:



su -l oneadmin







そして、環境変数を作成します。



nano ~/.bash_profile

export ONE_LOCATION=/srv/cloud/one

export ONE_AUTH=$ONE_LOCATION/.one/one_auth

export ONE_XMLRPC=http://localhost:2633/RPC2

export PATH=$ONE_LOCATION/bin:/usr/local/bin:/var/lib/gems/1.8/bin/:/var/lib/gems/1.8/:$PATH








適用します:



source ~/.bash_profile







認証ファイルを作成し、パスワードを明示的に指定します。



mkdir ~/.one

echo "oneadmin:<THE_PASSWORD>" > ~/.one/one_auth








次に、oned.conf構成ファイルに必要な変更を加えます。



nano ~/etc/oned.conf







次の行をコメントアウトする必要があります。



#DB = [ backend = "sqlite" ]







そして、mysqlをバックエンドとして指定します。



DB = [ backend = "mysql",

server = "localhost",

port =3306,

user = "oneadmin",

# passwd = "password",

db_name = "opennebula" ]








mysqlのユーザーoneadminにパスワードが設定されていないため、passwd値はコメント化されています。



onedサービスの開始:



one start







そして、サービスが開始するかどうかを確認するために、コマンド「onevm list」を指定します。







もちろん、結論は空です。



Sunstoneインストール



そのため、サービスが開始され、必要なパッケージとGUIが配置されます。



apt-get install rubygems

gem install json sinatra thin install rack rails rake sequel sqlite3








次に、Sunstoneサーバー構成ファイルを修正する必要があります。



nano /srv/cloud/one/etc/sunstone-server.conf







私たちは見つけます:



# Server Configuration

:host: 127.0.0.1

:port: 9869








そして次のように変更します:



# Server Configuration

:host: 0.0.0.0

:port: 8888








oneadminの下でSunstoneサーバーを起動し、エラーを取得し、ログを確認します。



sunstone-server start













バグ修正:



gem install rubygems-update

update_rubygems

gem update --system








サンストーンの開始:



sunstone-server start







GUI



アドレスhttp:// ip_address_or_hostname:8888にアクセスします。 one_authに以前登録したユーザー名とパスワードのフィールドに入力します。







十分な禁欲的なダッシュボード。 左側にはツールツリーがあり、右側にはサービスとリソースに関する情報があります。







ロシア語に切り替えることができます:







もっとよく知っている人:







では、何がありますか?



ユーザー、グループ、アクセスリストを作成するためのツール:



















仮想マシン、仮想マシン自体、およびテンプレートのイメージを作成するためのパネル:











そして最下部-ホストの管理、クラスターの作成、ストレージの追加、仮想ネットワークの作成:







たとえば、ポップアップウィンドウ:







さまざまなハイパーバイザーを接続できます。







エンドユーザーインターフェイス



管理ツールのインストールでした。 しかし、エンドユーザーは何をすべきでしょうか? 彼に管理コンソールへのアクセスを許可しないでください...一般ユーザーには、別のツールキットがあります。



OCCIインストール



occiサービス構成ファイルを見つけて編集します。



nano /srv/cloud/one/etc/occi-server.conf







このファイルでは、1行を修正する必要があります。



# Host and port where OCCI server will run

:server: localhost

:port: 4567








行ごと:



:server: 0.0.0.0







また、ポートを変更しました。インストールは1つのホストで実行されるため、8889をインストールしました。 次に、必要なパッケージを提供します。



apt-get install libxml2 libxslt expat







そして、occiサービスを開始します。



occi-server start







IPアドレスまたはドメイン名に移動し(ところで、構成でFQDNを指定する必要があるとドキュメントに記載されています)、取得した内容を確認します。



http:// ip-address_or_fqdn:8889/ui











ユーザー名oneadminと以前に指定したパスワードを使用してセルフサービスポータルにログインします。

さらに、このユーザー用に構成したもののみが表示されます。 以前に別のユーザーを作成し、そのユーザーのサブネット、VMテンプレートなどを構成していた場合、対応する画像が表示されていました。 そして、初期のダッシュボードを観察します。







さらにポイントについて:











必要な権限がある場合は、ここで何かを追加してみることができますが、ハイパーバイザーは追加されないため機能しません。







残念ながら、ロシア語はありませんが、管理パネルではなく、クライアント側にあります。







おわりに



実際、それがすべてです。 管理サーバーをインストールしました。セルフサービスポータルがあります-クラウドに転送してください! すべてのツールは非常にシンプルで機能的です。 テストベンチではすべてが問題なく機能します。 コンソールなしで、GUIなしですべてを操作できます。 ドキュメントは非常に詳細です。



ところで、別のインストール方法があります。上記の手順を実行するのが面倒な人は、すべてを1つのコマンドに入れることができます。



apt-get install opennebula







そして、構成設定を台無しにします。



既に述べたように、このトピックはツールのインストールを説明することに専念しているため、ハイパーバイザーの接続、ネットワーク、ストレージ、その他すべての作成の例はありません。 興味深い場合は、次の記事で製品について詳しく説明します。



皆さんに幸運を!



マッドバグ

DEPOコンピューター



All Articles