Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

PXEブートでネットワークインストール@RHEL5 or CentOS5

      2013/07/15

最近のPCやサーバーではPXEというネットワークブートを使って、CDやDVDを使わずにOSをインストールすることができます。

もちろんネットワークインストールするためには、 インストールするサーバー以外にすでに動いているサーバーが必要になります。そのため、一台だけインストールする場合はあまり意味がないのですが、複数のサーバーにインストールする場合や、頻繁にインストールする場合などは結構便利になります。

まず、PXEでネットワークインストールするには、もちろんネットワーク環境とDHCPサーバー、tftpサーバー、ファイル配信用サーバー(HTTPやFTPなど)が必要になります。ここではサーバーもRHEL5を使用しているとします。

まずtftpサーバーで、最小限のブートイメージを配信するための設定が必要になります。RHEL5でtftp-serverのRPMがインストールされていれば、/tftpbootというディレクトリがあります。

まずは、tftpサーバーを有効にします。 disable=noにするだけです。

$ vi /etc/xinetd.d/tftp
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

設定を反映するには、xinetdを再起動します。

# /etc/init.d/xinetd restart

/tftpboot/の中はこんな感じです。initrd.imgやpxelinux.0, vmlinuzなどはインストールDVDにありますので、コピーしてきます。

/tftpboot/linux-install:
合計 9168
-r--r--r-- 1 root root 7399936 12月  4 11:03 initrd.img
drwxr-xr-x 2 root root    4096 10月  1 02:22 msgs
-rw-r--r-- 1 root root   13100 12月 20  2005 pxelinux.0
drwxr-xr-x 2 root root    4096 12月  4 11:19 pxelinux.cfg
-r--r--r-- 1 root root 1932316 12月  4 11:03 vmlinuz

/tftpboot/linux-install/msgs:
合計 48
-rw-r--r-- 1 root root 439  4月  7  2008 boot.msg
-rw-r--r-- 1 root root 668  4月  7  2008 expert.msg
-rw-r--r-- 1 root root 871  4月  7  2008 general.msg
-rw-r--r-- 1 root root 860  4月  7  2008 param.msg
-rw-r--r-- 1 root root 530  4月  7  2008 rescue.msg
-rw-r--r-- 1 root root 545  4月  7  2008 snake.msg

/tftpboot/linux-install/pxelinux.cfg:
合計 4
-rw-r--r-- 1 root root 91 12月  4 11:19 default

最後のdefaultはテキストファイルで、自分で書く必要があります。内容はこんな感じです。

default rhel

label rhel
kernel vmlinuz
append load initrd=initrd.img devfs=nomount

次はDHCPです。DHCPサーバーがRPMでインストールされているとして、/etc/dhcpd.confは以下のようにします。基本的に普通のdhcpサーバーの設定にnext-serverという設定とfilenameの設定が必要になります。

ddns-update-style interim;
ignore client-updates;

subnet 192.168.0.0 netmask 255.255.255.0 {
        next-server 192.168.0.2;        #これが必要。HTTPやFTPサーバーのIPを指定する
        option routers                  192.168.0.1;
        option subnet-mask              255.255.255.0;
        option domain-name-servers      192.168.0.1;
        option time-offset              -18000; # Eastern Standard Time
        range dynamic-bootp 192.168.0.200 192.168.0.254;
        default-lease-time 21600;
        max-lease-time 43200;
        filename "/linux-install/pxelinux.0";
}

最後はインストールイメージを配信するサーバー、ここではapacheを使います。

まず、インストールのDVD ISOイメージを用意します。

httpdがrpmでインストールされているとして、デフォルトは/var/www/htmlがWEBサーバーのルートなので、ここに適当なディレクトリを作って、上記のISOイメージをマウントします。ここでは、/var/www/html/rhelにマウントするとします。

# mount  -o loop ISOイメージ名 /var/www/html/rhel

apacheを起動します。

# /etc/init.d/httpd restart

以上で設定は完了です。BIOSでPXEブートができるようにしたマシンをネットワークに繋いで電源を入れると、起動するはずです。インストーラーが立ち上がる前に、インストールイメージの場所を指定する画面が出てきます。HTTPを選択後、上記の設定では、URLに192.168.0.2(サーバーのIP) 、パスに/rhelを入力すればインストーラーが立ち上がります。

 - IT技術, サーバ構築, ネットワーク , ,

336px

Message

メールアドレスが公開されることはありません。

  関連記事

no image
スイッチの初期化 @ Cisco Catalyst 2960

スイッチのパスワードを忘れてしまいログインできなくなった場合は初期化することにな …

no image
ウィンドウが勝手に最大化@Windows 7

Windows 7で、ウィンドウをはしっこに移動したりすると、最大化してしまいす …

no image
日本語入力 ON/OFF キー変更@Fedora 13

今までscim というインプットメソッドがメジャーだったような気がしていたのです …

no image
Transcend Micro SDHC 32GB UHS-I PREMIUM 300x ベンチマーク

Transcend Micro SDHC 32GB UHS-I PREMIUM …

no image
セキュアなWPA-PSK + インフラストラクチャモードでテザリング@Galaxy S with root

Wifiでテザリングするために、Android で root とって、Wirel …

no image
py2exeでpythonをWindowsの実行ファイル形式にする@Windows 7 64bit

python でちょこっと作プログラムを誰かに渡したいとき、相手にpython入 …

no image
光学メディアの書き込み速度

DVDドライブやBlu-rayドライブを買うとき、CD-R 4倍速書き込み、DV …

no image
blu-rayの再生でちらつく@Acer AS 1410 with PowerDVD 10 on Windows 7

Acer AS 1410 で blu-ray を再生してみました。 blu-ra …

no image
OpenOffice 3のインストール@debian系 Linux

OpenOffice 3がリリースされたので、Linuxにインストールしてみまし …

no image
Webベースでマニュアルや仕様書などのドキュメント書き

マニュアルや仕様書などのドキュメントを書くとき、どのようなツールを皆さん使ってい …