ZT:通過PXE遠端安裝Linux系統全程解析

lfree發表於2007-07-20

http://www.chinalinuxpub.com/read.php?wid=1633

在單臺PC或者是伺服器上安裝LINUX是一件很輕鬆的事情。但是,要在多臺PC或者是伺服器上安裝LINUX,如果再使用傳統的光碟或者是映象檔案來進行逐個安裝就顯得比較笨拙,會消耗很多時間和精力。最近我用PXE進行了8臺伺服器的安裝,現將整個安裝過程詳細介紹如下,希望能對將要進行此類安裝的朋友有所幫助。

注意:本篇文章中#後面所跟內容為實際操作時輸入的相關命令。

一、安裝前的準備

將要安裝的系統光碟或映象檔案:Red Hat Enterprise Linux AS (其它版本的LINUX也可以)

硬體需求:將要安裝系統的計算機需配置了帶PXE功能的網路卡(比較簡單的方法就是看計算機BIOS中的啟動選項裡是否有通過LAN或者PXE啟動這一項)

準備好一臺已經安裝了Red Hat Enterprise Linux As 的計算機(我們給這臺計算機取個名字叫伺服器A)。這臺計算機要裝有dhcp包和tftp包。如果沒有則需要進行安裝:

#rpm -ivh tftp-server-0.39-0.EL3.1.c0.i386.rpm

#rpm -ivh dhcp-3.0.1-10_EL3.i386.rpm

關閉伺服器A上的防火牆

#iptables –F


二、準備NFS伺服器(在伺服器A上進行)

1、複製檔案

(1)建立一個含有Red Hat Enterprise Linux安裝檔案的目錄。我把這個目錄命名為/mnt/inst

#mkdir /mnt/inst

(2)拷貝第一張安裝光碟上的相關內容

插入第一張安裝光碟到光碟機

#mount /dev/cdrom /mnt/cdrom
#cp -ar /mnt/cdrom/RedHat /mnt/inst
#cp /mnt/cdrom/.discinfo /mnt/inst
#umount /dev/cdrom

取出第一張光碟,放入第二張

#mount /dev/cdrom /mnt/cdrom
#cp –ar /mnt/cdrom/RedHat /mnt/inst
#umount /dev/cdrom

取出第二張光碟,放入第三張

#mount /dev/cdrom /mnt/cdrom
#cp –ar /mnt/cdrom/RedHat /mnt/inst
#umount /dev/cdrom

取出第三張光碟,放入第四張

#mount /dev/cdrom /mnt/cdrom
#cp –ar /mnt/cdrom/RedHat /mnt/inst
#umount /dev/cdrom

2、配置NFS服務

(1) #vi /etc/exports

新增一行:

========+==========+===========
/mnt/inst *(ro,sync)
========+==========+===========

儲存退出。

(2)匯出這個/mnt/inst這個共享目錄

#exportfs –a

(3)啟動NFS服務

#service nfs restart

三、配置dhcp伺服器和tftp伺服器

1、配置dhcp伺服器

#vi /etc/dhcpd.conf

=============+==========+===========
ddns-update-style interim;
ignore client-updates;
default-lease-time 21600;

max-lease-time 43200;
authourtative;

subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
range 192.168.0.18 192.168.0.78;
default-lease-time 21600;
max-lease-time 43200;
filename "/pxelinux.0";
}
=============+==========+===========

儲存退出。

2、配置tftp伺服器

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

=============+==========+===========

儲存退出。


3、啟動dhcp服務和tftp服務

#service dhcpd restart
#chkconfig dhcpd on
#/sbin/chkconfig --level 345 xinetd on
#/sbin/chkconfig --level 345 tftp on
該命令配置 tftp 和 xinetd 服務被立即啟用,還把配置它們在執行級別3、4和5的引導期間啟動。

四、配置支援PXE
# mkdir /tftpboot
# cp /usr/lib/syslinux/pxelinux.0 /tftpboot
把LINUX第一張安裝光碟上/image/pxeboot/initr.img和vmlinux 以及isolinux/*.msg考到/tftpboot目錄下

# cd /tftpboot
# mkdir pxelinux.cfg
#cd pxelinux.cfg

# vi default
=============+==========+===========
default
prompt 1
timeout 30
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
F7 snake.msg
label local
localboot 0
label linux
kernel vmlinuz

append initrd=initrd.img devfs=nomount ramdisk_size=9216
label text
kernel vmlinuz
append initrd=initrd.img text devfs=nomount ramdisk_size=9216
label expert
kernel vmlinuz

append expert initrd=initrd.img devfs=nomount ramdisk_size=9216

label ks

kernel vmlinuz

append ks initrd=initrd.img devfs=nomount ramdisk_size=9216

label nofb

kernel vmlinuz

append initrd=initrd.img devfs=nomount nofb ramdisk_size=9216

label lowres

kernel vmlinuz

append initrd=initrd.img lowres devfs=nomount ramdisk_size=9216

kernel vmlinuz

=============+==========+===========

五、開始安裝

用集線器或交換機將8臺伺服器連線起來。啟動一臺伺服器,進入BIOS,設定通過LAN或PXE啟動機器即可。其餘機器也按此操作。需要注意的是,當安裝完成後重啟機器時要把BIOS裡的啟動選項改為硬碟啟動。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-83058/,如需轉載,請註明出處,否則將追究法律責任。

相關文章