pxe 自动化安装环境部署

预启动安装系统

    PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作
于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动
操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)
或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执
行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系
统。PXE可以引导多种操作系统
如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux系列系统等。

自动安装原理

1.客户机从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP 
2.DHCP服务器返回分给客户机IP 
3.客户机向本网络中的TFTP服务器索取文件 
4.客户机取得bootstrap文件后之执行引导文件完成引导 
5.然后读取配置文件,通过TFTP服务器加载内核和文件系统
6.进入安装画面, 此时可以通过选择HTTP、FTP、NFS方式进行安装 

PXE网络安装必需的4个要素: 
1.客户机的网卡必须为PXE网卡 
2.网络中必须要有DHCP和TFTP服务器,当然这两个服务器可以是同一台物理主机 
3.所安装的操作系统必须支持网络安装 
4.必须要有FTP,HTTP,NFS至少一个服务器,当然也可以和DHCP和TFTP服务器同为一台物理主机 

一、配置pxe环境

1.获取IP,DNS,GATEWAY
配置dhcp   # pxe的IP,DNS,GATEWAY都是由dhcp服务提供的

[root@pxe-server ~]# yum install -y dhcp
[root@pxe-server ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf   
7 option domain-name "westos.com";  
8 option domain-name-servers 172.25.254.125; 
30 subnet 172.25.254.0 netmask 255.255.255.0 { 
31   range 172.25.254.20 172.25.254.30; 
32   option routers 172.25.254.78; 33 }
[root@pxe-server ~]# systemctl restart dhcp
2.获取启动软件
[root@pxe-server ~]# yum whatprovides */pxe*    # 查找提供pxe服务的软件

在这里插入图片描述

[root@pxe-server ~]# yum install -y syslinux-4.05-12.el7.x86_64
[root@pxe-server ~]# yum search tftp	# pxe依赖tftp协议进行共享

在这里插入图片描述

[root@pxe-server ~]# rpm -ql syslinux	# 查看pxe程序的配置文件

在这里插入图片描述

[root@pxe-server ~]# rpm -ql tftp-server	 # 查看TFTP-server安装包所生成的文件

在这里插入图片描述

[root@pxe-server ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot	  # 把将要下载的文件放置于该共享目录中
[root@pxe-server ~]# yum install -y xinetd   #  新一代进程守护程序,用它对tftp服务进行控制
[root@pxe-server ~]# chkconfig    # 查看系统服务的状态

在这里插入图片描述

[root@pxe-server ~]# systemctl start xinetd	
[root@pxe-server ~]# vim /etc/xinetd.d/tftp    # 激活 tftp 服务
14         disable                 = no
[root@pxe-server ~]# systemctl restart xinetd
[root@pxe-server ~]# chkconfig	

在这里插入图片描述

[root@pxe-server ~]# systemctl start tfrp
[root@pxe-server ~]# vim /etc/dhcp/dhcpd.conf   
33   next-server 172.25.254.125;      # 指定tftp服务的地址
34   filename "pxelinux.0";	 # 指定pxe引导程序的文件名

在这里插入图片描述

[root@pxe-server ~]# systemctl restart dhcpd
[root@pxe-server ~]# systemctl stop firewalld 	
3.测试(用另外一个虚拟机测试)
[root@foundation78 ~]# virt-manager	

在这里插入图片描述

[root@foundation78 ~]# virah start base2
[root@foundation78 ~]# virt-viewer base2    # 查看到已经在base2这主机上进行安装了	

在这里插入图片描述

在pxe服务器上,我们现在来创建配置文件
[root@pxe-server ~]# cd /var/lib/tftpboot/
[root@pxe-server tftpboot]# mkdir pxelinux.cfg
[root@pxe-server tftpboot]# ls
pxelinux.0  pxelinux.cfg	
在真机上,查看镜像,因为安装时是从镜像安装的,所以需要从镜像中导入所有的安装的文件
[root@foundation78 iso]# cd /var/www/html/
[root@foundation78 html]# cd rhel7.3/isolinux/
[root@foundation78 isolinux]# ls
boot.cat  grub.conf   isolinux.bin  memtest     TRANS.TBL    vesamenu.c32boot.msg  initrd.img  isolinux.cfg  splash.png  upgrade.img  vmlinuz
[root@foundation78 isolinux]# scp * [email protected]:/var/lib/tftpboot/
在pxe服务器上
[root@pxe-server tftpboot]# ls
boot.cat   initrd.img    pxelinux.0    TRANS.TBL     vmlinuzboot.msg   isolinux.bin  pxelinux.cfg  upgrade.imggrub.conf  memtest       splash.png    vesamenu.c32
[root@pxe-server tftpboot]# cp isolinux.cfg pxelinux.cfg/
[root@pxe-server tftpboot]# cd pxelinux.cfg/
[root@pxe-server pxelinux.cfg]# ls
isolinux.cfg	
[root@pxe-server pxelinux.cfg]# mv isolinux.cfg default      # 重命名
[root@pxe-server pxelinux.cfg]# ls
default
[root@pxe-server pxelinux.cfg]# ll
total 4-r--r--r--. 1 root root 3166 Dec  8 12:46 default[
root@pxe-server pxelinux.cfg]# chmod u+w default 
[root@pxe-server pxelinux.cfg]# vim default  
64   append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.3\x20Server.x86_64 
测试

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

现在我们来修改配置文件
[root@pxe-server pxelinux.cfg]# vim default
64   append initrd=initrd.img repo=http://172.25.254.78/rhel7.3 
测试安装,可以成功安装,但是还要自己配置语言,分区等等,所以我们来设置自动配置
[root@pxe-server pxelinux.cfg]# yum install -y httpd
[root@pxe-server pxelinux.cfg]# yum install -y system-config-kickstart.noarch
[root@pxe-server pxelinux.cfg]# system-config-kickstart

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

[root@pxe-server pxelinux.cfg]# cd /var/www/html/
[root@pxe-server html]# vim ks.cfg    # 配置安装的软件包
50 %packages 
51 @base     # base组
52 @core     
53 @fonts    
54 @gnome-desktop    
55 @input-methods       # 输入法
56 @x11                     
57  
58 lftp                        
59 vnc                        
60 %end
[root@pxe-server html]# ksvalidator ks.cfg   # 检测语法
[root@pxe-server html]# vim /var/lib/tftpboot/pxelinux.cfg/default 
64   append initrd=initrd.img repo=http://172.25.254.78/rhel7.3 ks=http://172.25.254.125/ks.cfg      # 指定从该yum安装
[root@pxe-server html]# systemctl start httpd
安装测试,测试成功

在这里插入图片描述

二、修改安装界面

[root@pxe-server html]# cd /var/lib/tftpboot/
[root@pxe-server tftpboot]# file feng.png   # 查看图片的大小为490 x 306
feng.png: PNG image data, 490 x 306, 8-bit/color RGBA, non-interlaced

默认背景图是640x480,所以我们需要修改图片的大小

[root@pxe-server tftpboot]# yum whatprovides */convert   # 查询修改图片大小的软件

在这里插入图片描述

[root@pxe-server tftpboot]# yum install ImageMagick-6.7.8.9-10.el7.x86_64 -y
[root@pxe-server tftpboot]# ls

在这里插入图片描述

[root@pxe-server tftpboot]# convert -resize 640x480! feng.png fengfeng.png  # 强制修改图片大小,!表示强制
[root@pxe-server tftpboot]# file fengfeng.png   # 查看图片大小修改成功
fengfeng.png: PNG image data, 640 x 480, 8-bit/color RGBA, non-interlaced
[root@pxe-server tftpboot]# vim dpxelinux.cfg/efault   
2 timeout 100         # 设定等待时间为10s
10 menu background  fengfeng.png      # 替换安装背景图片
62 menu label  AUTH INSTALL          #  设定安装时的语言提示
65 menu default		          # 设定默认指定位置

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wzt888_/article/details/84963824