cobblerトップへ戻る

cobblerサーバの作り方(CentOS5/Cobbler-0.6.4-2編)

概要

以前にブログで構築手順をまとめたのだけど、その時のcobblerのバージョンが古かった(0.5.0)のと、やっていくうちに構築手順を見直したくなったのでここでもう一度まとめておきます。

環境

テスト環境
CentOS5 テスト用最小インストール手順参照。
ネットワーク構成
こんな環境を想定しています。ブログのものと同じ。
ポリシーも同じ。
  • ネットワークインストールに必要なもの(DHCP、TFTP、インストーライメージ・キックスタートファイル・OSのCD/DVDのツリー)は、全て Cobbler サーバが担当する。
  • ネットワークインストールで提供する OS は、CentOS5、Fedora 7 の二つとする。
  • インストール対象の各サーバは用途を分ける。用途の違うのでもちろんパッケージ構成が異なる。
業務で使うことを踏まえて、
  • OSは一つに統一するところが多いかなという気もするけど、Cobbler で管理できるという点を確かめる為に CentOS5と Fedora 7 の二つを用意。
  • 同じOSのサーバでも用途が違えばパッケージ構成とか設定も変わるだろうということで、ここも二つのパターンを用意。
あたりも考慮しています。

手順

DNS の設定

DNSは必須ではないけれど設定しておいた方がよい。DNSはcobblerサーバ内に立ててもいいし別サーバでもいい。

細かい設定方法はここでは省略して以下のように設定する。

IPアドレスホスト名
192.168.0.254cobbler.example.com
192.168.0.101www.example.com
192.168.0.102db.example.com
192.168.0.103test.example.com

EPELの有効化

cobblerのパッケージはEPELのepel-testingレポジトリで最新のバージョンが提供されているのでこれをyumで使えるようにする。EPELのサイトで配布されているRPMパッケージをインストールする。

# wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm
# rpm -ivh epel-release-5-2.noarch.rpm

上記パッケージをインストールすると、/etc/yum.repos.d配下に epel と epel-testing の二つのレポジトリ設定ファイルが作成される。このうち、epelについては標準で有効になっている。cobblerで使うのはepel-testingだし、epelとCentOS5の標準パッケージで整合性がおかしくなることもなさそうなので問題ないと思うのだけど、念のため epel は無効にしておく。必要なときだけ有効にする感じで。

# vi /etc/yum.repos.d/epel.repo
[epel]
・・・
enabled=0
・・・

[epel-debuginfo]
・・・

以前はDAGレポジトリを使っていたけど、DAGのcobblerはバージョンが古いのと、EPEL-testingのものはcobbler公式だし最新なのでこっちのほうが良いということで。

cobbler のインストール

ではyumでcobblerをインストールする。cobblerが必要とする主なパッケージは以下。

  • python

cobblerはpythonで書かれているので必須。

  • python-devel

python開発環境。なんで必要なのかは不明。

  • python-cheetah

pythonのテンプレートシステム。cobblerにはキックスタートファイルのテンプレート機能があり、python-cheetahを使って実現している。

  • httpd

ネットワークインストール時の各種ファイル(インストールツリーやキックスタートファイル)の配布、レポジトリデータ、あとWebでの管理画面などで使用。

  • mod_python

pythonのapacheモジュール。

  • createrepo

cobblerはレポジトリの管理機能も持っている。レポジトリの作成に使用。

  • yum-utils

yum関連のユーティリティ。

  • tftp-server

PXEブートでインストーライメージを配布する。xinetd経由なのでxinetdも併せてインストールされる。

これらのパッケージが依存するパッケージももちろん依存関係が解決されてインストールされる。あと、一応cobblerではオプション扱いとなっているので依存関係にはないのだけど、dhcpも併せてインストールしておいた方がよい。

ということで以下のコマンドで必要なパッケージが全てインストールされる。

# yum install --enablerepo=epel,epel-testing cobbler dhcp

ちなみに少し補足しておくと、cobblerが依存しているpython-cheetahはepelに存在するのでepelも有効にしている。

cobbler の基本設定

cobblerをインストールしたら、まず以下のコマンドを実行する。

# cobbler check

cobbler checkコマンドは、既存のcobblerの設定・環境をチェックして問題があれば指摘してくれる。私の環境だと以下のようなメッセージが出た。

