Apacheから提供されているオープンソースのIaaS運用基盤ソフトウェアのCloudStackのインストール。
CloudStackは大きく分けると3つの構成要素からなります。
NFSかiSCSIで接続する。
「必要なもの」のうち、物理マシン1は管理サーバとストレージを兼ねる事にするので、主にHDDに余力のある物を使う。
物理マシン2は仮想インスタンスを実行するので、CPUやRAMに余力のある物を使う。
同スペックなら、どっちゃでも。
CentOS6.3の64bit版をインストールしておく。
間違っても32bit版をインストールしないこと。
インストール自体は最小構成で良い。
IPは固定IPとし、ホスト名はhostnameコマンドでFQDNが取得できるようにしておく必要があるとかないとか。
細かい事はggrksって事で。
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の固定を行う。
特に難しくは無いと思うけど。
ホスト名は/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は何かとお邪魔してくるので、無効化します。
ファイル/etc/selinux/configのSELINUX=パラメータを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は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。
クラウド内のサーバー達の時刻同期に必要だとか云々…
# yum install ntp
テスト環境なので、簡単に。
まずは設定ファイル/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
次に、システムテンプレート?なる物のダウンロードを行うらしい。
仮想ホストの種別に合わせてダウンロードする。
# /usr/lib64/cloud/common/scripts/storage/secondary/cloud-install-sys-tmplt -m /export/secondry1 -u http://download.cloud.com/templates/acton/acton-systemvm-02062012.vhd.bz2 -h xenserver -F
# /usr/lib64/cloud/common/scripts/storage/secondary/cloud-install-sys-tmplt -m /export/secondry1 -u http://download.cloud.com/templates/burbank/burbank-systemvm-08012012.ova -h vmware -F
# /usr/lib64/cloud/common/scripts/storage/secondary/cloud-install-sys-tmplt -m /export/secondry1 -u http://download.cloud.com/templates/acton/acton-systemvm-02062012.qcow2.bz2 -h kvm -F
※1行で書いてね!!><
NFSサーバが別サーバに構築されている場合は、あらかじめmountコマンドで任意の場所にマウントしておき、上のコマンド中の-mオプションの指定をマウントポイントに書き換えて実行する。
ここまででWebコンソールの表示に必要な設定が終わったはず。。。はず。
なので、実際にアクセスしてみる。
ブラウザでアクセスしてみよう。
http://管理サーバIPアドレス:8080/client
初期設定ではIDとパスワードがadminとpassword。
ログイン後、「基本インストールを続行する」ボタンをクリックして、画面指示に従って設定してみましょう。
やればできる!( ー`дー´)キリッ
適当ですまん…すまん…
作業やったのが一週間くらい前で、まともなメモが残ってないのであーる。
仕方が無い。。。よね?(;´Д`)