一、原理
無光驅、軟驅的一台服務器,想要安裝Linux系統。我們需要通過網卡的PXE協議,引導之後安裝Linux。流程:機器啟動-網卡引導-通過DHCP獲得IP地址-通過tftp獲得最基礎的內核文件,使用該內核文件啟動機器-啟動之後可以對安裝程序配置,選擇使用http、ftp、nfs方式遠程獲得安裝所需要的軟件包。
顯然,網絡安裝是必須配置服務器端的。我們的服務端需要提供以下服務:
DHCP
TFTP
HTTP(FTP,NFS)
二、服務配置
1、DHCP
配置文件:
option domain-name "mydomain";
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
server-name "bootserver";
subnet 192.168.123.0 netmask 255.255.255.0 {
range 192.168.123.200 192.168.123.201;
deny unknown-clients;
}
host MyP5 {
filename "pxelinux.0";
server-name "bootserver";
hardware ethernet ae:32:20:00:b0:02;
fixed-address 192.168.123.90;
}
這是復制來的配置文件,稍微解釋一下:
filename 後面是tftp目錄下的文件,pxelinux.0 則是 syslinux 包內的文件。默認 pxelinux.0 可能在 /usr/lib/syslinux 目錄下,必須將其復制到 tftp 目錄下。
host MyP5 下出現的:
hardware ethernet ae:32:20:00:b0:02;
fixed-address 192.168.123.90;
為客戶機(需要安裝系統的機器)的 MAC 地址和所分配的IP地址。
2、TFTP
由於必須支持TSIZE協議,所以不能安裝最原始的TFTP包。我選擇使用 tftp-hpa 。
編輯文件 /etc/xinetd.d/tftp (若沒有,則添加tftp文件)(若不存在xinetd.d,請安裝 xinetd 包)
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}
這裡將 /tftpboot 定義為 tftp 服務的默認目錄,您可以自行修改。
保存之後重啟 /etc/init.d/xinetd 服務,即可開啟 tftp 服務。
如何測試 tftp 是否成功開啟?
在 tftp 目錄下創建一個文件,比如 1.txt 。
在 Shell 中連接 tftp 服務:
tftp 127.0.0.1
tftp>get 1.txt
若服務成功開啟,則能看到成功下載文件的提示。並在當前目錄下找到1.txt文件。
接著復制光盤中 isolinux 目錄下的 vmlinuz、initrd.img 文件到 /tftpboot 目錄下。
在 /tftpboot 中創建文件夾 syslinux.cfg 。syslinux.cfg 中保存了 pxelinux 的兩個配置文件:default、list。
default:
default linux
label linux
kernel vmlinuz
append initrd=initrd.img devfs=nomount nofb ramdisk_size=9216
你可以寫很多個label,這取決於你同時想在這台服務器上提供多少種版本的 Linux 給客戶機安裝。一個版本一個label,當然kernel、與initrd文件名不可以重復。
list:
Choose one of the following Linux distributions for your installation:
Name Distribution Arch. Installation media
-----------------------
CentOS CentOS 4.4 i386 192.168.99.90:/
你也可以添加多行,用來選擇不同的發行版本。在選擇的時候填寫Name下的內容即可。
三、復制光盤文件
將光盤文件復制到對應目錄(ftp、http、nfs),如果是使用 http 使用以下命令將多張光盤復制到一個目錄裡面:
[root@bootserver] # cp -arv /media/cdrom/* /install
如果使用 ftp,請確保可以訪問(可以有用戶名、密碼)。