The following potential problems were detected:
#0: The 'server' field in /var/lib/cobbler/settings must be set to something other than localhost, or kickstarting features will not work.  This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it.
#1: For PXE to be functional, the 'next_server' field in /var/lib/cobbler/settings must be set to something other than 127.0.0.1, and should match the IP of the boot server on the PXE network.
#2: service cobblerd is not running
#3: change 'disable' to 'no' in /etc/xinetd.d/tftp
#4: service httpd is not running

訳すとこんな感じ。

#0: /var/lib/cobbler/settings の 'server'フィールドにはlocalhost 以外の値が指定されなければ、キックスタート機能は動作しない。ここには、全てのマシンブートサーバのホスト名(DNSで解決できること)かIPアドレスを指定し、全てのインストール対象サーバがアクセスできるものでなくてはいけない。
#1: PXEを使用する場合は、/var/lib/cobbler/settings の 'next_server'フィールドに127.0.0.1以外の値が指定されており、かつ、PXEネットワーク上のブートサーバのIPが指定されている必要がある。
#2: cobblerdがデーモンとして動いていない。
#3: /etc/xinetd.d/tftp の 'disable'を'no'に変更する。
#4: httpdがデーモンとして動いていない。

これらをひとつずつ修正していく。

/var/lib/cobbler/settingsの編集

#0: /var/lib/cobbler/settings の 'server'フィールドにはlocalhost 以外の値が指定されなければ、キックスタート機能は動作しない。ここにはブートサーバのホスト名(DNSで解決できること)かIPアドレスを指定し、全てのインストール対象サーバがアクセスできるものでなくてはいけない。
#1: PXEを使用する場合は、/var/lib/cobbler/settings の 'next_server'フィールドに127.0.0.1以外の値が指定されており、かつ、PXEネットワーク上のブートサーバのIPが指定されている必要がある。

cobblerの基本的な設定ファイルは/var/lib/cobbler/settingsで、まずこれを上記のメッセージに従って修正する。

# vi /var/lib/cobbler/settings

変更箇所は以下。

next_server: '192.168.0.254'
server: '192.168.0.254'

'next_server'はpxe用のイメージを配布するtftpサーバのIP、'server'はキックスタートファイル/インストールツリーを配布するHTTPサーバのホスト名/IP、ということなので、基本的には両方ともcobblerサーバのIPを指定すればよい。

あと、設定しておいた方が良い項目が三つあるのでここであわせて設定しておく。

  • manage_dhcp

cobblerにはDHCPとの連携機能があり、cobblerの設定内容をDHCPにも反映させることができる。例えば、特定のMACアドレスに対して特定のIPアドレスを配布、さらに特定の内容でPXEインストールを行う、といった感じ。まあ、PXEを使う場合は最低限のDHCP設定は必須なので、DHCPサーバが既に別の場所に存在しない限りは、'1' にしておく。(DHCPサーバが既に存在している場合はちょっと工夫が必要) DHCP連携機能を有効にした場合は、dhcp.confのテンプレートを修正する。

# vi /etc/cobbler/dhcp.template

設定はdhcp.confとほとんど同じ。各自のネットワーク設定に併せて変更する。

・・・
subnet 192.168.0.0 netmask 255.255.255.0 {
     option routers          192.168.0.1;
     option subnet-mask      255.255.255.0;
     option domain-name          "example.com";
     option domain-name-servers  192.168.0.254;
     range dynamic-bootp     192.168.0.101 192.168.1.110;
     ・・・
}
・・・
  • pxe_just_once

PXEブートによるネットワークインストールの場合、以下のようなループが発生する。

PXEでブート。
  ↓
インストール開始。
  ↓
インストール終了。自動で再起動。
  ↓
PXEでブート。
  ↓
再びインストールが開始、、、

PXEの場合、どこかで止めないとこのように延々とインストールがループしてしまう。かといって人が付きっきりでそれを止めるというのもバカらしい。
この時に、'pxe_just_once' に '1' を指定しておくとインストールが終わった時にcobblerサーバに終了が通知され再起動後のPXEでインストーライメージを配布しないように設定することができる。つまりインストールが終わったらループが繰り返されることなく、ちゃんとインストールしたOSでサーバが起動するようになる。1

  • yum_post_install_mirror

