「クラウドコンピューティング」の既存のテクノロジーにより、Amazonと同様のパブリックサービスを使用できるだけでなく、企業ベースと自宅の両方で「クラウド」インフラストラクチャを独立して展開できます。 このようなプライベートクラウドには無料のシステムが存在します。 これらのシステムは誰でも利用できますが、それらをインストールするのは大変な作業です。 この記事は、そのような最も有名なシステムの1つのインストールエクスペリエンスに専念しています。
ユーカリは、カリフォルニア大学サンタバーバラ校が開発したもので、GPL v3の下でライセンスされています。 建築的に、ユーカリはいくつかの基本的な要素で構成されています。
- クラウドコントローラー-「クラウド」のコントローラーは、ユーザーからの要求を受け入れて仮想マシンを作成します。
- セイウチ-ユーザーデータと仮想マシンイメージのリポジトリ。
- クラスターコントローラー-クラスターコントローラー。ノード間で仮想マシンを起動するためのタスクを分散します。
- ノードコントローラー-仮想マシンのライフサイクルを管理するノードコントローラー。

独自の「クラウド」をデプロイするには、次の構成の2台のマシンを割り当てました。
クラウドコントローラー、クラスターコントローラー、およびネットワークストレージとして機能するコンピューター:
- 装備品
- Intel Pentium 3.0 GHzプロセッサー。
- RAM-1 GB;
- ハードドライブ-80 GB;
- 2つのネットワークインターフェイスカード。
- オペレーティングシステム:
ノードコントローラーの機能を実行するコンピューター:
- 装備品
- Intel Pentium 3.0 GHzプロセッサー。
- RAM-512 MB;
- ハードドライブ-80 GB;
- ネットワークインターフェースカード。
- オペレーティングシステム:
まず、Eucalyptusをインストールする前に、各ホストマシンに優先ハイパーバイザー(
Xenまたは
KVM )をインストールする必要があります。 それらのインストールには機能がなく、管理者のマニュアルに従って行われます。
Eucalyptusバージョン1.5.2のインストールを進めましょう。 一般に、インストールガイドは
開発者のサイトで提供され
ていますが、インストールの実践が示しているように、落とし穴の一部については説明していません。
特に、インストールの前に、システムのさらなる操作で起こりうる問題を排除するには、いくつかの基本的なアクションを実行する必要があります。
- 使用されているすべてのホストで、時刻の同期を確認する必要があります。
- すべてのホストで、root権限でユーカリユーザーを作成する必要があります。
- ユーカリユーザーのクラスターコントローラーとノードコントローラー間のsshを介したパスワードなしのアクセスの可能性を実装します。
その後、Eucalyptusシステムのインストールは標準のインストーラーで問題なく行われます。 システムを起動するには、次のコマンドを実行します。
- クラウドコントローラー上
# $EUCALYPTUS/etc/init.d/eucalyptus-cloud start
# $EUCALYPTUS/etc/init.d/eucalyptus-cc start
- ノードコントローラー上
# $EUCALYPTUS/etc/init.d/eucalyptus-nc start
サービスが開始され、エラーログは表示されません。 次に、クラウドコントローラーにクラスターを登録します。
$ $EUCALYPTUS/usr/sbin/euca_conf -addcluster <clustername> <clusterhost>
ホストマシンをクラスターに追加します。
$ $EUCALYPTUS/usr/sbin/euca_conf -addnode "<nodehost1> ... <nodehostN>"
この段階では、sshを介してインストールされたパスワードなしのアクセスが必要になります。 それ以外の場合、このようなアクセスを整理するために一連の操作を実行するためのメッセージが表示されます。
次に、
<clusterhost> :8443に移動し、「クラウド」を管理するためにWebポータルですべての必要な情報を指定します。
作業の大部分は完了しました-デプロイされた「クラウド」インフラストラクチャ。 ここで、仮想マシンイメージをストレージに追加して実行します。
Debian lennyを搭載した仮想マシンを使用してユーザーホストをシミュレートします。
Euca2oolsをダウンロードしてインストールし
ます 。 「クラウド」のサイトからX.509証明書をダウンロードし、必要な情報をシステムに追加します。
$ mkdir ~/.euca
$ cd ~/.euca
$ unzip name-of-the-key-zip.zip
$ chmod 0700 ~/.euca
$ chmod 0600 ~/.euca/*
$ . ~/.euca/euca2-*/eucarc
これで、「クラウド」のパフォーマンスを確認できます。 クラスタとホストマシンが表示されているかどうかを確認します。
$ euca-describe-availability-zones verbose
AVAILABILITYZONE MyCluster 192.168.0.1
AVAILABILITYZONE |- vm types free / max cpu ram disk
AVAILABILITYZONE |- m1.small 0002 / 0002 1 128 10
AVAILABILITYZONE |- c1.medium 0002 / 0002 1 256 10
AVAILABILITYZONE |- m1.large 0001 / 0001 2 512 10
AVAILABILITYZONE |- m1.xlarge 0000 / 0000 2 1024 20
AVAILABILITYZONE |- c1.xlarge 0000 / 0000 4 2048 20
AVAILABILITYZONE |- 192.168.0.2
certs[cc=true,nc=true] @ Mon Apr 05 15:13:30 PST 2010
すばらしいです。クラスター、ホストマシン、およびその上で利用可能なリソースを確認できます。
これで、事前に準備されたXenハイパーバイザーの仮想マシンイメージをストレージにアップロードできます。 この操作の手順は、
Eucalyptusの Webサイトでも提供されています。
必要なアクションを実行しますが、ダウンロードの途中でエラーが表示されます。
500 Unable to parse date
問題は、仮想マシンの日付が間違っていることです。 主なルールを忘れました-時間の同期。 仮想マシンを同期し、起動プロセスを繰り返します-すべてエラーなしで。
何が起こったのかを確認してください:
$ euca-describe-images
IMAGE eki-747416B3 debian-kernel-bucket/vmlinuz-2.6.26-2-xen-686.manifest.xml admin available public x86_64 kernel
IMAGE eri-DA6317EF debian-ramdisk-bucket/initrd.img-2.6.26-2-xen-686.manifest.xml admin available public x86_64 ramdisk
IMAGE emi-076811AA debian-image-bucket/deb.img.manifest.xml admin available public x86_64 machine
仮想マシンを起動します。
$ euca-run-instances –t c1.medium --kernel eki-747416B3 --ramdisk eri-DA6317EF emi-076811AA
残念ながら、イメージはストレージからホストマシンにコピーされますが、起動時にクラッシュします。 問題は、ホストコントローラーとハイパーバイザー間の相互作用にあります。 この相互作用を担当するファイルのホストマシンを調べています-
/ usr / share / eucalyptus / gen_libvirt_xml 。 仮想マシンを起動するための追加設定を担当する行に、別のパラメーター
xencons = ttyを追加して、行
が次の形式になるようにします。
root=/dev/sda1 xencons=tty
起動手順を繰り返します。
$ euca-run-instances –t c1.medium --kernel eki-747416B3 --ramdisk eri-DA6317EF emi-076811AA
INSTANCE i-3E190649 emi-076811AA 192.168.0.5 192.168.0.5 running c1.medium 2010-04-05T15:43:37.916Z
望ましい結果が得られました-「クラウド」インフラストラクチャが作成され、仮想マシンのイメージがアップロードおよび起動されました。 結果として得られるプラットフォームは、社内および公共サービスの両方を提供するために使用できます。
すべてのコンポーネントを1つの物理ホストにインストールできることに注意してください。 これは機能にいくつかの制限を課しますが、ユーカリシステムを研究するには十分便利です。 同様に重要なのは、EucalyptusがAmazonサービスと完全に互換性があるという事実です。 したがって、このシステムは、Amazonサーバーでの使用が計画されているイメージをデバッグするためのテストサイトとしても使用できます。 この例では、Linuxベースの仮想マシンを作成しましたが、最新の「クラウド」システムの機能により、Windowsを実行する仮想マシンを実行できます。 この質問は、この記事の範囲外です。