- 前言
- 一、了解PXE
- 1.什么是PXE
- 2.实现过程讲解
- 3.搭建过程中服务详解
- 3.1TFTP服务
- 3.2 vsftp服务
- 3.3 syslinux
- 4.pxe 优点
- 5.操作过程
- 二、kickstart 无人值守安装
前言 一、了解PXE 1.什么是PXE
PXE 的全称是 preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统。
pxe是通过网卡引导启动
1.1实现的硬件条件
1.BIOS支持
2.网卡支持(现在基本都已支持)
3.需要在bios中开启开关,服务器一般没打开(bmc界面里打开)
4.网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置
5.服务器通过 tftp服务(简单文件传输协议)来提供系统内核和引导镜像的下载
2.实现过程讲解1)网卡需要查找相关的dhcp服务器(获取地址时间)
2)找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址 还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)
3)网卡使用tftp客户端吧引导程序加载到内存中来
4)bios执行引导程序
5)引导程序会去TFTP去查找配置文件
6)根据配置文件去引导安装系统
7)系统安装过程
3.搭建过程中服务详解PXE 远程安装服务器集成了 CentOS 7 安装源、TFTP 服务、DHCP 服务,能 够向客户机裸机发送 PXE 引导程序、Linux 内核、启动菜单等数据,以及提供安装文件。
3.1TFTP服务**TFTP(简单文件传输协议):**内核和引导文件
是一种基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小型文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP69端口。
3.2 vsftp服务vsftp:安装系统镜像文件获取方式
可以使用http ftp等方式,ftp文件传输的一种。
3.3 syslinuxsyslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。
4.pxe 优点1.规模化:同时装配多台服务器
2.自动化:安装系统、配置各种服务
3.远程实现:不需要光盘、U盘等安装介质
大概过程
- 分配给同一局域网内新加机器的地址(配置文件)
- tftp服务端开启
- 安装syslinux 取得 pxelinux.0 文件、和vsftpd服务
- 挂载安装源(mount /dev/sr0 /var/ftp/centos7)
- 将四大文件拷入 (/var/lib/tftpboot initrd.img pxelinux.0 pxelinux.cfg/default vmlinuz)
- 将服务开启,关闭防火墙,selinux
具体步骤
先添加一块网卡并设置为仅主机模式,并配置网卡配置文件
cd /etc/sysconfig/network-scripts/ ipconfig #看下自己第二块网卡的名字,我这是ens37 cp ifcfg-ens33 ifcfg-ens37 vim ifcfg-ens37
yum install dhcp* -y
cat /etc/dhcp/dhcpd.conf
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
yum install tftp-server -y
rpm -ql tftp-server #/etc/xinetd.d/tftp //配置文件 #/var/lib/tftpboot //站点
vim /etc/xinetd.d/tftp
yum install syslinux -y #引导程序文件需要先安装此服务
rpm -ql syslinux |grep pxelinux.0 #安装完成后找到该文件的地址 /usr/share/syslinux/gpxelinux.0 /usr/share/syslinux/pxelinux.0 //地址 cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #拷贝到站点文件里
yum install vsftpd -y
rpm -ql vsftpd /var/ftp cd /var/ftp mkdir centos7 mount /dev/sr0 /var/ftp/centos7
[root@localhost centos7]# cd /var/ftp/centos7/ [root@localhost centos7]# ls CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7 EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL [root@localhost centos7]# cd images/ [root@localhost images]# ls efiboot.img pxeboot TRANS.TBL [root@localhost images]# cd pxeboot/ [root@localhost pxeboot]# ls initrd.img TRANS.TBL vmlinuz [root@localhost pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/
[root@localhost pxeboot]# cd /var/lib/tftpboot/ [root@test2 tftpboot]# mkdir pxelinux.cfg [root@test2 tftpboot]# cd pxelinux.cfg/ [root@test2 pxelinux.cfg]# vim default
systemctl stop firewalld.service setenforce 0 systemctl satrt dhcpd systemctl start tftp systemctl satrt vsftpd
现在就可以去试试装机啦
这就是全部步骤啦,这是半自动的还是需要手点的,下面我们来做全自动的
kickstart文件主要包括三个部分:命令段,程序包段,脚本段
命令段:指明各种安装前配置,如键盘类型等
命令段中的常见命令:
keyboard: 设定键盘类型
lang: 语言类型
zerombr:清除mbr
clearpart:清除分区
part: 创建分区
rootpw: 指明root的密码
timezone: 时区
text: 文本安装界面
network:指定网络设置
firewall:设置防火墙设置
selinux:设置selinux设置
reboot:安装完自动重启
user:安装完成后为系统创建新用户
url: 指明安装源
程序包段:指明要安装的程序包组或程序包,不安装的程序包等
%packages
@^environment group: 指定环境包组,如:@^minimal-environment
@group_name
package
-package
%end
脚本段:
%pre: 安装前脚本
%post: 安装后脚本
注意:
CentOS 8,7,6 不同版本的kickstart文件格式不尽相同,不可混用
yum install system-config-kickstart -y
基本配置:
找到kickstart进行基础配置
2.安装方法:
3引导文件
4.分区
5.配置网卡
[root@localhost pxelinux.cfg]#cd /var/ftp/ [root@localhost ftp]#ls #查看应答文件 centos7 ks.cfg pub [root@localhost ftp]#cd #回到家目录 [root@localhost ~]#ls abc.txt anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost tftpboot]#cd /var/ftp/ [root@localhost ftp]#vim ks.cfg #复制到 自己的ks文件中
[root@localhost ftp]# cd /var/lib/tftpboot/ [root@localhost tftpboot]# ls initrd.img pxelinux.0 pxelinux.cfg vmlinuz [root@localhost tftpboot]# cd pxelinux.cfg/ [root@localhost pxelinux.cfg]# ls default [root@localhost pxelinux.cfg]# vim default
这样就结束了,完全全自动,不用一个个点啦
快去装机试试吧