CentOS/Fedoraなどでは、OSのインストール後のパッケージ管理にはyumが使用され、通常yumの参照先は外部のミラーサーバが設定される。
詳細は後述するのだけど、cobblerサーバはCD/DVD内のパッケージをまるまる管理するレポジトリサーバとして動作させることができるので、外部を参照するよりもcobblerサーバをyumのミラーとして参照するほうがネットワークの帯域的にもやさしい。
'yum_post_install_mirror' を '1' に設定すると、インストール対象サーバのBASEレポジトリの参照先がcobblerサーバとなるように、インストール対象サーバのyumの設定を行ってくれる。

これらも踏まえた最終的な/var/lib/cobbler/settingsの変更内容は以下となる。

manage_dhcp: 1
next_server: '192.168.0.254'
server: '192.168.0.254'
pxe_just_once: 1
yum_post_install_mirror: 1

cobblerdの起動

#2: cobblerdがデーモンとして動いていない。

cobblerdを起動。併せて自動起動するように設定しておく。

# service cobblerd start
# chkconfig cobblerd on

tftpの起動

#3: /etc/xinetd.d/tftp の 'disable'を'no'に変更する。

tftpはxinetd経由で起動するので、tftp、xinetdを自動起動するように設定して、xinetdを起動する。

# chkconfig tftp on
# chkconfig xinetd on
# service xinetd start

httpdの起動

#4: httpdがデーモンとして動いていない。

httpdを起動。自動起動設定も併せて行うこと。

# chkconfig httpd on
# service httpd start

設定の反映

一通り設定が終わったので再度cobbler checkしてみる。

The following potential problems were detected:
#0: service dhcpd is not running

最初と違うエラーが出てきたけど、これはDHCP管理機能を有効にしたから。ということでdhcpdも起動しないといけないのだけど、

# service dhcpd start
dhcpd を起動中:                                            [失敗]

となって起動できない。なんでかというと、この時点でのdhcpd.confの中身はdhcpdインストール直後の中身に何の設定もないファイルのままで、それが原因でエラーとなっているわけ。

じゃ先ほど設定した/etc/cobbler/dhcp.templateはどうなるのかというと、cobblerのDHCP連携は "cobbler sync" というcobblerの設定を各種ファイルに反映させるコマンドを実行した時に/etc/dhcpd.confに反映されるようになっている。なのでここで一旦 "cobbler sync" を実施する。

# cobbler sync
[root@cobbler ~]# cobbler sync
dhcpd を停止中:                                            [失敗]
dhcpd を起動中:                                            [  OK  ]

一応念のため、/etc/dhcpd.confを見てみると

・・・
subnet 192.168.0.0 netmask 255.255.255.0 {
     option routers          192.168.0.1;
     option subnet-mask      255.255.255.0;
     range dynamic-bootp     192.168.0.100 192.168.0.110;
     filename                "/pxelinux.0";
     default-lease-time      21600;
     max-lease-time          43200;
     next-server             192.168.0.254;
}

ちゃんとテンプレートの内容が反映されている。まだcobblerの設定みたいなのはほとんどないのだけど(インストールしただけだから当たり前)、それは これからcobblerの設定を追加して都度 "cobbler sync" を実施していけば追加されます。

じゃ"cobbler sync"した上で再度"cobbler check"してみる。

# cobbler check
No setup problems found
Manual review and editing of /var/lib/cobbler/settings is recommended to tailor cobbler to your particular configuration.
Good luck.

問題なし。これで基本設定は完了。

再起動

ここまで確認できたら一旦再起動してちゃんと各デーモンが自動起動するのを確認しておく。

# shutdown -r now 

運用情報の登録

では実際にネットワークインストールに必要な情報をこれから登録していく。ネットワークインストールに必要な情報というのは、

  • どのOSをインストールする?
  • どんな設定でOSをインストールする?
  • どのサーバにOSをインストールする?

ということ。でCobbler では上記の各項目をそれぞれ

  • ディストリビューション(distro)
  • プロファイル(profile)
  • システム(system)

と呼んでおり、これらをそれぞれ登録して組み合わせることで、ネットワークインストールサーバとしての管理・運用を行う。

で上記の3項目の関係は階層構造になっていて、今回の前提条件を踏まえて図で表すとこんな感じになる。

というわけでこれに基づいて考えると、各項目の登録手順は以下となる。

  • ディストリビューションを登録。
  • 登録したディストリビューションにひもづいたプロファイルを登録。
  • 登録したプロファイルにひもづいたシステムを登録。

で本来はこの手順に従って進めるのが普通なのだけど、A Quickstart Guide on Using “import”に従って、"cobbler import" コマンドを使って手数を減らすやり方で進めます。

ディストリビューションのインポート

