Cent OS 6.5にRDO All-in-oneを導入。


はじめに

前回はOpenStackのなんとやらをひと通り触れたので、今回は早速OpenStackディストリビューションの一つであるRDOをサクッと入れてみたいと思います。

OpenStackディストリビューション

Linuxと同じようにOpenStackにもいくつかのディストリビューションがあります。
多分以下の3つを知っておけば十分かと思います。

  • RedHat OpenStack (RDO)
    RedHatのディストリビューション。略称RDOがRedHat Distribution for OpenStackかと思いきや、

    "RDO is a community of people using and deploying OpenStack on Red Hat and Red Hat-based platforms."<

    とあるようにRDOはコミュニティらしい。今回はこれを触っていきます。

    RDO ― 本家サイト

  • Ubuntu OpenStack
    UbuntuのディストリビュータであるCanonicalのOpenStack。
    RDOでは内部でPuppetを使っているらしいが、こちらはjujuという構成管理ツールを使うらしい。
    あと最近のUbuntu Serverにはこいつがすでに入っているらしいので、RDOとの比較を兼ねて後で試したいと思います。

    Ubuntu OpenStack ― 本家サイト

  • Devstack
    開発者向けの最新OpenStackインストールツール。ディストリビューションではないですが、Devstackを使って楽チンインストールができるという点で、上記ディストリビューションみたいな感があるということで入れてます。
    ( 噂では楽チンじゃないという声もありますが... )

    Devstack ― 本家サイト

Let's Install OpenStack

では早速RDOを使ってOpenStack環境をAll-in-one構成でサクッと入れてみたいと思います。

環境確認

RDOページを見たところ、RDO All-in-oneの動作要件は

  • OS : RedHat Enterprise Linux 6.5~, Fedora 20~, CentOS, Scientific Linux

  • HW : 2GBメモリ以上、仮想化に対応したCPU、最低1つのNIC

  • その他 : インターネットにつながること

とのことです。今回はVMware Playerを使って下記の構成にしました。

  • CentOS 6.5, 2core-CPU, 4GB memory, 200GB HDD, 1 NIC(bridge-mode)

トライ

ではインストールしていきます。手順はRDOのQuickstartをほぼそのまま実行してます。

RDOリリース指定
yum install -y http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/rdo-release-icehouse-3.noarch.rpm

今回は最新のIcehouseリリースパッケージでインストールします。ここは一瞬で終わります。
その他のバージョンでやる場合は、ここから適当なものを探せばいいでしょう。

packstack取得
yum install -y openstack-packstack

いくつかのパッケージが取得されます。それほど時間はかかりません。

packstack実行
packstack --allinone

これで実際にOpenStackの各種パッケージがインストールされます。割と時間がかかりますが適当に待ってください。
あと、最初にインストールしようとするノードのrootパスを聞かれるので正直に答えましょう。
packstackではOpenStackの構成にあたり、内部でPuppetを用いますがその際に使用するSSH用パスワードを聞いてきます。

(そのうちPuppetの勉強もかねてここの内部挙動を調べたいですねー)

 * To access the OpenStack Dashboard browse to http://192.168.11.2/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.

インストールが終わると後ろのほうにこんな感じのメッセージが出てくるので、/root/keystonerc_adminを覗いてDashboardのパスワードを確認しましょう。

Let's Access OpenStack

それでは晴れてOpenStack RDO All-in-oneの導入ができたので早速アクセスしましょう。先ほどのホストの見えるところからであれば、http://<ホスト名>/dashboardでアクセスできます。

keystonerc_adminで確認したadminパスワードを入力してログインしましょう。

ログインしてみたらこんな感じになってます。普通に日本語化されてますけど設定はどこに...?
こちらは管理画面なので左側に

  • システムパネル
    • 概要
    • リソース使用状況
    • ハイパーバイザ
    • フレーバー
    • イメージ
    • ネットワーク
    • ...
  • 認証パネル
    • プロジェクト
    • ユーザー

が並びます。一方で、ユーザが触るであろうプロジェクト画面はこんな感じ。

  • コンピュート
    • 概要
    • インスタンス
    • ボリューム
    • イメージ
    • アクセスとセキュリティ
  • ネットワーク
  • オブジェクトストア

ここの概要で見える利用可能リソース概要の総量がどうみてもOpenStackを動かしてるマシンのリソースより多いんですが、どういうことなんでしょうか...。

とりあえず今回はこの辺で。目的だったAll-in-oneは達成できたのでよしとします。

(本当はノリノリでSwiftに置いたISOイメージからLinuxインスタンス作ろうと思ってましたが、さっそくうまく動かないので動きを止めました)

次回

All-in-oneの構成ができたので、次回以降で下記に取り組んでいきます。

ノード追加

今回はAll-in-oneなので1台で擬似クラスタを構成していきますが、コンピュートノードとストレージノードをそれぞれ追加してクラスタの増強を試したいと思います。

仮想マシンインスタンス作成

今回は環境を作っただけなので、使わないと意味がないですから実際に使ってみます。
フレーバーも今はデフォルトしかありませんが、色々試してみます。

その他

ハマり?

ハマり、というほどではないですが同じ手順を Fedora 20 でやったところ下記で詰まったので一応。

packstack --allinone
...
    Failed handling answer file: Given host does not listen on port 22: 192.168.0.100
...

packstackの実行時に上記のエラーメッセージが出てインストールできませんでした。少し考えれば分かることなのですが、22番ポート、SSHが上がってないだけの話でした。FedoraってデフォルトではSSH動いてくれないんですね...。