とりあえず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 "デスクトップ"
コンソールを起動してsystem-config-kickstartでGUIが起動するので、そのまま希望の設定でコンフィグを作成しました。
あとから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 うまく設定ができてないとこんな風になります。
次は成功例です。小さな感動。
bootのとこでエンターを押すとvmlinuzとinitrd.imzが読まれてインストラーがたちあがります。立ち上がったら設定はほとんど出来上がっているのでサクサク進みます。
全部が自動にはなっていなかったので、まだ改善と調査の余地がありました。
ひとまずインストールサーバーからのインストールは完了してログインしたところ。
ちゃんとできていますね、rootのパスワードとかも設定したものになっていました。
ネットワークの設定も可能だし、スクリプトを使っていろいろとできます。
このへんはOpenstackでもできるみたいだし、いろんなとこで使えそうなので、いじくってて損はないと思いました。
ふんふん。とりあえず試作のインストールサーバーは出来上がりました。
自宅サーバーはもちろん物理サーバーですけど、ネットワーク内なのでこっちは仮想でも問題ないでしょう。
パーティションを切って、Windows機に入れようかなあとかもちょっとだけ考えたんですけど、やっぱり別にサーバーがあった方がいいので、予定通り進めようと思います。
次はDebianでできるか試してみようと思います。