上に書いたように、本来の手順では、ディストリビューション、プロファイル、システムをそれぞれ登録していくのだけど、 実はこれ以外にもやらないといけないことがある。

  • ディストリビューションの登録とそれに伴うインストーライメージの配置。
  • ディストリビューションにヒモづいたプロファイルの登録とそれに伴うキックスタートファイルの作成。
  • インストールCD/DVDのミラー化

を一つづつやっていかないと行けないのだけど、cobbler import コマンドを使うと、これらをある程度一括でやってくれる。

# cobbler import  --mirror=インストールツリーのパス --name=ディストリビューション名

--name には ディストリビューションを識別する為の一意の名前を指定する。--mirror には、OSのインストールCD/DVDのツリー構造のパスをセットするCD/DVDをマウントしてそのパスをセットすればOK。

CentOS5 で試してみる。登録には結構時間がかかるので注意。

# mount /dev/cdrom /mnt/cdrom ※CentOS5 のインストールCD/DVDをセットしておくこと。
# cobbler import  --mirror=/mnt/cdrom --name=centos5
# umount /mnt/cdrom

同じようにFedora7もimportする。ちなみに--mirrorはインターネット上のミラーサーバのパスも指定できるのでこっちを試してみる。

# cobbler import  --mirror=rsync://ftp.jaist.ac.jp/pub/Linux/Fedora/releases/7/Fedora/i386/os/ --name=fedora7

ミラーとはいってもrsyncだけっぽい。rsyncは公開されていないこともあるので注意。あと、やっぱりネットワークで全部持ってくるのは時間がかかりすぎ。vineみたいな小さなディストリビューションならいいんだろうけど、そうでなければメディア使ったほうが早いです。

登録ができたら、cobbler report コマンドで登録内容を確認することが出来る。

# cobbler report
distro          : centos5-i386
kernel          : /var/www/cobbler/ks_mirror/centos5/images/pxeboot/vmlinuz
initrd          : /var/www/cobbler/ks_mirror/centos5/images/pxeboot/initrd.img
kernel options  : {}
architecture    : x86
ks metadata     : {'tree': 'http://@@server@@/cblr/links/centos5-i386'}
breed           : redhat

distro          : centos5-xen-i386
kernel          : /var/www/cobbler/ks_mirror/centos5/images/xen/vmlinuz
initrd          : /var/www/cobbler/ks_mirror/centos5/images/xen/initrd.img
kernel options  : {}
architecture    : x86
ks metadata     : {'tree': 'http://@@server@@/cblr/links/centos5-xen-i386'}
breed           : redhat

distro          : fedora7-i386
kernel          : /var/www/cobbler/ks_mirror/fedora7/images/pxeboot/vmlinuz
initrd          : /var/www/cobbler/ks_mirror/fedora7/images/pxeboot/initrd.img
kernel options  : {}
architecture    : x86
ks metadata     : {'tree': 'http://@@server@@/cblr/links/fedora7-i386'}
breed           : redhat

distro          : fedora7-xen-i386
kernel          : /var/www/cobbler/ks_mirror/fedora7/images/xen/vmlinuz
initrd          : /var/www/cobbler/ks_mirror/fedora7/images/xen/initrd.img
kernel options  : {}
architecture    : x86
ks metadata     : {'tree': 'http://@@server@@/cblr/links/fedora7-xen-i386'}
breed           : redhat

profile         : centos5-i386
distro          : centos5-i386
kickstart       : /etc/cobbler/kickstart_fc6.ks
kernel options  : {}
ks metadata     : {}
virt file size  : 5
virt ram        : 512
virt type       : auto
virt path       : 
virt bridge     : xenbr0
virt cpus       : 1
repos           : []
dhcp tag        : default
server          : <<inherit>>

profile         : centos5-xen-i386
distro          : centos5-xen-i386
kickstart       : /etc/cobbler/kickstart_fc6.ks
kernel options  : {}
ks metadata     : {}
virt file size  : 5
virt ram        : 512
virt type       : auto
virt path       : 
virt bridge     : xenbr0
virt cpus       : 1
repos           : []
dhcp tag        : default
server          : <<inherit>>

profile         : fedora7-i386
distro          : fedora7-i386
kickstart       : /etc/cobbler/kickstart_fc6.ks
kernel options  : {}
ks metadata     : {}
virt file size  : 5
virt ram        : 512
virt type       : auto
virt path       : 
virt bridge     : xenbr0
virt cpus       : 1
repos           : []
dhcp tag        : default
server          : <<inherit>>

