PXE 网络引导快速部署虚拟机

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系列系统等。

PXE网络安装原理:

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

PXE网络安装四要素:

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

1.网络引导安装虚拟机

(1).修改主机名并配置yum源

##修改主机名
[root@station ~]# hostnamectl set-hostname pxe-server
##测试yum源
[root@pxe-server ~]# yum clean all
[root@pxe-server ~]# yum repolist

在这里插入图片描述
(2).搭建dhcp服务

搭建详情点击此处博客链接 https://blog.csdn.net/lilygg/article/details/83144861

(3).安装部署pxe程序

##搜索不到
[root@pxe-server ~]# yum  search pxe
##可以搜索到
[root@pxe-server ~]# yum  whatprovides */pxe*

在这里插入图片描述

##1.安装syslinux
[root@pxe-server ~]# yum install -y syslinux-4.05-12.el7.x86_64
[root@pxe-server ~]# rpm -ql syslinux.x86_64

在这里插入图片描述

[root@pxe-server ~]# yum search tftp

在这里插入图片描述

##2.安装tftp-server
[root@pxe-server ~]# yum install -y tftp-server.x86_64
[root@pxe-server ~]# rpm -ql tftp-server

在这里插入图片描述

##3.共享预启动环境
[root@pxe-server ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
##开启tftp服务失败
[root@pxe-server ~]# systemctl start tftp.service
[root@pxe-server ~]# systemctl status tftp.service

在这里插入图片描述

##4.安装守护进程
[root@pxe-server ~]# yum install -y xinetd
##5.开启守护进程
[root@pxe-server ~]# systemctl start xinetd.service 
##6.允许开启tftp服务
[root@pxe-server ~]# vim /etc/xinetd.d/tftp
####################
 14         disable       = no  ##允许开启tftp服务

在这里插入图片描述

##7.重启xinetd服务
[root@pxe-server ~]# systemctl restart xinetd.service
##查看开机系统选项
[root@pxe-server ~]# chkconfig

在这里插入图片描述

##8.开启tftp服务成功
[root@pxe-server ~]# systemctl start tftp.service
[root@pxe-server ~]# systemctl status tftp.service

在这里插入图片描述
(4).关联dhcp服务和pxe程序tftp

##1.编写文件
[root@pxe-server ~]# vim /etc/dhcp/dhcpd.conf 
####################
33   next-server 172.25.254.126;
34   filename "pxelinux.0";
##网络安装引导时,读取126主机的pxelinux.0文件(/usr/share/syslinux/pexlnux.0)

在这里插入图片描述

##2.重启dhcp服务
[root@pxe-server ~]# systemctl restart dhcpd
##3.关闭火墙
[root@pxe-server ~]# systemctl stop firewalld

测试:(重新打开一台主机并用网卡启动)
查看网卡信息:
在这里插入图片描述
网卡启动:
在这里插入图片描述
发现此时启动失败
在这里插入图片描述

(5).建立目录

[root@pxe-server ~]# cd /var/lib/tftpboot/
[root@pxe-server tftpboot]# ls
pxelinux.0
[root@pxe-server tftpboot]# mkdir pxelinux.cfg
[root@pxe-server tftpboot]# ls
pxelinux.0  pxelinux.cfg

在这里插入图片描述

[root@pxe-server tftpboot]# cd pxelinux.cfg/
[root@pxe-server pxelinux.cfg]# ls
[root@pxe-server pxelinux.cfg]# pwd
/var/lib/tftpboot/pxelinux.cfg

(6).拷贝镜像文件

[root@foundation34 ~]# df

在这里插入图片描述

[root@foundation34 ~]# cd /var/www/html/source7.2
[root@foundation34 source7.2]# ls
addons  images      Packages                 RPM-GPG-KEY-redhat-release
EFI     isolinux    release-notes            TRANS.TBL
EULA    LiveOS      repodata
GPL     media.repo  RPM-GPG-KEY-redhat-beta
[root@foundation34 source7.2]# cd isolinux/
[root@foundation34 isolinux]# ls
boot.cat  grub.conf   isolinux.bin  memtest     TRANS.TBL    vesamenu.c32
boot.msg  initrd.img  isolinux.cfg  splash.png  upgrade.img  vmlinuz

在这里插入图片描述

##1.拷贝isolinux.cfg文件到/var/lib/tftpboot/pxelinux.cfg目录中
[root@foundation34 isolinux]# scp isolinux.cfg root@172.25.254.34:/var/lib/tftpboot/pxelinux.cfg

在这里插入图片描述

[root@pxe-server pxelinux.cfg]# pwd
/var/lib/tftpboot/pxelinux.cfg
[root@pxe-server pxelinux.cfg]# ls
isolinux.cfg
##2.重命名;是为了让它可以识别
[root@pxe-server pxelinux.cfg]# mv isolinux.cfg default
[root@pxe-server pxelinux.cfg]# ls
default

在这里插入图片描述

[root@pxe-server pxelinux.cfg]# cd ..
[root@pxe-server tftpboot]# pwd
/var/lib/tftpboot
[root@pxe-server tftpboot]# ls
pxelinux.0  pxelinux.cfg

在这里插入图片描述

##3.拷贝所有文件到/var/lib/tftpboot/目录下
[root@foundation34 isolinux]# pwd
/var/www/html/source7.2/isolinux
[root@foundation34 isolinux]# scp * root@172.25.254.126:/var/lib/tftpboot/

在这里插入图片描述

[root@pxe-server tftpboot]# pwd
/var/lib/tftpboot
[root@pxe-server tftpboot]# ls
boot.cat   initrd.img    memtest       splash.png   vesamenu.c32
boot.msg   isolinux.bin  pxelinux.0    TRANS.TBL    vmlinuz
grub.conf  isolinux.cfg  pxelinux.cfg  upgrade.img

在这里插入图片描述
(7).编写文件

[root@pxe-server pxelinux.cfg]# pwd
/var/lib/tftpboot/pxelinux.cfg
[root@pxe-server pxelinux.cfg]# ls
default
##查看权限
[root@pxe-server pxelinux.cfg]# ll default 
-r--r--r--. 1 root root 3166 Dec  8 14: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.2\x20Server.x86_64
##删除 quit

在这里插入图片描述
测试:(重启测试主机)
在这里插入图片描述
发现此时仍然启动失败
在这里插入图片描述
(8).更改镜像位置

[root@pxe-server pxelinux.cfg]# vim default 
###############################
 64   append initrd=initrd.img repo=http://172.25.254.26/source7.2

在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述
网路引导安装虚拟机成功

2.管理虚拟机

(1).更改调整等待时间

[root@pxe-server pxelinux.cfg]# pwd
/var/lib/tftpboot/pxelinux.cfg
[root@pxe-server pxelinux.cfg]# vim default
###############################
  2 timeout 100

在这里插入图片描述
测试:
在这里插入图片描述
(2).更改标题名称

[root@pxe-server pxelinux.cfg]# pwd
/var/lib/tftpboot/pxelinux.cfg
[root@pxe-server pxelinux.cfg]# vim default 
###############################
 62   menu label hello world!

在这里插入图片描述
测试:
在这里插入图片描述
(3).更改默认进入的标题

[root@pxe-server pxelinux.cfg]# pwd
/var/lib/tftpboot/pxelinux.cfg
[root@pxe-server pxelinux.cfg]# vim default 
###############################
 63   menu default

在这里插入图片描述
测试:
在这里插入图片描述
(4).更改默认背景

##1.先下载一张.png图片
[root@foundation34 ~]# cd /home/kiosk/Pictures/Wallpapers
[root@foundation34 Wallpapers]# ls
feng.png
##搜索软件
[root@foundation34 ~]# yum whatprovides */convert

在这里插入图片描述

##2.安装更改图片大小的工具
[root@foundation34 ~]# yum install -y ImageMagick-6.7.8.9-15.el7_2.x86_64
[root@foundation34 ~]# cd /home/kiosk/Pictures/Wallpapers
[root@foundation34 Wallpapers]# ls
feng.png
##更改图片的大小
[root@foundation34 Wallpapers]# convert -resize 640x480 feng.png tp.png
[root@foundation34 Wallpapers]# file feng.png 
feng.png: PNG image data, 490 x 306, 8-bit/color RGBA, non-interlaced
##3.强制更改图片大小
[root@foundation34 Wallpapers]# convert -resize 640x480! feng.png tp.png
##查看图片的大小
[root@foundation34 Wallpapers]# file feng.png 
feng.png: PNG image data, 640 x 480, 8-bit/color RGBA, non-interlaced
##4.传输图片
[root@foundation34 Wallpapers]# scp tp.png root@172.25.254.126:/var/lib/tftpboot/
[root@pxe-server mnt]# cd /var/lib/tftpboot
[root@pxe-server tftpboot]# ls
boot.cat   initrd.img    memtest       splash.png  upgrade.img
boot.msg   isolinux.bin  pxelinux.0    tp.png      vesamenu.c32
grub.conf  isolinux.cfg  pxelinux.cfg  TRANS.TBL   vmlinuz

在这里插入图片描述

##5.更改默认背景
[root@pxe-server pxelinux.cfg]# pwd
/var/lib/tftpboot/pxelinux.cfg
[root@pxe-server pxelinux.cfg]# vim default 
###############################
 10 menu background tp.png

在这里插入图片描述
测试:(重启测试主机)
在这里插入图片描述
(5).kickstart自动安装虚拟机

##1.安装apahce服务
[root@pxe-server ~]# yum install -y httpd
##2.打开apache服务
[root@pxe-server ~]# systemctl start httpd
##3.安装kickstart工具
[root@pxe-server ~]# yum install -y system-config-kickstart.noarch 
##4.设定虚拟机安装信息
[root@pxe-server ~]# system-config-kickstart 

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

[root@pxe-server ~]# cd /var/www/html
[root@pxe-server html]# ls
ks.cfg
##5.更改时区,选择安装包
[root@pxe-server html]# vim ks.cfg 
#######################
10 timezone Asia/Shanghai   ##更改时区

 50 %packages               ##选择安装包
 51 @base
 52 @core
 53 @fonts
 54 @gnome-desktop
 55 @input-methods
 56 @x11
 57 
 58 lftp
 59 vnc
 60 %end

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

##6.检测语法
[root@pxe-server html]# ksvalidator ks.cfg 

网页测试:
输入 http://172.25.254.126/ks.cfg
在这里插入图片描述

##关联kickstart与pxe
[root@pxe-server html]# vim /var/lib/tftpboot/pxelinux.cfg/default 
#######################
 65   append initrd=initrd.img repo=http://172.25.254.26/source7.2 ks=http://172    .25.254.126/ks.cfg

在这里插入图片描述
重启测试主机:
在这里插入图片描述
完成自动安装虚拟机

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值