传统的安装操作系统的方式:光盘安装,U盘安装,网络安装 。

kickstart是一种无人值守的安装方式,它的工作原理是提前定义好了linux安装过程的配置文件,这个配置文件通常为ks.cfg。

有了这个文件,可以让Linux在安装过程中按照我们预先定义的要求进行自动化安装,同时对于部署大量主机也非常方便。

PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,

支持通过网络从远端服务器下载镜像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用

TFTP(trivial file transfer protocol,简单文件传输协议)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终

端(客户端)基本软件设置,从而引导安装操作系统。


PXE可以引导多种操作系统。严格来说,PXE 并不是一种安装方式,而是一种引导方式。进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client,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 BootROM(自启动芯片)(BIOS里面的PXE固件)广播一个DHCP discover包;

2、支持PXE的DHCP服务器返回分配给客户机的IP以及启动文件的放置位置;

3、PXE client会向本网络中的TFTP服务器索取pxelinux.0(引导文件)、pxelinux.cfg/default(启动菜单配置文件)、vmlinuz (可执行的linux内核)和initrd.img(驱动程序模块)文件;

5、PXE client由TFTP从服务端下载启动安装程序所必需的文件(pxelinux.0、pxelinux.cfg/default)后,会根据default文件中定义的引导顺序,加载内核和文件系统;

6、这些启动资源其实就是最小的操作系统,这个最小操作系统在装载了网络驱动和TCP/IP协议栈之后,就可以通过HTTP、FTP、NFS方式进行安装;

[root@server ~]# yum install dhcp xinetd tftp-server vsftpd syslinux system-config-kickstart -y

dhcp:动态主机配置协议,为客户端分配IP地址。

xinetd:可监视一些网络请求的守护进程,其根据网络请求来调用相应的服务进程来处理连接请求。例如FTP、Telnet、SSH等就适合使用xinetd模式。

tftp-server:简单文件传输协议,用于向客户端提供安装引导相关的文件。udp的69号端口

vsftpd:为客户端提供系统安装时所需的文件。

syslinux:产生pxelinux.0文件。

system-config-kickstart:用于生成kickstart配置文件。

1、配置DHCP服务

#修改dhcp服务配置文件

[root@server ~]# vim /etc/dhcp/dhcpd.conf

ddns-update-style interim;

ignore client-updates;

filename "pxelinux.0";              指定引导文件

next-server 172.24.8.131;        指定引导文件服务器

subnet 172.24.8.0 netmask 255.255.255.0 {

        option routers 172.24.8.1;

        option subnet-mask 255.255.255.0;

        option domain-name-servers 114.114.114.114;

        range dynamic-bootp 172.24.8.100 172.24.8.254;

        default-lease-time 60;

        max-lease-time 60;

}

[root@server ~]# systemctl restart dhcpd

2、配置TFTP服务

[root@server ~]# vim /etc/xinetd.d/tftp

修改下面两条内容       

server_args             = -s /tftpboot                    //指定目录,该目录可自定义

disable                 = no                                    //开启服务开关

[root@server ~]# systemctl restart tftp

#在7.0系统中如果服务无法启动,使用以下命令进行启动

[root@server ~]#systemctl start tftp.socket

启动xinetd服务:

[root@server ~]# systemctl restart xinetd

3、准备引导相关的文件

#创建网络引导配置文件目录

[root@server ~]#mkdir -p /tftpboot/pxelinux.cfg

#复制引导文件

[root@server ~]#cp /usr/share/syslinux/pxelinux.0 /tftpboot/

#复制系统映像

[root@server ~]#cp /mnt/images/pxeboot/initrd.img /tftpboot/

#复制系统内核

[root@server ~]# cp /mnt/images/pxeboot/vmlinuz /tftpboot/

#复制引导配置文件

[root@server ~]# cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

复制加载图形模块的文件

[root@localhost pxelinux.cfg]# cp /mnt/isolinux/vesamenu.c32  /tftpboot

 可以自定义一张图片背景,将其放在/tftpboot目录下

#变更配置文件权限

[root@server ~]# chmod 644 /tftpboot/pxelinux.cfg/default

#修改配置文件

[root@server ~]# vim /tftpboot/pxelinux.cfg/default

1         default linux                修改默认启动模式

64  append initrd=initrd.img ks=ftp://192.168.9.131/ks.cfg      修改加载的KS应答文件

 4、准备安装镜像

#启动FTP服务

[root@server ~]# systemctl start vsftpd

#查看FTP服务状态

[root@server ~]#systemctl status vsftpd

#挂载系统镜像到共享目录

[root@server ~]#mount /dev/sr0 /var/ftp/pub/

#可通过windows系统的浏览器才确认服务访问情况

5、创建ks应答文件

[root@localhost Desktop]# system-config-kickstart

可进入图形界面选择安装设置:镜像文件通过ftp服务共享,则安装方法按照下图填写:

最后将生成的ks.cfg文件保存至/var/ftp/

注意:这里需要停掉 VMware网络适配器的DHCP服务,让虚拟机使用我们配置的DHCP服务器。

最后创建一台虚拟机,就会自动引导安装程序。


拓展:

使用其他服务提供镜像文件:

(1)http

[root@server ~]# yum install httpd -y

#复制系统安装文件到/var/www/html目录下

[root@server ~]# cp -r /mnt/* /var/www/html/rhel

#将KS文件放到/var/www/html目录下

[root@server ~]# ll /var/www/html/ks.cfg

#启动HTTPD服务

[root@server ~]# systemctl start httpd

#修改配置文件

[root@server ~]# vim /tftpboot/pxelinux.cfg/default

1         default linux                修改默认启动模式

64  append initrd=initrd.img ks=http://172.24.8.131/ks.cfg      修改加载的KS应答文件

可以重新创建ks应答文件,也可以直接修改之前的ks应答文件中的系统安装资源目录

[root@server ~]# vim  /var/www/html/ks.cfg

# Use network installation

url --url="http://172.24.8.131/rhel"

(2)NFS

[root@server ~]#vim /etc/exports

/var/www/html        *(ro)

#启动NFS服务

[root@server ~]# systemctl restart nfs

#可通过其他linux主机进行远程挂载共享目录来测试服务启动情况

#注意:需要修改default文件的ks文件路径

[root@mail ~] vi /tftpboot/pxelinux.cfg/default

64   append initrd=initrd.img ks=nfs:172.24.8.131:/var/www/html/ks.cfg

#注意:需要修改KS应答文件中的系统安装资源目录

[root@mail ~]# vi /var/www/html/ks.cfg

# Use network installation

nfs --server=172.24.8.131 --dir=/var/www/html/rhel

 posted on 2020-01-10 15:49  嚴∞帅  阅读(118)  评论(0编辑  收藏  举报