fbpx

CloudStackを使ってみよう[2]

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

Chef SoloでのCloudStack 3.0.4のインストール

本項ではCloudStack 3.0.4をハイパーバイザとしてKVMを選択し、2台のCentOS 6.2 (x86_64)上にChef-Soloを用いてインストールした際の手順を記載します。基本的に Quick Install Guide に準じています。

ハードウェアの準備

本項では2台のマシンでCloudStack環境を構築します。今回は以下の構成のマシンを2台準備しました。

CPU
Intel Core i5-3570K
MEM
DDR3 SDRAM PC3-12800 4GB x4
HDD
500GB 7200rpm

仮想化支援技術であるIntel VTを備えたCPU、メモリは合計して16GBと多めに搭載します。HDDは本格的にCloudStackを運用するのであれば、より多くの領域が必要となります。

OSのインストール

CentOS 6.2 (x86_64)をMinimal (最小構成)でインストールします。詳細な手順は省略します。以降、1台目を「管理サーバ」、2台目を「ホスト」と呼称します。ホストはコンピューティングノードとも呼ばれます。また、以下のように設定を行います。

サーバ IPアドレス ホスト名 rootパスワード
管理サーバ 192.168.25.110 cs-manager.example.jp csmanager1234
ホスト 192.168.25.111 cs-host.example.jp cshost1234

OSのインストールが完了したら Installing Chef Client on CentOS に従ってChef Client (Chef Solo)をインストールします。

# rpm -Uvh http://rbel.frameos.org/rbel6
# yum install ruby ruby-devel ruby-ri ruby-rdoc ruby-shadow gcc gcc-c++ automake autoconf make curl dmidecode
# curl -O http://production.cf.rubygems.org/rubygems/rubygems-1.8.10.tgz
# tar xfz rubygems-1.8.10.tgz
# cd rubygems-1.8.10
# ruby setup.rb --no-format-executable
# gem install chef --no-ri --no-rdoc

Chef Soloの準備

まず、gitをインストールします。

# yum install git

次に cl-lab-k/cloudstack-quickinstall からCookbooksを取得します。

# git clone --recursive -b old https://github.com/cl-lab-k/cloudstack-quickinstall.git

Chef Soloの設定ファイルを準備します。

# cat > chef-solo.rb
file_cache_path "/tmp"
cookbook_path [ "/root/cloudstack-quickinstall/opscode-cookbooks", "/root/cloudstack-quickinstall/cookbooks" ]
#

管理サーバのインストール

cloudstack-manager.jsonファイルの編集を行います。

{
	"cloudstack_manager": {
		"mgmt_ipaddr":		"192.168.25.110",
		"mgmt_fqdn":		"cs-manager.example.jp",
		"mgmt_hostname":	"cs-manager",
		"host_ipaddr":		"192.168.25.111",
		"host_fqdn":		"cs-host.example.jp",
		"host_hostname":	"cs-host",
		"domainname":		"example.jp",
		"tarball_base_uri":	"http://download.cloud.com/releases/3.0.4/",
		"tarball_basename":	"CloudStack-3.0.4-1-rhel6.2",
		"tarball_sha256":	"0b9b3d38bd33bcf607250f0103f119f9dc5eb12848d58410187ecfbbdfba22a6",
		"mysql_root_name":	"root",
		"mysql_root_pass":	"myroot1234",
		"mysql_user_name":	"cloud",
		"mysql_user_pass":	"myuser1234",
		"nfs_root_dir":		"/export",
		"nfs_primary_dir":	"primary",
		"nfs_secondary_dir":	"secondary",
		"systemvm_base_uri":	"http://download.cloud.com/templates/acton/",
		"systemvm_filename":	"acton-systemvm-02062012.qcow2.bz2",
		"systemvm_sha256":	"67dfc81297368ce605449454776a97d69f5c7bf5f90dbfe9cb49046fea3fff8a"
	},
	"run_list": [
		"recipe[selinux::permissive]",
		"recipe[cloudstack_manager]"
	]
}

