ここで言及するクラウド コンピューティングには、通常、Software as a Service (SaaS)、Platform as a Service (PaaS)、および Infrastructure as a Service (IaaS) の 3 つのタイプがあります。クラウドの概念が最初に登場したとき、人々はわかりにくく、わかりにくいと言っていましたが、今ではクラウド テクノロジーが人々の心に深く根付いています。たとえば、あなたが毎日使用している Gmail は Google Cloud 上にあるのかもしれません。 。これら 3 つの異なるクラウドをよりよく理解するために、Google を例として取り上げます。まず、Google Gmail/Docs/Gtalk/Maps などの SaaS アプリがすべて Google 上で実行されていることに注目してください。クラウドなので、一般ユーザー向けに「サービスとしてのソフトウェア」を提供しています。また、Google は開発者向けに AppEngine も提供しており、開発者は Python、Java などの言語や API を使用してソフトウェアやサービスを開発できます。開発者に「サービスとしてのプラットフォーム」を提供し、Google 自体が GFS、BigTable、MaPReduce に基づいて巨大な基本的なクラウド インフラストラクチャを構築し、社内スタッフに「サービスとしてのインフラストラクチャ」を提供しています。これらは 3 つの異なるタイプのクラウドです。 。
OpenNebula は、管理者がデータセンター内で多数の仮想マシンを均一に展開、作成、割り当て、管理できるようにする一連のオープン ソース クラウド コンピューティングの基本管理ツールです。企業のデータ センターは、このツール セットを使用して独自のプライベート クラウドを構築できます。内部 IaaS サービスを提供します。同様のオープンソース製品には、Eucalyptus、openQRM などが含まれます。以下のインストールプロセスは、CentOS 5.5 システムを搭載した VPSee の 2 台のサーバー上で完了します。1 台のサーバーは OpenNubula フロントエンド (node00) として使用され、もう 1 台のサーバーは最小限の「クラウド」を構築するノード (node01) として使用されます。このクラウドを拡張したい場合は、ノード (node02、node03、...) を徐々に追加するだけです。
フロントエンドのインストールと構成 (フロントエンド)
CentOS Karan ソースを追加します。
# cd /etc/yum.repos.d
#wget http://centos.karan.org/kbsingh-CentOS-Extras.repo
# おいしいアップデート
OpenNebula に必要なソフトウェア パッケージと、OpenNebula ソース コードのコンパイルに必要なツールをインストールします。
# yum install gcc gcc-c++ make openssl-devel flex bison
# yum install Ruby Ruby-devel Ruby-docs Ruby-RI Ruby-IRB Ruby-rdoc
# yum で Rubygems をインストール
# gem install nokogirake xmlparser
# yum インストール scons
# yum インストール xmlrpc-c xmlrpc-c-devel
CentOS に付属の sqlite バージョンは機能しません。sqlite 3.6.17 バージョンをダウンロードしてコンパイルする必要があります。
#wget http://www.sqlite.org/sqlite-amalgamation-3.6.17.tar.gz
# tar xvzf sqlite-amalgamation-3.6.17.tar.gz
# cd sqlite-3.6.17/
# ./configure をインストールします。
opennebula 2.0.1 ソース パッケージをダウンロードしてコンパイルした後、解凍し、コンパイルしてインストールします。
# tar zxvf opennebula-2.0.1.tar.gz
# cd opennebula-2.0.1
#スコン
# ./install.sh -d /srv/cloud/one
# ls /srv/cloud/one/
bin などには lib share var が含まれます
OpenNebula を開始する前に、ONE_AUTH 環境変数を設定する必要があります。この環境変数は $HOME/.one/one_auth ファイルから読み取られるため、最初に one_auth ファイルを作成してから、次のファイル (OpenNebula サービス プログラム) を開始する必要があります。
# cd /root/
# mkdir .one
# cd .one/
# cat "oneadmin:passWord" > one_auth
#ワンスタート
OpenNebula は、KVM、Xen、VMware の 3 つの仮想化テクノロジをサポートしています。また、どれを使用するかを OpenNebula に指示し、構成を有効にするためにいずれかを再起動する必要があります。
# vi /etc/one/oned.conf
...
IM_MAD = [
名前 = "im_xen"、
実行可能ファイル = "one_im_ssh",
引数 = "xen" ]
VM_MAD = [
名前 = "vmm_xen",
実行可能ファイル = "one_vmm_ssh",
引数 = "xen"、
デフォルト = "vmm_ssh/vmm_ssh_xen.conf",
タイプ = "xen" ]
...
#ワンストップ
#ワンスタート
ノード (コンピューティング ノード) のインストールと構成
各ノードに Xen または KVM 仮想環境をインストールする必要があります。詳細については、「CentOS での Xen のインストールと構成」および「CentOS での KVM のインストールと構成」を参照してください。
# yum をインストールして Ruby
SSHキーを交換する
OpenNebula フロントとノード間の通信は SSH を介して行われるため、フロントがノード上でスクリプトを実行するときやイメージのクローンを作成するときにパスワードの入力を避けるために、フロントとノードの間に SSH パスワードなしのログインを設定する必要があります。まずフロントとノードで sshd を設定します。 :
# vi /etc/ssh/sshd_config
RSA認証はい
公開鍵認証はい
# /etc/init.d/ssh 再起動
フロント (node00) でキーを作成し、それをノード (node01) にコピーします。
# ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub node01
1 つのノード (node01) でキーを作成し、それを前面 (node00) にコピーします。
# ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub node01
ワンホスト
フロントがパスワードなしの SSH を介して各ノードと通信できるようになったら、フロントで onehost create コマンドを使用してノードを 1 つずつ参加し、onehost list を使用して作成が成功したかどうかを確認できます。
# onehost 作成ノード 01 im_xen vmm_xen tm_ssh
# 1 つのホストのリスト
ID 名前 クラスター RVM TCPU FCPU ACPU TMEM FMEM STAT
1 ノード 01 デフォルト 0 400 400 400 3.8G 383M オン
onehost create の実行時にエラーが報告された場合は、oned.log ログを確認して、sudo: 申し訳ありませんが、sudo を実行するには tty が必要です。その理由は、OpenNebula ではコマンドを実行するためにリモート ssh/sudo が必要であり、CentOS では sudo が必要であるためです。オプション requiretty はデフォルトでオンになっています。 ssh の実行には tty が必要なので、リモート sudo はエラーを引き起こします。
# onehost 作成ノード 01 im_xen vmm_xen tm_ssh
# 末尾 /var/log/one/oned.log
火曜日 2 月 22 日 11:08:58 2011 [InM][I]: コマンドの実行に失敗しました: 'if [ -x "/var/tmp/one/im/run_probes" ]; then /var/tmp/one/im/run_probes xen 172.16.39.111; それ以外の場合は 42 を終了します。
火曜日 2 月 22 日 11:08:58 2011 [InM][I]: STDERR が続きます。
火曜日 Feb 22 11:08:58 2011 [InM][I]: sudo: 申し訳ありませんが、sudo を実行するには tty が必要です
火曜日 2 月 22 日 11:08:58 2011 [InM][I]: xen.rb の実行中にエラーが発生しました
解決策は、requiretty 行をオフ (コメントアウト) にすることです。
# chmod 600 /etc/sudoers
# vi /etc/sudoers
#Defaults が必要です
VPSee の 2 つのサーバーは HTTP プロキシを使用してインターネットにアクセスするため、OpenNebula はシステムの http_proxy 環境変数を読み取り、sched.log ログで HTTP 応答エラーを見つけました。この時点で http_proxy を閉じる必要があります。
# cat /var/log/one/sched.log
火曜日 2 月 22 日 14:27:39 2011 [HOST][E]: 例外が発生しました: XML をサーバーに転送して HTTP 応答を取得できません: 504。
火曜日 2 月 22 日 14:27:39 2011 [POOL][E]: ONE からプール情報を取得できませんでした
# http_proxy の設定を解除します
仮想ネットワーク構成ファイルを作成および編集して、OpenNebula 仮想ネットワークを作成します。
# vi small_network.net
NAME = 「小規模ネットワーク」
タイプ=固定
ブリッジ = br0
リース = [ip="192.168.0.5"]
リース = [IP="192.168.0.6"]
リース = [IP="192.168.0.7"]
# onevnet small_network.net を作成します
# onevnet リスト
ID ユーザー名 タイプ ブリッジ P #LEEASES
0 oneadmin 小規模ネットワーク 固定 br0 N 0
onevm
仮想マシンの起動構成ファイルを作成および編集します。ここでの centos.5.5.x86.img はhttp://stacklet.com/からダウンロードできます (有料)。または、Xen ツールを使用して自分で作成することもできます。
#wget http://stacklet.com/sites/default/files/centos/
centos.5.5.x86.img.tar.bz2
# tar jxvf centos.5.5.x86.img.tar.bz2
# mv centos.5.5.x86.img /srv/cloud/one/var/images/
# vi centos.one
名前 = セントス
CPU = 1
メモリ = 256
ディスク = [
ソース = "/srv/cloud/one/var/images/centos.5.5.x86.img
ターゲット = "sda1"、
クローン = "はい"、
読み取り専用 = "いいえ" ]
NIC = [MAC = "00:16:3E:00:02:64"、ブリッジ = xenbr0 ]
OS = [ ブートローダー = "/usr/bin/pygrub" ]
onevm create コマンドを使用して上記の VM 構成ファイルを開始すると、node01 に仮想マシンが作成されます。onevm list を使用して確認すると、作成プロセスが進行中であることを示す prol ステータスが表示されます。 、ステータスが run に変わります。
# onevm centos.one を作成します
# onevm リスト
ID ユーザー名 ステータス CPU MEM ホスト名 時間
1 oneadmin centos prol 0 0K ノード01 00 00:09:09
# onevm リスト
ID ユーザー名 ステータス CPU MEM ホスト名 時間
1 管理者セントス実行 0 0K ノード 01 00 00:22:17
このようにして、最小限のクラウドを 2 つのサーバー、node00 (フロント) と node01 (ノード) にデプロイし、node01 で Xen ベースの仮想マシン インスタンスを実行しました。
記事のソース: http://www.vpsee.com/2011/02/install-opennebula-on-centos/