自宅サーバー購入に向けて~インストールサーバーを作るの巻

とりあえずCentOSからやってみる

年内には購入予定なので、とりあえず準備から始めよう。USBは付いてるので外付けのドライブをつけてもいいんだけど、その手間を省こうと。
目的があった方が動きやすいしね。
てことで、それくらい別にいいやんっとも思うのですが、せっかくなので作ってみようと思いますw

キックスタートで検索するとRHELが出ることから、これが基本なのかなあと。
予定ではホストOSにはDebianを使う予定なんだけど、初めてやるので情報量が多い方がいいぞなね。

参考サイト
ぱちブログ
キックスタートによるOS自動インストール環境の構築

だいたいは参考サイトの手順通りですが、詰まったところとかもあったので振り返りながら書いていきます。

とりあえずVMwareにCentOSを入れてクリーンな状態で始めました。
必要なものをインストールして、CentOSのイメージをマウントしてコピーしています。

yum install dhcp tftp-server httpd syslinux system-config-kickstart
mkdir /mnt/cdrom
mount -r -t iso9660 /dev/cdrom /mnt/cdrom
.cd /mnt/cdrom/
mkdir /var/www/html/CENTOS62-x86_64
cp -af /mnt/cdrom/* /var/www/html/CENTOS62-x86_64/
cd ../
umount /dev/cdrom

dhcpの設定ファイルを書いてます。ここはまぁ見たままです。

vi /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#   see 'man 5 dhcpd.conf'
#
log-facility local3;
ddns-update-style ad-hoc;
subnet 192.168.24.0 netmask 255.255.255.0 {
range 192.168.24.150 192.168.24.199;
next-server 192.168.24.62;
filename "pxelinux.0";
}

マウントしたISOからコピーしていたvmlinuzとinitrd.imgをコピーしています。

mkdir /var/lib/tftpboot/CENTOS62-x86_64
cp -p /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /var/www/html/CENTOS62-x86_64/isolinux/vmlinuz /var/lib/tftpboot/CENTOS62-x86_64
cp /var/www/html/CENTOS62-x86_64/isolinux/initrd.img /var/lib/tftpboot/CENTOS62-x86_64

ブートするときのファイルを作っています。

mkdir /var/lib/tftpboot/pxelinux.cfg
vi /var/lib/tftpboot/pxelinux.cfg/default
prompt 1
default cent6

label cent6
kernel /CENTOS62-x86_64/vmlinuz
append initrd=/CENTOS62-x86_64/initrd.img ks=http://192.168.24.62/ks/ks.cfg

次にキックスタートのks.cfgを作成しますが、参考サイトにあるようにsystem-config-kickstartを使いましたがこれを使うにはxが必要なので、Gnomeを入れました。
あとからXを入れるのは全然やったことなかったので苦労しましたが、これだけ入れたら問題なかった。

yum groupinstall "X Window System"
yum groupinstall "汎用デスクトップ(GNOMEデスクトップ)"
yum -y groupinstall "Japanese Support" 
yum install gdm
yum groupinstall "デスクトップ"

kick02

コンソールを起動してsystem-config-kickstartでGUIが起動するので、そのまま希望の設定でコンフィグを作成しました。

kick01

あとからXを入れるのはちょっと面倒です。
/root/anaconda-ks.cfgっていうホストOSの設定のままのksファイルがあるのでそれを使ってもいいと思います。

cp /root/ks.cfg /var/www/html/ks/ks.cfg
もしくは
cp /root/anaconda-ks.cfg /var/www/html/ks/ks.cfg

参考サイトのようにks.cfgを何個かにして選択にすることも可能なようです。
詳しいとこは参考サイトを確認ください

vi /var/lib/tftpboot/boot.msg

あとはxinetdとdhcpdをスタートかリスタートします。ずっと作業してたならいっそrebootでもいいかもね。
デーモンが動かないときはcat /var/log/messagesでエラー内容を見ます。

そしてVMwareで空のものを立ち上げると、PXEブートでインストールサーバーへtftpを読みに行きます。
ここからは画像で。

何回も失敗しましたw うまく設定ができてないとこんな風になります。

kick03

次は成功例です。小さな感動。

kick05

bootのとこでエンターを押すとvmlinuzとinitrd.imzが読まれてインストラーがたちあがります。立ち上がったら設定はほとんど出来上がっているのでサクサク進みます。
全部が自動にはなっていなかったので、まだ改善と調査の余地がありました。
ひとまずインストールサーバーからのインストールは完了してログインしたところ。

kick06

ちゃんとできていますね、rootのパスワードとかも設定したものになっていました。
ネットワークの設定も可能だし、スクリプトを使っていろいろとできます。
このへんはOpenstackでもできるみたいだし、いろんなとこで使えそうなので、いじくってて損はないと思いました。

ふんふん。とりあえず試作のインストールサーバーは出来上がりました。
自宅サーバーはもちろん物理サーバーですけど、ネットワーク内なのでこっちは仮想でも問題ないでしょう。
パーティションを切って、Windows機に入れようかなあとかもちょっとだけ考えたんですけど、やっぱり別にサーバーがあった方がいいので、予定通り進めようと思います。

次はDebianでできるか試してみようと思います。

 

Related Posts


投稿者: Takeken

インターネット利用者のITリテラシーを向上したいという設定の2次元キャラです。 サーバー弄りからプログラミングまで手を付けた自称エッセイストなたけけんの物語。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です