PXE+DHCP+Apache+Kickstart無人でCentOS 5をインストールする.5

10741 ワード

1、原理
1)まず、linuxをインストールするシステムの起動手順を理解します.
BIOS=>ブートメディア=>インストール環境用linuxカーネル(vmlinuz)およびドライバモジュール(initrd.img)=>インストーラ(ananonda)=>インストールメディアの検索=>インストーラによるインストールメディアから必要なインストールファイルの取得=>インストール構成の完了(一般構成、IPTABLES、SELinux)=>再起動=>システムへのアクセス
ここで、ガイド媒体は、CDROM、Hard Disk、Uディスク、NIC(通称NIC)を含む
 
ここでは、NICをブートメディアとしてlinuxをインストールする方法に重点を置きます.
 
2)NICからブートとしてlinuxをインストールする方法
NICがアンブートメディアとして機能するには、Preboot Execution Environment(プリスタート実行環境)というモジュール、略称PXEが必要です.(参考:http://zh.wikipedia.org/wiki/実行環境の事前起動)
 
PXEの機能は,IP,TCP,UDP,TFT Pなどのプロトコルでリモートサーバに接続する.PXEファームウェア上で事前に定義されたAPIを実行します.
ここで重要なのは、PXEモジュールをインストールサーバに接続する方法です.
 
ネットワークに接続するには、まずIPが必要です.しかし、NICのPXEモジュールは、ユーザに静的IPをカスタマイズさせる機能はなく、DHCPプロトコルでしかIPを取得できない.そこで、私たちのインストール環境にDHCPサービスを提供できるサーバーが必要です.
 
PXEモジュールをサーバーにインストールした後、インストール用のプログラム(vmlinuz、initrd.imgなど)をインストール対象機器に転送する必要があります.TFT Pプロトコルを選択します.
 
以上の条件を満たすと、インストール対象のマシンでインストールプログラムを起動できます.
 
3)kickstartとは?
Kickstartは無人のインストール方式です.主にRed HatシリーズおよびRed Hatのリリース・バージョンに基づく自動インストール・ツール・セット(http://en.wikipedia.org/wiki/Kickstart_(Linux))に使用されます.
その動作原理は、インストール中に典型的に人工的に記入する必要がある各種パラメータを記録し、ksという名前を生成することである.cfgのファイル.
表示/root/anaconda-ks.cfgファイル、このファイルはlinuxをインストールした後、インストーラが残したネイティブ構成に基づくkickstartインストールスクリプトです.
System-config-kickstartこれはkickstartの構成ツールです
4)PXE+KickStartインストールを実行するために必要な設備は以下の通りである.
1.DHCPサーバ2、TFT Pサーバ3、KickStartが生成するks.cfgプロファイル4、NFS、HTTPまたはFTPサーバ(ここではHTTPサーバを使用)5、PXEサポートNIC付きホスト
2、操作
1)CDをインストールサーバーに掛ける
 
[root@host /]# mount /dev/cdrom /mnt

 
2)HTTPサーバーをインストールし、ディスクの内容をサイトディレクトリにコピーする
[root@host /]# yum -y install httpd*

[root@host /]# cp -rf /mnt/* /var/www/html

3)tftp-serverをインストールし、tftpサービスを有効にし、xinetdプロセスを開始する
 
[root@host /]# rpm -ivh tftp-server-0.49-2.el5.centos.x86_64.rpm
#
xinetd [root@host /]# vim /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 # disable yes no per_source = 11 cps = 100 2 flags = IPv4 } # xinetd [root@host /]# service xinetd restart

4)PXEイニシエータの構成
 
# tftpboot 

[root@host /]# mkdir -p /tftpboot

# pxelinux.0  tftpboot 

[root@host /]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

# images/pxeboot/initrd.img  vmlinuz  tftpboot 

[root@host /]# cp /mnt/images/pxeboot/initrd.img  /tftpboot/

[root@host /]# cp /mnt/images/pxeboot/vmlinuz  /tftpboot/

# isolinux/*.msg tftpboot 

[root@host /]# cp /mnt/isolinux/*.msg /tftpboot/

# tftpboot pxelinux.cfg 

[root@host /]# mkdir pxelinux.cfg

# isolinux isolinux.cfg pxelinux.cfg , default

[root@host /]# cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

 
5)DHCPサーバーのインストール
 
# DHCP 

[root@host /]# rpm -ivh /mnt/CentOS/dhcp-3.0.5-23.el5.x86_64.rpm

[root@host /]# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf

# 

[root@host /]# vim /etc/dhcpd.conf

ddns-update-style interim;

ignore client-updates;

next-server 192.168.1.109;#PXE IP 

filename "/pxelinux.0";

subnet 192.168.1.0 netmask 255.255.255.0 {



# --- default gateway

        option routers                  192.168.1.1;

        option subnet-mask              255.255.255.0;



        option nis-domain               "domain.org";

        option domain-name              "domain.org";

        option domain-name-servers      192.168.1.1;



        option time-offset              -18000; # Eastern Standard Time

#       option ntp-servers              192.168.1.1;

#       option netbios-name-servers     192.168.1.1;

# --- Selects point-to-point node (default is hybrid). Don't change this unless

# -- you understand Netbios very well

#       option netbios-node-type 2;



        range dynamic-bootp 192.168.1.128 192.168.1.254;

        default-lease-time 21600;

        max-lease-time 43200;



        # we want the nameserver to appear at a fixed address

        #host ns {

        #       next-server marvin.redhat.com;

        #       hardware ethernet 12:34:56:78:AB:CD;

        #       fixed-address 207.175.42.254;

        #}

}

[root@host /]# service dhcpd start

 
6)KickStartのインストールと構成
[root@host /]# yum install system-config-kickstart

# gnome KickStart

[root@host /]# system-config-kickstart

# gnome , 

[root@host /]# yum -y  groupinstall "X Window System"

[root@host /]# yum -y groupinstall  'GNOME Desktop Environment'

7)設定済みのKickStartのks.cfgは/var/www/htmlに保存
8)修正/tftpboot/pxelinux.cfg/defaultファイル
default ks # 

prompt 1

timeout 6

display boot.msg

F1 boot.msg

F2 options.msg

F3 general.msg

F4 param.msg

F5 rescue.msg

label linux

  kernel vmlinuz

  append initrd=initrd.img

label text

  kernel vmlinuz

  append initrd=initrd.img text

label ks

  kernel vmlinuz

  append ks initrd=initrd.img http://192.168.1.109/ks.cfg  # 

label local

  localboot 1

label memtest86

  kernel memtest

  append -

9)クライアント再起動インストール