profile         : fedora7-xen-i386
distro          : fedora7-xen-i386
kickstart       : /etc/cobbler/kickstart_fc6.ks
kernel options  : {}
ks metadata     : {}
virt file size  : 5
virt ram        : 512
virt type       : auto
virt path       : 
virt bridge     : xenbr0
virt cpus       : 1
repos           : []
dhcp tag        : default
server          : <<inherit>>

最初の4つのブロックがディストリビューションで下の4つのブロックがプロファイル。それぞれ1ディストリビューションにつき、二つずつ登録されている。個別に見てみる。

まず、ディストリビューション。名前(distro)から推測すると、通常のi386用とxenの仮想OS環境におけるi386用のものと思われるエントリが登録されている。つまり、cobblerでは仮想OS環境もサポートされているということ。仮想OSはこれからのサーバ運用・管理で重要になってくるとは思うけど、ここではとりあえずスルー。cobbler import コマンドでディストリビューションが登録される場合はこういう風に登録されるということだけ覚えておくとする。ということで実際に使うのは i386用の方だけとします。i386の部分だけ抜き出したのが下。

distro          : centos5-i386
kernel          : /var/www/cobbler/ks_mirror/centos5/images/pxeboot/vmlinuz
initrd          : /var/www/cobbler/ks_mirror/centos5/images/pxeboot/initrd.img
kernel options  : {}
architecture    : x86
ks metadata     : {'tree': 'http://@@server@@/cblr/links/centos5-i386'}
breed           : redhat

distro          : fedora7-i386
kernel          : /var/www/cobbler/ks_mirror/fedora7/images/pxeboot/vmlinuz
initrd          : /var/www/cobbler/ks_mirror/fedora7/images/pxeboot/initrd.img
kernel options  : {}
architecture    : x86
ks metadata     : {'tree': 'http://@@server@@/cblr/links/fedora7-i386'}
breed           : redhat

ディストリビューションに登録されている情報を見てみると、“kernel”、“initrd”、“ks metadata” という項目があり、それぞれ、ネットブートに必要なカーネルイメージ、initrdイメージのパス、インストールツリーのミラーへのパスが設定済みになっている。もちろん、そのパスには実際のファイルがインストールCD/DVDから所定の位置にコピーされている。もしかすると気づいた人もいるかもしれないけど、インストールツリーがhttpで配布されるのはいいとして、カーネルイメージとinitrdイメージがこのパスで良いのか?という疑問がある。普通 pxeboot の場合、これらのイメージファイルはtftpで配布されるはず。/var/www って普通 apache の公開ディレクトリだし。でも心配無用。ちゃんと /tftpboot 配下にもイメージはコピーされます。

次にプロファイル。プロファイルはディストリビューションにヒモづけられるものなので、登録された二つのディストリビューションにそれぞれのプロファイルが一つづつ、合計二つ登録されるというわけ。ただし、ディストリビューションのうち一つは xen用 なのでこちらもスルー。i386のディストリビューションにヒモづけられたプロファイルだけを抜粋。

profile         : centos5-i386
distro          : centos5-i386
kickstart       : /etc/cobbler/kickstart_fc6.ks
kernel options  : {}
ks metadata     : {}
virt file size  : 5
virt ram        : 512
virt type       : auto
virt path       : 
virt bridge     : xenbr0
virt cpus       : 1
repos           : []
dhcp tag        : default
server          : <<inherit>>

profile         : fedora7-i386
distro          : fedora7-i386
kickstart       : /etc/cobbler/kickstart_fc6.ks
kernel options  : {}
ks metadata     : {}
virt file size  : 5
virt ram        : 512
virt type       : auto
virt path       : 
virt bridge     : xenbr0
virt cpus       : 1
repos           : []
dhcp tag        : default
server          : <<inherit>>

プロファイルに登録されている情報を見てみると、“distro” で ヒモづけられたディストリビューションが指定され、“kickstart” で プロファイルにヒモづけられたキックスタートファイルへのパスが設定されている。もちろん、ファイルも予めちゃんと用意されている。ファイル名から推測するに CentOS 5 の場合は Fedora Core 6 用のものがそのまま使われてるみたい。元々 CentOS5 は RHEL 5がベースで、RHEL5 は Fedora Core 6 がベースなのでこの辺は納得。

