2012年7月5日木曜日

CloudStackテンプレートの作成方法(2012年9月修正)

CloudStackのインストール方法はチラチラみかけるようになったが、テンプレートの作成まで書かれているページは少ない。(私の導入方法も全て書いてあるわけではないが)

こういったソフトで一番ありがちなのが、環境を作ったで終わってしまう系。昔のLinux系の雑誌やブログもインストールする方法は書かれていたが、利用する方法(TeXやらコンパイラーの利用方法)は一切書かれていなかった。
唯一書かれていた本は、『Linux入門 アジソン・ウェスレイ・ジャパン 小山裕司 斎藤靖 佐々木裕 中込知之』(多分絶版。以前までdviファイルが入手できたような気がするが。)

ありがちのクラウド業者でインストールについては語るが、運用までは語れないという会社が多い。(間違いだらけのクラウド業者選びは別記事で。)
志村けんがたまに言う「子づくりは好きだけど、子育ては嫌い」というネタ状態である。

なので、子づくりだけではなく、子育てをしなければならない。

閑話休題

テンプレートの作成の仕方
まず、ISOイメージからインスタンスを作り、普通に起動させる。(自分が使う感覚で構わない。)
ただし、ホスト名、ユーザ名、パスワードは、一時的なもので作成する。
やっている作業は、
 sshサーバのインストール --- コンソールだけではなくsshで入れるようにする
 ntpのインストール  --- 仮想環境では必ずntpを動かさないと時刻がずれるので致命的
 acpidのインストール --- virshから停止ができないときがあるから。
 sshのホストキーの削除 --- これ忘れがち。
 mac address関連の削除 --- これも忘れがち。起動してもネットワークつかえねぇ。だと話にならない。


以下にOS毎に記載する。(2012年9月修正)
※CloudStackでインスタンス名をつけると、ホスト名に反映されるように修正。

CentOS6.3/CentOS5.8

インスタンスサイズ Small
ボリュームサイズ 10GB
選択パッケージ Baseのみ
rootパスワード password

インストーラーが再起動して、ログインプロンプトが出てきたらISOをデタッチする。
CentOS 5.8は、ISOで再起動してしまうので、インスタンスをStopさせて、ISOをデタッチし、その後インスタンスを起動させる。
●最低限必要なサービスのインストール、設定、パッケージの更新
yum install acpid ntp wget openssh-server
chkconfig acpid on
chkconfig ntpd on
chkconfig sshd on
yum -y update

●パスワードリセットデーモンの導入(オプション)
cd
wget http://cloudstack.org/dl/cloud-set-guest-password
chmod +x cloud-set-guest-password
mv cloud-set-guest-password /etc/init.d/
chkconfig --add cloud-set-guest-password

●CloudStackのインスタンス名をホスト名にする設定
/etc/sysconfig/networkのHOSTNAMEの修正
HOSTNAME=localhost.localdomain

/etc/sysconfig/network-scripts/ifcfg-eth0のMAC Addressの削除
HWADDR=の行を削除
/etc/hostsの確認 ->ループバックアドレスしかないはず

<<<テンプレートを修正した後はここからやればよい。>>>
●SSHホストキーの削除
rm -rf /etc/ssh/ssh_host_*
●eth0を認識させるための設定
rm -rf /etc/udev/rules.d/70-persistent-net.rules <--CentOS 6.3のみ
●ヒストリの削除、その他
yum clean all
history -c
halt
テンプレートをコントロールパネルで作成


Ubuntu 10.04/12.04

インスタンスサイズ Small
ボリュームサイズ 10GB
選択サービス OpenSSH-Serverのみ
初期ユーザ名/パスワード user/password
インストーラーが再起動して、ログインプロンプトが出てきたらISOをデタッチする。

sudo -i
●最低限必要なサービスのインストール、設定、パッケージの更新
aptitude -y install acpid ntp openssh-server
aptitude update
aptitude -y upgrade
●CloudStackのインスタンス名をホスト名にする設定
rm -rf /etc/hostname
●SSHホストキーを再作成させるための設定
vi /etc/rc.local
# Generate new host keys if they don't exist.
# This will also restart the server if necessary.
if [ ! -e /etc/ssh/ssh_host_rsa_key ]; then
  dpkg-reconfigure openssh-server
fi

●パスワードリセットデーモンの導入(オプション)
cd
wget http://cloudstack.org/dl/cloud-set-guest-password
chmod +x cloud-set-guest-password
mkdir -p /var/lib/dhcp3 (Ubuntu 11.04 以降のOSのみ)
mv cloud-set-guest-password /etc/init.d/
update-rc.d cloud-set-guest-password defaults 98
aptitude install whois (Ubuntu 12.04 LTS)
あるいは
apt-get install mkpasswd (Ubuntu 10.04 LTS)

<<<テンプレートを修正した後はここからやればよい。>>>
●SSHホストキーの削除
rm -rf /etc/ssh/ssh_host*
●ヒストリの削除、その他
aptitude clean
history -c
exit
ログアウト直前で history -c を実行
CloudStack側でインスタンスを停止
テンプレートをコントロールパネルで作成


0 件のコメント:

コメントを投稿