orenoblog

エンジニアになりたいExcel方眼紙erの物語

PXEブートのメモ

ここ1年ぐらいLinuxをメインに使っているので、
覚えることが色々あるので、メモを残しますよ。

PXEブートのMemo

今回のメモで使ったOSはOracle Enterprise Linux 5(x86_64)
dhcpパラメータが1行抜けてただけで30分以上はまったorz..

サーバ構成
dns/dhcp/nfsサーバIPアドレス:10.1.0.253/24
デフォゲ:10.1.0.254
DHCP割当範囲:10.1.0.128-10.1.0.192/24


以下手順

(1)tftpサーバのインストール&設定
yum -y tftp-server tftp
vi /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -c -u root -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}

service xinetd restart
(2)ブータローダの準備
ブータ用ディレクトリの作成
mkdir /tftpboot/OracleEnterpriseLinux5_x86_64
mkdir /tftpboot/OracleEnterpriseLinux5_x86_64/pxelinux.cfg
OracleEnterpriseLinuxのDVD-ROMイメージをマウント
mount -o loop /mnt/iso/OracleEnterpriseLinux5.5_x86_64.iso /tmp/hoge
vmlinuzとinitrd.imgのコピー
cd /tmp/hoge/images/pxeboot
cp -p vmlinuz initrd.img /tftpboot/OracleEnterpriseLinux5_x86_64
(3)pxelinux.0の取得
pxelinux.0はメディア内に見つからなかったので、
稼動中のOracleEnterpriseLinuxサーバ(10.1.0.50)から取得した。
恐らくCentやRHELのでもいいんじゃないかとおもわれ。
scp 10.1.0.50:/tftpboot/linux-install/pxelinux.0 /tftpboot/OracleEnterpriseLinux5_x86_64
(4)pxelinux.cfg以下にブータファイルの作成
cd /tftpboot/OracleEnterpriseLinux5_x86_64/pxelinux.cfg
PXEブータはMACアドレス,IPアドレス,ネットワークアドレス,defaultの順でブータローダ定義ファイルの読み込みを行う。
インストール対象のサーバに接続されているNICのMACアドレスを記述するか、
DHCPで割当てられる予定のIPアドレスを16進数で表したファイル名を作っておく必要がある。
今回のDHCPサーバは10.1.0.192-10.1.0.128を割当てるので、
ファイル名を0A0100C0として作成する
vi 0A0100C0
default OracleEnterpriseLinux5

label OracleEnterpriseLinux5_x86_64
prompt 1
timeout 100
kernel vminuz
append load initrd=initrd.img devfs=nomoun

(5)dhcpdのインストール&セットアップ
yum -y dhcpd
vi /etc/dhcpd.conf
# My Network
# modified by bu-ta
ddns-update-style interim;
ignore client-updates;

subnet 10.1.0.0 netmask 255.255.255.0 {
option routers 10.1.0.254;
option subnet-mask 255.255.255.0;

option domain-name-servers 10.1.0.253;
option time-offset -18000; # Eastern Standard Time
filename "/OracleEnterpriseLinux5_x86_64/pxelinux.0";
next-server 10.1.0.253;
change this unless

range dynamic-bootp 10.1.0.128 10.1.0.192;
default-lease-time 21600;
max-lease-time 43200;
}

(6)NFSインストールディレクトリの設定
/mnt/iso/OracleEnterpriseLinux5.5_x86_64.iso イメージファイルをNFSから読み込めるように設定する
yum install -y nfs-utils install
vi /etc/exports
/mnt/iso/ 10.1.0.0/255.255.255.0(ro)

(7)デーモン自動起動設定&リブータ
chkconfig dhcpd on
chkconfig nfs on
reboot

(8)PXEブータインストールを行うサーバの起動

うまくブータできてインストーラが起動し、NFSサーバからインストールイメージを読み込めればおk