wp.bmemo.pw

自分のための覚書・備忘録

OpenNebula で自宅クラウドを1時間で構築する

      2016/06/06

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInShare on TumblrPin on Pinterest

自宅クラウドを構築するべくOpenStackに手を出し、なんとか動く状態にはしたもののクソ複雑すぎてこれ以上弄る気が失せてしまった。スケールさせるときとかもっと大変なんだろうなとか思うと鬱になりそう。

調べたらOpenStack, CloudStack の他にいくつかオープンソースのクラウドパッケージがあることを知りました。

それでいじり始めたのが「OpenNebula」VMwareで予行演習したら1時間でVM起動できるところまで出来てビックリした。

しかし日本語情報が少ない(技評)(OpenNebulaを使ってみた。)(Qiita)のが気になったので、最近の環境で動いた例を書き残しておこうかと思います。

構成

構成は非常にシンプルです。普段使っているルーターのネットワークにVMを参加させて稼働します。図のラップトップやスマートフォンからVM にアクセスできますし、VMも自由にネットに出ることが出来ます。IPアドレスの管理も、OpenNebulaでは行いません。VMを立ち上げた時にOpenNebulaが作成した仮想ネットワークインターフェースに対してルーターがDHCP機能でVMにIPアドレスを割り当てます。

スムーズに出来れば1時間で構築できます

str

自分が構築したのはSkylake i7 + 32GB RAM のリアルマシンですが、誰でも真似できるようにVMware上 で構築します。

VMware 設定/OpenNebula バージョン

CPU4コア
☑ Intel VT-x/EPT または AMD-V/RVIを仮想化
☑ CPU パフォーマンス カウンタを仮想化
RAM8192 MB
HDD60GB (80GB~ あると安心かも)
ネットワークブリッジ:物理ネットワークに直接接続
OSUbuntu 16.04 Server 64bit (リアルマシンでは14.04を採用。systemdとの相性が悪い?)
OpenNebula バージョン4.90 (5.0)

OpenNebulaのポイントは

  • 構成がシンプル
  • スケール(ノードの追加)がしやすい
  • 1台+1 NICで始められる

という点です。ノードの追加もWEB UIからほぼワンクリックで終わります。

VMwareではUbuntu 16.04 LTSを使いますが、実マシンでは14.04を利用しました。というのも実マシンで16.04を利用すると、OpenNebulaのメインサービスがsystemdで起動してくれないという問題が発生したためです。できれば16.04を利用したいところですが、問題が発生した場合は14.04を利用してください。


Ubuntuインストール~初期設定

普通にUbuntu をインストールします。ソフトウェアは「standard system utilities」以外に「openssh」でも入れておくといいかも

まずはパッケージを最新に

vmx または svmがハイライトされて出力されたら仮想化をサポートしている印です。出てこなかった場合はCPUが対応してないかVMwareの設定が上手く行ってないです。(BIOS/UEFIで有効化し忘れたとかもありがち)

OpenNebula + WebUIインストール

Ubuntu 14.04の場合は

opennebula , Sunstoneをインストール

OpenNebulaってRubyで動いてるらしい。足りないgemをインストールするためのスクリプトを実行

14.04環境ではsystemctlコマンドを読み替えてください

WEB UI SunstoneのログインIDとパスが oneadmin:password の形式で保存されてます。

http://{VM address}:9869

でアクセスするとログイン画面が表示されます。

screenshot.226

先ほど確認したパスを打ち込んでダッシュボードが出れば成功です。ここでつまづく人はsystemdでちゃんと起動してるか確認してください。failedにっている場合は14.04で構築した方がいいです。。。

screenshot.227

まだコンピュートノードを追加していないので、ダッシュボードには何も表示されません。上の画面を確認したらこのページは閉じてください。

NFS + SSH設定

NFSの設定

SSHの設定。oneadminユーザは自動的に作成されています

コンピュートノードインストール

ブリッジを作成します。1NICの場合はsshで繋いでるNICにブリッジを作成することになるので再起動が必要。OpenVswitch 使ってもいいらしいけど割愛

再起動して再接続する

ifconfigすると、メインのNICじゃなくて、br0にIPアドレスが割り当てられていることが確認できます

NFSマウントします。IPアドレスは適宜読み替えて。1台サーバーの場合は自身のアドレスを

マウントする

QEMU設定

nodeとデーモンが通信できるようにsshの設定


WEB UIログイン

再びブラウザで http://{VM address}:9869 にアクセス。ログインパスワードは以下で確認できましたね

「 Infrastructure 」セクションの「 Hosts 」タブをクリック

screenshot.228

+ボタンからサーバー登録画面を出し、サーバーのIPを打って「Create」。1台の場合は、IPじゃなくでlocalhostって書かないとダメかも。

screenshot.229

ダッシュボードのHosts項目にノードが登録されました。いやマジびっくりするほど簡単。

ネットワークの設定

Virtual Networks をクリック

screenshot.231

+ボタンで新規作成して名前をつける

screenshot.232

ブリッジの設定で作ったブリッジインターフェイス名を入力

screenshot.233

連番で固定IPアドレスを割り当てたい場合

DHCPがない固定のゲートウェイがあって、連番で固定IPアドレスを割り当てたい場合はこの設定。

IPv4にチェックを入れて、確保するアドレスの開始値を入力して何個確保するかを決める。

screenshot.234

DHCP機能があるルーター(サーバ)があって、ルーターにIPアドレスの割当をやらせたい場合

自宅クラウドなら多分こっち。もともとDHCPルーターがあって、そのルーターにIPアドレスの割当をやらせる設定。OpenNebulaではインターフェースを作るだけにする。

Ethernetにチェックを入れて、確保するIP数を入力するだけ。MAC Startは空

 

screenshot.235

 

セキュリティグループを選択。現時点ではDefaultのみ

screenshot.236

ネットワークアドレス・マスク・ゲートウェイ・DNSを入力して「Create」

screenshot.237

VM起動

ここまで書いて疲れたので、使い方はドキュメント見てください。

まずはAppsから出来上がったイメージをダウンロードして単純に起動してみるといいでしょう。

参考

構築の参考

使い方の参考

 - クラウド , , , , ,