一般情况下,我们安装Linux采用光驱引导安装程序。但是,如果遇到计算机不带光驱或软驱时,就可以利用 PXE 安装方式。另外,在大量计算机需要同时安装系统的情况下,PXE配合KickStart 安装也是一种高效的工作方式。
1.1 什么是PXE
严格来说,PXE 并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。
PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动。协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。
运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器用来给 PXE client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE client 的 ROM 中,已经存在了 TFTP Client。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。
1.2 什么是KickStart
KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。
1.3 PXE + KickStart安装的条件
执行 PXE + KickStart安装需要的设备为:
DHCP 服务器;
TFTP 服务器;
KickStart所生成的ks.cfg配置文件
一台存放系统安装文件的服务器,如 NFS、HTTP 或 FTP 服务器。
带有一个 PXE 支持网卡的将安装的主机;
注意:一般情况下,DHCP 服务器和 TFTP 服务器位于同一台 Linux 服务器中。当然,也可以将此服务器同时设置为存放安装文件的 NFS/HTTP/FTP 服务器。
下面是利用 PXE 方式引导的工作过程示意图:
在上图中,“PXE 客户端”是需要安装 Red Flag Server 5 的计算机,“TFTP 服务器”和“DHCP 服务器”运行在另外一台 Linux 服务器上。pxeLinux.0、配置文件、vmlinuz 以及 initrd.img 都放置在 Linux 服务器的 TFTP 服务器的根目录 /tftpboot 下。
1.4 详细配置信息及步骤
tftp服务器、dhcp服务器、nfs服务器均为172.16.81.191。下文中介绍生成ks.cfg以及各服务的配置,都是在172.16.81.19服务器上操作。
1.4.1 生成KickStart专用ks.cfg配置文件
在红旗DC5.0SP2系统安装完毕之后,默认安装了一个
专门生成KickStart专用ks.cfg配置文件的图形工具,可以通过命令ksconfig启动。
1.4.1.1 KickStart基本配置
配置语言、键盘类型、鼠标类型、时区、root用户密码等相关信息。根据欲安装的服务器的实际情况而定。
1.4.1.2 KickStart安装方式
选择安装方式。此例中采用nfs网络方式安装。nfs服务器的配置信息见后面。
1.4.1.3 KickStart引导装载程序选项
此步骤默认即可。如有特殊需求,可根据实际情况更改。
1.4.1.4 KickStart分区信息
分区部分绝对需要根据实际情况而定。由于采用PXE + KickStart安装方式时,一般都是新机器,所以本例中采用一个特定的分区方案。
-
挂载点
分区格式
大小
Swap
1G
/
Ext3
10G
/data
Ext3
剩余
注意:使用KickStart图形工具分区时,选择“使用全部可用空间”时,界面的分区大小显示1是正常的
1.4.1.5 KickStart网络配置
根据实际情况添加网卡。第一块网卡eth0必须采用dhcp的方式,以便后面和nfs服务器连接。
? 1.4.1.6 KickStart显示配置
显示配置可以保持默认。如有特殊需求,可根据实际情况更改。
1.4.1.7 KickStart软件包选择
建议全部安装,选择ererying。如有特殊需求,可以根据实际情况选择需要的安装包。?
1.4.1.8 KickStart预安装脚本
默认。此为高级选项,可根据实际情况修改。
1.4.1.9 KickStart安装后脚本
默认。此为高级选项,可根据实际情况修改。
1.4.1.10 保存KickStart配置文件
保存生成的配置文件ks.cfg。在此例中保存在172.16.81.191服务器的/dc5/目录下面。
注意:为了避免ks.cfg配置文件的正确,不建议用KickStart图形工具修改已有的ks.cfg。
1.4.2 配置NFS服务器
建立/dc5文件夹,将DC5.0SP2安装光盘前两张盘的iso文件放在/dc5文件夹内,另外此文件夹中还有生成的ks.cfg文件。
修改/etc/exports文件,在其中添加如下内容:
/dc5 *(rw)
1.4.3 配置 TFTP 服务器
TFTP Server 的配置文件是 /etc/xinetd.d/tftp,配置文件中指定了 /tftpboot 为 TFTP Server 的根目录位置。下面是一个 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
}
注意:默认情况下,tftp 服务不随 xinetd 服务启动而启动,需要修改 /etc/xinetd.d/tftp 文件,将其中的一句 disable=yes 改为 disable=no。
1.4.4 配制 pxeLinux
在TFTP 服务器中,把文件 /usr/lib/sysLinux/pxeLinux.0 复制到本机的 /tftpboot 目录下;然后在 /tftpboot 目录下建立一个 pxeLinux.cfg 目录,用于存放 pxeLinux 的配置文件。配置文件可以直接使用第一张安装光盘 isoLinux 目录下的 isoLinux.cfg 文件,把它拷贝成 /tftpboot/pxeLinux.cfg/default 即可;最后,把 isoLinux/*.msg 也复制到 /tftpboot/pxeLinux.cfg 目录中。
为了能够让客户端通过PXE启动之后,直接调用ks.cfg文件,需要修改default 文件:
default Linux
prompt 1
timeout 600
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
F7 snake.msg
label Linux
kernel vmlinuz
append ks=nfs:172.16.81.191:/dc5/ks.cfg initrd=initrd.img
label text
kernel vmlinuz
append initrd=initrd.img text
label expert
kernel vmlinuz
append expert initrd=initrd.img
label ks
kernel vmlinuz
append ks initrd=initrd.img
label lowres
kernel vmlinuz
append initrd=initrd.img lowres
1.4.5 制作 Linux 内核和镜像文件
将第一张安装光盘中 /images/pxeboot 目录下的 vmlinuz(Linux内核)和 initrd.img (镜像文件)拷贝到 TFTP Server 的 /tftpboot 目录下。
dhcpd.conf 中指定的 pxeLinux.0 文件放置在 /tftpboot中,pxeLinux.0 在执行过程中,要读配置文件,所有的配置文件都放在 /tftpboot/pxeLinux.cfg/ 目录下。Linux 内核 vmlinuz 以及 Linux 镜像文件 initrd.img 也放置在 /tftpboot 目录中。
1.4.6 配置 DHCP 服务器
DHCP Server 的配置文件是 /etc/dhcpd.conf,在配置 DHCP 服务器时需要添加相应的 PXE 设置,配置文件的内容如下(根据实际情况更改):
ddns-update-style interim ;
filename “pxeLinux.0”;
allow booting;
allow bootp;
subnet 172.16.81.0 netmask 255.255.255.0 {
range 172.16.81.196 172.16.81.199 ;
default-lease-time 691200 ;
min-lease-time 691200 ;
max-lease-time 691200 ;
option routers 172.16.80.1 ;
option domain-name-servers 172.16.80.15 ;
}
# You need an entry like this for every host unless you’re using dynamic addresses.
host client1 {
hardware ethernet 00:0A:EB:0B:3A:F4;
fixed-address 172.16.81.196;
}
注意:host client1{…}定义了客户端机器网卡的 MAC 地址与 IP 地址的绑定关系,这样加快客户端机器获取IP的速度。如果没有此MAC地址和IP地址的绑定关系,客户端机器获取IP的速度比较慢,但肯定可以获取到。
1.4.7 启动 TFTP 服务和 DHCP 服务
使用以下命令启动 TFTP 服务:
# service xinetd restart
使用以下命令启动 DHCP 服务:
# service dhcpd restart
使用以下命令启动 NFS 服务:
# service portmap restart
# service nfs restart
1.5 启动 PXE 安装
启动要安装的机器,首先根据提示信息设置主机从 PXE 引导,然后进入网络引导过程。如果 DHCP 服务器和 TFTP 服务器配置正确,屏幕上将出现 boot: 提示符,稍等片刻。
注意:PXE网络启动一般要求在网卡上加装 PXE 启动芯片;对于某些型号的网卡,也可以将 PXE 启动代码写入主板的闪存;还有一些主板上集成了网卡的品牌机,可以直接支持 PXE 启动。大部分服务器在启动时,可以按F12直接进入PXE网络启动。
注意:当服务器有两个网卡时,安装程序会让选择使用哪个网卡。此步无法跳过,这是安装程序确定从网络安装时,必须的一步。
1.6 参考文档
《红旗5.0安装手册》
《红旗Linux系统管理教程》