目次

CloudStack4.0のインストール

Apacheから提供されているオープンソースのIaaS運用基盤ソフトウェアのCloudStackのインストール。

必要なものとか

補足

CloudStackは大きく分けると3つの構成要素からなります。

NFSかiSCSIで接続する。 「必要なもの」のうち、物理マシン1は管理サーバとストレージを兼ねる事にするので、主にHDDに余力のある物を使う。
物理マシン2は仮想インスタンスを実行するので、CPUやRAMに余力のある物を使う。
同スペックなら、どっちゃでも。

下準備

物理マシン1

CentOS6.3の64bit版をインストールしておく。
間違っても32bit版をインストールしないこと。
インストール自体は最小構成で良い。
IPは固定IPとし、ホスト名はhostnameコマンドでFQDNが取得できるようにしておく必要があるとかないとか。
細かい事はggrksって事で。

物理マシン2

XenServerをインストールする。
とりあえず、XenServer6.0だとCloudStack4.0で接続できました。6.0入れといてください。
Citrixのサイト(http://www.citrix.co.jp)でXenServer探してください。
インストールはCitrixのeDocs(http://support.citrix.com/proddocs/?locale=ja)辺りで探してください。

……ものぐさでサーセン……

管理サーバとストレージの設定

ではでは。
物理マシン1に導入されているであろう最小構成のCentOS6.3を設定していきます。
全部rootでやってね!

ホスト名とかIP固定とか

ホスト名とIPの固定を行う。
特に難しくは無いと思うけど。
ホスト名は/etc/sysconfig/networkを編集し、HOSTNAME=の部分にFQDN書いときましょう。
CentOS6.x-ホスト名の確認と変更
IPの固定は/etc/sysconfig/network-scripts/ifcfg-eth0を編集する

TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.10.10
PREFIX=24
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
DNS1=192.168.10.1
ONBOOT=yes

この辺りが書かれていればOK。各パラメータは環境に合わせて変更してください。
また、必要に応じて/etc/hostsに他の要素(今回の場合は仮想ホストに当たるXenServerのホスト情報)について記述しておくと良い。
あ、自分自身については記述しといてね!

# vi /etc/hosts
127.0.0.1    [管理サーバー名] localhost.localdomain~~~

こんな感じで。

SELinuxの無効化とiptablesの停止

SELinuxは何かとお邪魔してくるので、無効化します。
ファイル/etc/selinux/configSELINUX=パラメータをdisabledにしちゃいましょう。

# vi /etc/selinux/config
#SELINUX=enforcing
SELINUX=disabled

この後、再起動すると無効化されます。
Permissiveでも良いんだろうけど、嫌いなので無効化します(ぇ
iptablesはサービスの停止と、次回以降の起動時の自動起動設定を切ります。

# /etc/rc.d/init.d/iptables stop
# /etc/rc.d/init.d/ip6tables stop
# chkconfig iptables off
# chkconfig ip6tables off

とりあえず、最新に

CentOSのパッケージを最新化しとく。

# yum -y update

インストールしてるパッケージが多いと時間かかるかも。
コーヒーでも飲んで待ちましょう。

CloudStackのインストール

では実際にインストールをはじめます。

リポジトリの有効化

CloudStackはyum用のリポジトリが用意されているので、設定を行なってyumでインストールできるようにします。

# vi /etc/yum.repo.d/CloudStack.repo
[cloudstack]
name=cloudstack
baseurl=http://cloudstack.apt-get.eu/rhel/4.0/
enabled=1
gpgcheck=0

パッケージのインストール

リポジトリを追加したら、yumを使ってパッケージを導入します。
導入するパッケージはCloudStackとデータベースをホストするMySQLです。

# yum -y install cloud-client
# yum -y install mysql-server

今回はストレージサーバとしてNFSサーバも兼務するので、もしNFSのパッケージが入っていない場合はそれも入れておく。
CentOS-NFSサーバ設定
この時、/etc/exportsにはプライマリストレージとセカンダリストレージに当たる分の設定を記述しておく。
プライマリストレージは生成されるVMの実体等を配備する領域、セカンダリストレージはVM生成元となるテンプレートや各種ISOファイル等を配備する場所として利用される領域です。

# vi /etc/exports
/export/primary1      *(rw,no_root_squash,async)
/export/secondry1     *(rw,no_root_squash,async)

こんな感じで。

NTPのインストール

なんかね、必要らしいよ。NTP。
入れなくても動いたけどね、NTP。
クラウド内のサーバー達の時刻同期に必要だとか云々…

# yum install ntp

MySQLデータベースの設定

テスト環境なので、簡単に。
まずは設定ファイル/etc/my.cnfを編集。[mysqld]セクションに下記を追記。

# vi /etc/my.cnf
[中略]
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'

ほいでもって、サービスを起動。もう動いてるなら再起動。

# service mysqld stop
# service mysqld start

で、MySQLのコンソールへ。
MySQLのrootユーザーのパスワードを設定します

# mysql -u root
mysql> SET PASSWORD = PASSWORD('password');
mysql> exit

CloudStack側も設定

# cloud-setup-databases cloud:password@localhost --deploy-as=root:password

管理サーバの設定を実行

MySQLの設定が終わったので、管理サーバの設定を行う。
専用コマンドを実行。

# cloud-setup-management

次に、システムテンプレート?なる物のダウンロードを行うらしい。
仮想ホストの種別に合わせてダウンロードする。

※1行で書いてね!!><
NFSサーバが別サーバに構築されている場合は、あらかじめmountコマンドで任意の場所にマウントしておき、上のコマンド中の-mオプションの指定をマウントポイントに書き換えて実行する。

Webコンソールにアクセスしてみる

ここまででWebコンソールの表示に必要な設定が終わったはず。。。はず。
なので、実際にアクセスしてみる。
ブラウザでアクセスしてみよう。

http://管理サーバIPアドレス:8080/client

初期設定ではIDとパスワードがadminpassword
ログイン後、「基本インストールを続行する」ボタンをクリックして、画面指示に従って設定してみましょう。
やればできる!( ー`дー´)キリッ

適当ですまん…すまん…
作業やったのが一週間くらい前で、まともなメモが残ってないのであーる。
仕方が無い。。。よね?(;´Д`)