-
一、简介
1.1
什么是
PXE
PXE(Pre-boot Execution Environment
,
预启动执行环境
)
是由
Intel
公司开发的最新技
术,工作
于
Client/Server
的网络模式,支持工作站通过网
络从远端服务器下载映像,并
由此支持通过网络启动操作系统,
在启动过程中,
终端要求服务器分配
IP
地址,
再用
TFTP
(
trivial file transfer
protocol
)或
MTFTP(multicast
trivial file transfer protocol)
协议下载一个启动
软件包到本机内存中执行,
由这个启动软件包完成终端基本软件设置,
< br>从
而引导预先安装在服务器中的终端操作系统。
严格来说,
PXE
并不是一种安装方式,而是一种引导方式。进行
PXE
安装的必要条件是
在要安装的
计算机中必须包含一个
PXE
支持
的网卡(
NIC
)
,即网卡中必须要有
PXE
Client
。
PXE
协议可以使计算机通过网络启动。此协议分为
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
,那么它就可以通过
TFTP
协议到
TFTP Server
上下载所需的文件了。
PXE
的工作过程:
1. PXE Client
从自己的
PXE
网卡启动,向本网络中的
DHCP
服务器索取
IP
;
2.
DHCP
服务器返回分配给客户机的
IP
以及
PXE
文件的放置位置
(
该文件一般是放在一
3. PXE Client
向本网络中的
TFTP
服务器索取
p>
pxelinux.0
文件;
4. PXE Client
取得
pxelinux.0
文件后之执行该文件;
5.
根据
pxelinux.0
的执行结
果,通过
TFTP
服务器加载内核和文件系统
< br>
;
6.
进入安装画面
,
此时可以通过选择<
/p>
HTTP
、
FTP
、
NFS
方式之一进行安装;
详细工作流程,请参考下面这幅图:
1.2
什么是
Kickstart
Kickstart
是一种无人值守的安装方式。它的工作原理是在安装
过程中记录典型的需要人工
干预填写的各种参数,并生成一个名为
的文件。如果在安装过程中(不只局限于生
成
Kickstart
安装文件的机器)出现要填写参数的情况,安装程序首先会
去查找
Kickstart
生成的文件,如果找到合适的参数,
就采用所找到的参数;如果没有找到合适的参数,
便需
要安装者手工干预了。
所以,
如果
Kickstart
文件涵盖了安装过程中可能出现的所有需要填
写的参数,那么安装者完全可以只告诉安装程序从何处取
< br>文件,然后就去忙自己的
事情。等安装完毕,安装程序会根据
中的设置重启系统,并结束安装。
PXE+Kickstart
无人值守安装操作系统完整过程如下:
二、系统环境
实验环境:
VMware Workstation 10
系统平台:
CentOS release 6.4
(
最小化安装
)
网络模式:
NAT
模式(共享主机的
IP
< br>地址)
DHCP / TFTP
IP
:
192.168.111.130
HTTP / FTP / NFS
IP
:
192.168.111.130
防火墙已关闭
/iptables: Firewall is
not running.
SELINUX=disabled
三、准备工作
生成
文件需要
system-config-kickstart
工具,而此工具依赖于
X
Windo
ws
,
所以我们需要安装
X
Windows
和
Desktop
并重启系统,操作如下:
# yum
groupinstall
# yum groupinstall Desktop
# reboot
四、配置
HTTP
安装方式
系统的安装方式可以选择<
/p>
HTTP
、
FTP
、
NFS
,我们这里介绍
HTTP
方式的安装,其他两
种方式的安装,大
家可以自行百度。
4.1
安装并配置
HTTP
# yum
install httpd
–
y
# rpm -qa|grep httpd
开启服务并设置开机启动
# /etc/init.d/httpd start
#
chkconfig --level 35 httpd on
4.2
加载
ISO
镜像
在虚拟机中设置加载
ISO
镜像。
将
iso
文件挂载至
/mnt/cdrom.
4.3
复制光盘全部内容至
http
的根目录
/var/www/html/
下
# cp -r
/mnt/cdrom/ /var/www/html/
HTTP
部分设置完毕。
五、配置
TFTP
5.1
安装
tftp-server
# yum install tftp-server
–
y
5.2
启用
tftp
服务
# vi
/etc/xinetd.d/tftp
service tftp
{
socket_type
= dgram
protocol
= udp
wait
= yes
user
= root
server
= /usr/sbin/
server_args
= -s /var/lib/tftpboot
disable = no
per_source =
11
cps
=
100
2
flags
= IPv4
}
将
disable
设置为
no
5.3
启动
tftp
服务
因为
tftp
服务是挂载在超级进程
xinetd
下的,所以通过启动
xinetd
来启动
tftp
服务。
# /etc/init.d/xinetd restart
设置开机启动
xinetd
# chkconfig xinetd on
六、配置支持
PXE
的启动程序
6.1
复制
pxelinux.0
文件至
/var/lib/tftpboot/
文件夹中
yum install
syslinux
#
安装引导程序
# cp
/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
说明:
syslinux
是一个功能强
大的引导加载程序,而且兼容各种介质。更加确切地说:
SYSLINUX
是一个小型的
Linux
操作系统,它的目的是简化
首次安装
Linux
的时间,并建
立修
护或其它特殊用途的启动盘。
6.2
复制
iso
镜像中的
/image/pxeboot/
和
vmlinux
至
/var/lib/tftpboot/
文件夹中
#
cp
/var/www/html/cdrom/image
s/pxeboot/{,vmlinuz}
/var/lib/tftpboot/
6.3
复制
iso
镜像中的
/isolinux/*.msg
至
/var/lib/tftpboot/
文件夹中
# cp
/var/www/html/cdrom/isolinux/*.msg
/var/lib/tftpboot/
6.4
在
/var/lib/tftpboot/
< br>中新建一个
目录
# mkdir /var/lib/tftpboot/
6.5
将
iso
镜像中的
/isolinux
目录中
的
复制到
目录
中,
同时
更改文件名称为
defaul
t
#
cp
/var/www/html/cdrom/isolinux/
/var/lib/tftpboot//default
6.6
修改
default
文件
# vi
/var/lib/tftpboot//default
default ks
#
默认启动的是
'label
ks'
中标记的启动内核
prompt
1
#
显示
'boot:
'
提示符。为
'0'
时则不提示,将会直
接启动
'default'
参数中指定的内容。
timeout
6
#
在用户输入之前的超时时间,单位为
1/10
秒。
display
#
显示某个文件的内容,注意文件的路径。默认是在
/var/lib/tftpboot/
目
录<
/p>
下
。
也
可
以
指
定
位
类
似
'/instal
l/'
这样的,路径
+
文件名。
F1
#
按下
'F1'
这样的键后显示的文件。
F2
F3
F4
F5
label linux
#'label'
指定你在
'boot:'
提示符下
输入的关键
字,比如
boot:
linux[ENTER]
,这个会启动
'label
linux'
下标记的
kernel
和
文件。
kernel vmlinuz
#kernel
参数指定要启动的内核。
append initrd=
#append
指定追加给内核的参数,能够在
grub
里使用的追加给内核的参数,在这里也都可以使用。
label text
kernel vmlinuz
append initrd= text
label
ks
kernel vmlinuz
append
ks=http://192.168.111.130/
initrd=
或者
:
append initrd=
ks=http://192.168.21.128/ ksdevice=eth0
ip=dhcp
#
告诉系统,从哪里获取
文件
label local
localboot
1
label
memtest86
kernel memtest
append -
chmod
644
/var/lib/tftpboot//default
#
设置文件权限
七、配置
DHCP
7.1
安装
DHCP
服务
# yum -y install dhcp
7.2
复制配置模板文件到
DHCP
的配置目录中
# cp -f
/usr/share/doc/dhcp-4.1.1/
/etc/dhcp/
7.3
修改
/etc/dhcp/
配置文件,内容如下:
ddns-update-style interim; #
设置
DHCP
服务器模式
ignore client-updates;
#
禁止客户端更新
filename
#pxelinux
启动文件位置
;
next-server
192.168.111.130
;
#TFTP Server
的
p>
IP
地址
;
subnet
192.168.111.0
netmask
255.255.255.0
{
option routers
192.168.111.130
;
#
设置网关
option
subnet-mask
255
.255.255.0
;#
设置子网掩码
range dynamic-bootp
192.168.111.100
192.168.111.200
;
#
设置
dhcp
服务器
IP
地址租用的范围
default-lease-time 21600;
#
默认租约时间
max-lease-time 43200;
#
最大租约时间
}
7.4
启动
DHCP
服务
#
/etc/init.d/dhcpd start
八、生成
文件
8.1
安装
Kickstart
# yum
install system-config-kickstart
8.2
在桌面环境下配置
Kickstart
启动
X Windows
环境
# startx
配置
Kickstart
#
system-config-kickstart
A.
设
置语言,键盘,时区,
Root
密码,安装完毕后重启等。
p>
B.
设置安装方式,这篇文章介绍的是
HTTP
方式的安装,故选择
HTTP
C.
安装
MBR
D.
设置分区
E.
分区总览
F
.
配置网络
G.
认证配置
H. SELinux
和防火墙配置
I.
图形环境配置
J.
软件包安装选择
K.
预览
-
-
-
-
-
-
-
-
-
上一篇:修复SQL2000数据库置疑时出现的错误
下一篇:模具韩语翻译