赤字で示した箇所を適切に設定してください。

mgmt_ipaddr 管理サーバのIPアドレス
mgmt_fqdn 管理サーバのFQDN
mgmt_hostname 管理サーバのホスト名
host_ipaddr ホストのIPアドレス
host_fqdn ホストのFQDN
host_hostname ホストのホスト名
domainname 管理サーバとホストのドメイン名
mysql_root_pass MySQLのrootユーザのパスワード
mysql_user_pass MySQLの一般ユーザ(cloud)のパスワード
nfs_root_dir NFSサーバのexportディレクトリ名
nfs_primary_dir プライマリストレージのディレクトリ名
nfs_secondary_dir セカンダリストレージのディレクトリ名

chef-solo.rbファイルとcloudstack-manager.jsonファイルを指定し、chef-soloを実行します。

# chef-solo -c chef-solo.rb -j cloudstack-quickinstall/cloudstack-manager.json

しばらく時間がかかりますが、問題なければ途中で何も入力をすることなく管理サーバのインストールは完了します。

ホストのインストール

cloudstack-host.jsonファイルの編集を行います。

{
	"cloudstack_host": {
		"mgmt_ipaddr":		"192.168.25.110",
		"mgmt_fqdn":		"cs-manager.example.jp",
		"mgmt_hostname":	"cs-manager",
		"host_ipaddr":		"192.168.25.111",
		"host_fqdn":		"cs-host.example.jp",
		"host_hostname":	"cs-host",
		"domainname":		"example.jp",
		"epel_release_uri":	"http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/",
		"epel_release_rpm":	"epel-release-6-7.noarch.rpm",
		"epel_release_sha256":	"d75c1eaa87b672a40e30086012d5ef19807432095fb8dc50a4d813f8fd3123fb",

		"tarball_base_uri":	"http://download.cloud.com/releases/3.0.4/",
		"tarball_basename":	"CloudStack-3.0.4-1-rhel6.2",
		"tarball_sha256":	"0b9b3d38bd33bcf607250f0103f119f9dc5eb12848d58410187ecfbbdfba22a6",
		"mysql_root_name":	"root",
		"mysql_root_pass":	"myroot1234",
		"mysql_user_name":	"cloud",
		"mysql_user_pass":	"myuser1234",
		"nfs_root_dir":		"/export",
		"nfs_primary_dir":	"primary",
		"nfs_secondary_dir":	"secondary",
		"systemvm_base_uri":	"http://download.cloud.com/templates/acton/",
		"systemvm_filename":	"acton-systemvm-02062012.qcow2.bz2",
		"systemvm_sha256":	"67dfc81297368ce605449454776a97d69f5c7bf5f90dbfe9cb49046fea3fff8a"
	},
	"run_list": [
		"recipe[selinux::permissive]",
		"recipe[cloudstack_host]"
	]
}

赤字で示した箇所をcloudstack-manager.jsonと値が同じになるように適切に設定してください。

chef-solo.rbファイルとcloudstack-host.jsonファイルを指定し、chef-soloを実行します。

# chef-solo -c chef-solo.rb -j cloudstack-quickinstall/cloudstack-host.json

しばらく時間がかかりますが、問題なければ途中で何も入力をすることなくホストのインストールは完了します。

以降の作業

CloudStackを使ってみよう[1] と同様に作業を行ってください。

また、同梱の cloudstack-2.2-manager.json と cloudstack-2.2-host.json を用いることで、CloudStack 2.2.14 のインストールを行うこともできます。

Author

Chef・Docker・Mirantis製品などの技術要素に加えて、会議の進め方・文章の書き方などの業務改善にも取り組んでいます。「Chef活用ガイド」共著のほか、Debian Official Developerもやっています。

Daisuke Higuchiの記事一覧

新規CTA