一.什么是pxe

PXE的全称是preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统。
两个不可缺少的两个文件
vmlinuz:是内核映像
initrd.img: ramfs文件(精简版的linux系统,文件系统驱动等)

二.PXE批量部署的优点

规模化:同时装配多台服务器
自动化:安装系统、配置各种服务
远程实现:不需要光盘、U盘等安装介质

三.操作过程

1.大概过程

1.分配给同一局域网内新加机器的地址(配置文件)
2.tftp服务端开启
3.安装syslinux取得pxelinux.O文件、和vsftpd服务4.挂载安装源(mount /dev/srO /varlftp/centos7)
5.将四大文件拷入(/var/lib/tftpbootinitrd.img pxelinux.0 pxelinux.cfg/defaultvmlinuz)
6.将服务开启,关闭防火墙,selinux

2.具体过程

1安装服务dhcp tftp-servervsftpsys1inux
2修改配置文件
dhcp
next-server IP地址;filename “pxelinux.0”;
tftp-server
/etc/xinetd.d/tftp
14行yes no
/var/lib/tftpboot
四大文件
initrd.img vmlinuz(光盘内images)
pxelinux.0 (安装sys7inux)
pxelinux.cfg (手动创建文件夹)
创建 default的文件

关闭防火墙
开启服务

四.实操

1.PXE

1,添加一块网卡做内网连接的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
把第二块网卡设置为仅主机模式
在这里插入图片描述
查看下本地地址,给第二块网卡的网关设置为主机的IP地址
在这里插入图片描述

把第一块网卡内容复制到第二块网卡上并修改

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens37

删除原来的uuid行,下面方框里的需要修改,网关为ftp服务器的ip地址
在这里插入图片描述配置好后重启网络服务

[root@localhost network-scripts]# systemctl restart network

安装dhcp

[root@localhost network-scripts]# yum install dhcp -y
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y                        #拷贝文件覆盖原文件
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf                    #对文件进行编辑

更改27行,照此更改,前一行是网段,第二行是允许的网段,第三行是网关,第四行是dhcp主机,第五行为文件
在这里插入图片描述

安装tftp服务

[root@localhost ~]# yum install tftp-server -y
[root@localhost ~]# rpm -ql tftp-server                          查看

红色部分是比较有用的文件夹,以后会用到,
在这里插入图片描述
编辑/etc/xinetd.d/tftp,把14行的yes改成no

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

在这里插入图片描述
安装syslinux,产生pxelinux.0文件,拷贝到/var/lib/tftpboot/目录下

[root@localhost ~]# yum install syslinux -y
[root@localhost ~]# rpm -ql syslinux|grep "0"|tail -1         找到文件路径
/usr/share/syslinux/pxelinux.0
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost ~]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# ls
pxelinux.0

安装vsftp

[root@localhost tftpboot]# yum install vsftpd -y
[root@localhost tftpboot]# rpm -ql vsftpd|tail -2
/var/ftp                                                      这是vsftpd的站点位置
/var/ftp/pub
[root@localhost tftpboot]# cd /var/ftp
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir centos7                            在/var/ftp目录下创建该文件夹
[root@localhost ftp]# ls
centos7  pub                                               
[root@localhost ftp]# mount /dev/sr0 centos7/                   把光驱挂载到新建目录下
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost /]# cd /var/ftp/centos7/images/pxeboot/
[root@localhost pxeboot]# ls
initrd.img  TRANS.TBL  vmlinuz
[root@localhost pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/       拷贝2个文件到/var/lib/tftpboot/
[root@localhost ~]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# ls
initrd.img  pxelinux.0  vmlinuz

[root@localhost tftpboot]# mkdir pxelinux.cfg                    创建一个文件夹
[root@localhost tftpboot]# cd pxelinux.cfg/
[root@localhost pxelinux.cfg]# vim default                       创建一个default文件并编辑

在这里插入图片描述

[root@localhost pxelinux.cfg]# systemctl start dhcpd
[root@localhost pxelinux.cfg]# systemctl start vsftpd
[root@localhost pxelinux.cfg]# systemctl start tftp
[root@localhost pxelinux.cfg]# systemctl stop firewalld.service 
[root@localhost pxelinux.cfg]# setenforce 0

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
启动虚拟机
在这里插入图片描述
成功开始安装,这种方式只会安装到选择语音项,后面的都要手动配置安装
在这里插入图片描述

2.制作无人值守安装系统

在pxe基础上安装kickstart

[root@localhost pxelinux.cfg]# yum install system-config-kickstart.noarch -y

在这里插入图片描述
进行设置,第一块设置语言,键盘,时区,密码,安装完重启
在这里插入图片描述
设置安装模式和安装方法和路径
在这里插入图片描述
3.设置引导装载程序选项
在这里插入图片描述
设置分区信息
清除主引导分区,清除所有现存分区,初始化磁盘分区
在这里插入图片描述
添加/boot,swap,和/目录磁盘
在这里插入图片描述
在这里插入图片描述
/这里是把剩下的磁盘全部给
在这里插入图片描述
在这里插入图片描述
设置网络
在这里插入图片描述
添加网卡
在这里插入图片描述
验证就用默认设置
在这里插入图片描述
防火墙设置,都选择关闭
在这里插入图片描述

中间没提到的全部默认
在这里插入图片描述
配置好后进行保存
在这里插入图片描述
保存在文件系统里的/var/ftp文件夹下
在这里插入图片描述

[root@localhost ~]# cd /var/ftp
[root@localhost ftp]# ls
centos7  ks.cfg  pub
[root@localhost ~]# ls
anaconda-ks.cfg  Desktop  Documents  Downloads  initial-setup-ks.cfg  Music  Pictures  Public  Templates  Videos
[root@localhost ~]# vim anaconda-ks.cfg

复制以下行数(安装包),注意符号也要一起复制
%packages
@^gnome-desktop-environment
@base
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
kexec-tools

%end

[root@localhost ~]# vim /var/ftp/ks.cfg         把刚刚复制的内容黏贴到此文件的最后一行
[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default    编辑此文件

添加命令
在这里插入图片描述
然后到客户机上就可以自动安装了

总结

使用工具能半自动甚至全自动安装系统

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