PXE自动安装系统原理及配置
本人已建立个人博客站点,所以文章也都在那边发表了,想了解一下的,可以点这里:点击打开链接
PXE(Pre-bootExecution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivialfile transfer protocol)或MTFTP(multicast trivial filetransfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。
原理:
PXE工作原理示意图说明:
1. Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合法则返回Client的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client。
2. Client向PXE Server上的TFTP发送获取pxelinux.0请求消息,TFTP接收到消息之后再向Client发送pxelinux.0大小信息,试探Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0。
3. Client执行接收到的pxelinux.0文件。
4. Client向TFTP发送针对本机的配置信息(记录在TFTP的pxelinux.cfg目录下),TFTP将配置文件发回Client,继而Client根据配置文件执行后续操作。
5. Client向TFTP发送Linux内核请求信息,TFTP接收到消息之后将内核文件发送给Client。
6. Client向TFTP发送根文件请求信息,TFTP接收到消息之后返回Linux根文件系统。
7. Client启动Linux内核(启动参数已经在4中的配置文件中设置好了)。
8. Client通过NFS下载镜像文件,读取autoyast自动化安装脚本。
主机配置:调整主机为仅主机模式网段IP192.168.66.33,然后关闭vmwere的DHCP
1、安装环境
yum-y install vsftpd dhcp tftp syslinux tftp-server
2、拷贝镜像文件到 ftp 服务器目录
cd /var/ftp/pub
mkdirdvd
chown ftp:ftp dvd
cp-rf /mnt/ * dvd/
3、配置 DHCP 服务
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
vi/etc/dhcp/dhcpd.conf
subnet 192.168.66.0 netmask255.255.255.0 {
range 192.168.66.10 192.168.66.100;
option routers 192.168.66.33;
next-server 192.168.66.33; #tftp server的ip
filename "pxelinux.0";
}
4、开启 tftp 服务(改的地方已标黄)
vi/etc/xinetd.d/tftp
servicetftp
{
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
}
mkdir /tftpboot
5、创建相关目录并拷贝所需文件
mkdir -p /tftpboot/pxelinux.cfg
cp /var/ftp/pub/dvd/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
cp /usr/share/syslinux/pxelinux.0 /tftpboot/
chmod 644 /tftpboot/pxelinux.cfg/default
cp /var/ftp/pub/dvd/isolinux/* /tftpboot/
6、开启相关服务并设置为自动启动
servicedhcpd restart
chkconfigdhcpd on
servicexinetd restart
chkconfigxinetd on
servicevsftpd restart
chkconfigvsftpd on
7、配置 kisckstart 无人值守安装脚本
yum -y install system-config-kickstart
下边的可以在主机的图形化界面下进行设置.
开启system-config-kickstart进入图形界面
配置完成之后,点击左上方的文件,保存到/root下,会生成一个ks.cfg的文件,所有记录刚才的设置,都记录在这个文件当中。其中的软件包选择如果不知道选择什么的话,可以在已经安装好的主机/root目录下,打开anaconda-ks.cfg,将其中的安装包选项复制到package与end中间,然后可以将此文件导出保存,以后安装可以直接放到共享目录下直接使用。
然后做如下操作:
cp ks.cfg /var/ftp/pub/
vi /tftpboot/pxelinux.cfg/default(添加黄色区域内容)
labellinux
menu label ^Install or upgrade an existingsystem
menu default
kernel vmlinuz
append initrd=initrd.img ks=ftp://192.168.66.33/pub/ks.cfg
labelvesa
接下来就是新建虚拟机,只用设置网络模式为仅主机与刚才主机一致,以及安装位置,其他都不用管,直接开机,就自动安装了!!!