ちょっと補足。本来プロファイルを登録する場合は 予めキックスタートファイルを自分で用意した上で cobbler profile add コマンドを実行するのが普通。だけど、上記を見ればわかるように、cobbler では予めディストリビューションごとにキックスタートファイルのテンプレートが用意されていて、cobbler import コマンドを使った場合はそれが自動的に設定される。やっぱり1から作るよりは既にあるものを使うほうが便利だし、もちろんそれをカスタマイズすることも可能。

で肝心の中身はこんな感じ。

#platform=x86, AMD64, or Intel EM64T
# System authorization information
auth  --useshadow  --enablemd5
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all --initlabel
# Use text mode install
text
# Firewall configuration
firewall --enabled
# Run the Setup Agent on first boot
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# Use network installation
url --url=$tree
# If any cobbler repo definitions were referenced in the kickstart profile, include them here.
$yum_repo_stanza
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# Reboot after installation
reboot

#Root password
rootpw --iscrypted \$1\$mF86/UHC\$WvcIcX2t6crBz2onWxyac.
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# System timezone
timezone  America/New_York
# Install OS instead of upgrade
install
# Clear the Master Boot Record
zerombr

# Magically figure out how to partition this thing
SNIPPET::partition_select

%packages

%post
$yum_config_stanza
$kickstart_done

%preセクションはちょっと無視して、ところどころに”$〜”のような変数っぽい表記がある。これがテンプレート変数的なもので、登録した内容によって自動的に置き換えられる。例えば、

# Use network installation
url --url=$tree

のところの $tree 。キックスタートファイル上の “url” という項目はネットワークインストール時のインストールツリーを提供するNFSやHTTPのパスが入るところなんだけど、さっきディストリビューションの登録情報を説明した時に “ks metadata” でインストールツリーが指定されていると言ったのを思い出してほしい。

ks metadata     : {'tree': 'http://@@server@@/cblr/links/centos5-i386'}

つまりここがテンプレート変数の指定なわけで、”tree” というキーに “http://〜…” という値が指定されている意味になり、実際のインストール時にキックスタートファイルが配布される時は置き換えられる。さらに上記で@@〜@@で記載されている部分はcobbler内部のテンプレート変数で、/var/lib/cobbler/settings に記載されている "server" というキーの値に置き換えられる。最終的に配布されるキックスタートファイルには、

# Use network installation
url --url=http://192.168.0.254/cblr/links/centos5-i386

という形で展開されるというわけ。で、この “ks metadata” は、ディストリビューション、プロファイル、システムのそれぞれに指定することが出来るので、それぞれを登録する際に固有となる情報をうまく指定することで、細かく設定することができる。この辺ちょっと言葉では説明がしにくいので実際にこれを踏まえた設定をこの後使うということで先に進めます。

でとりあえずディストリビューション・プロファイルは登録できているので、次はシステムの登録となるわけだけど、とりあえず今のままでも最低限のネットワークインストール環境は実はできているのでちょこっと試してみたいと思います。

pxeブートメニュー

インストールしたいサーバをPXEブートするようにBIOS側を設定して起動する。ちなみにテストではparallelsを使ってネットワークブートさせてみます(parallelsでpxe を参照)。

起動するとこんな画面になる。

bootプロンプトが表示されるので、ここで"menu"と入力してみる。

キックスタートファイルの内容に戻ると、とりあえず最低限の設定は出来ているみたいだけど、

別にこれでもいいんだけど、ちょっと気に食わないところがあるので修正。

  • 言語・キーボード・タイムゾーンが US になっている。
  • ネットワーク設定が DHCP になっている。ネットワーク設定はローカルに固定で設定して持たせておきたい。
  • root のパスワードが "cobbler" に指定されている。
  • ファイアウォールが有効になっている。とりあえず無効にしておきたい(インストール後に設定すれば良い。)
  • ディスクの構成(本数とサイズ)をチェックして、その結果に基づいてパーティション構成を組むようだけど、ここはある程度決めうちしたい。

ということで、既存のプロファイルは触らずにこの辺をちょこっと修正したキックスタートファイルを用意して新たなプロファイルを登録する。まず CentOS5 のWebサーバ 用キックスタートファイル。

作者

Kuniaki Shimizu <kunkichi at gmail.com>



  1. 1. PXEでインストーライメージが配布されない場合は、インストールサーバのマザーボード設定にある起動デバイスの順序で、次に指定してあるデバイスでブートしようとする。通常はローカルHDDからのブートとなる。

添付ファイル