2009年4月19日日曜日

CentOS(5.3)のAMIを作成

スズキです。

先週、今週は"AWS Week"、今週、来週は"Redmine Week"っぽいです。

基本的に下記サイトの記述にしたがって作業すればOKです。
http://vkgtaro.jp/2008/11/10/amazon_ec2_centos5

【空イメージの作成】
Coreのみのインストールなので、サイズは1Gにしています。
ファイルシステムはext3にしています。

# cd /mnt
# dd if=/dev/zero of=ec2-centos-core-5.3.img count=1024 bs=1M
# mke2fs -F -j img-core.ec2.iret.co.jp.img

【イメージをマウント】
上記イメージを"/mnt/fs-centos-core-5.3"にマウントします。

# mkdir fs-centos-core-5.3
# mount -o loop ec2-centos-core-5.3.img fs-centos-core-5.3

【デバイスファイルの作成】
"/mnt/fs-centos-core-5.3/dev"以下におなじみのデバイスファイルを作成します。

# mkdir fs-centos-core-5.3/dev
# for i in console null zero; do /sbin/MAKEDEV -d
/mnt/fs-centos-core-5.3/dev -x $i; done

【fstabの作成】
下記のようなfstabを作成します。

# mkdir fs-centos-core-5.3/etc
# cat fs-centos-core-5.3/etc/fstab
/dev/sda1 / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0

【procファイルシステムのマウント】
おなじみのprocファイルシステムをマウントします。

# mkdir fs-centos-core-5.3/proc
# mount -t proc none fs-centos-core-5.3/proc

【yumでCoreグループをインストール】
下記の通りCentOS-Base.repoの"$releasever"が展開されないので、
http://blogs.yahoo.co.jp/yohei0511/1869211.html
実際のバージョンに書き換えたconfファイルを作成してyumを使用します。

cp /etc/yum.conf ./yum-centos-core-5.3.conf
cat /etc/yum.repos.d/CentOS-Base.repo >> yum-centos-core-5.3.conf
# cat /etc/redhat-release
CentOS release 5.3 (Final)
# sed -i 's/$releasever/5.3/g' yum-centos-core-5.3.conf
# yum -c yum-centos-core-5.3.conf
--installroot=/mnt/fs-centos-core-5.3 -y groupinstall Core

【ネットワークの設定ファイルを作成】
おなじみの"network"と"ifcfg-eth0"を下記のように作成します。

# cat fs-centos-core-5.3/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
USERCTL=yes
PEERDNS=yes
IPV6INIT=no
# cat fs-centos-core-5.3/etc/sysconfig/network
NETWORKING=yes

【fstabに追記】
fstab下記、最後の2行を追記します。

# cat fs-centos-core-5.3/etc/fstab
/dev/sda1 / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
/dev/sda2 /mnt ext3 defaults 0 0
/dev/sda3 swap swap defaults 0 0

【キー取得スクリプトの仕込み】
キーを受け取るスクリプトを作成して、起動に実行されるようにします。
これがないとsshでログインすることができません。

# vi fs-centos-core-5.3/usr/local/sbin/get-credentials.sh
# chmod a+x fs-centos-core-5.3/usr/local/sbin/get-credentials.sh
# cat fs-centos-core-5.3/etc/rc.local
touch /var/lock/subsys/local
/usr/local/sbin/get-credentials.sh

【アンマウント】
作業が終了したら、マウントしたファイルシステムをアンマウントします。

# umount fs-centos-core-5.3/proc
# umount fs-centos-core-5.3

次はAMIの登録とインスタンスの起動だ。(Xenも学習しないとやばいなー…)

参考サイト - http://www.diigo.com/user/suz-lab/00000004
--
http://suz-lab.blogspot.com/

0 コメント: