目录

一、pxe远程安装服务

1、概念

2、优点

3、前提条件

4、基本部署过程

5、客户机和服务机的工作流程

6、搭建PXE远程服务

环境

第一步:配置双网卡一个作用是dhcp,一个是使用网络源安装环境包

第二步、安装并启用DHCP服务

第三步、安装并启用TFTP服务

第四步、准备PXE引导程序的pxelinux.0 ,引导客户端如何安装系统

第五步、配置启动菜单文件

第六步、安装ftp服务,准备centos7安装源

二、实现kickstart自动安装

1、概念

2、实现Kickstart无人值守安装

第一步、安装客户机,选择仅主机模式,和我们前面服务器设置的同一网段

第二步、安装程序和添加ks引导参数

第三步、定义自动化安装步骤(服务器端)

第四步、配置软件包,需要编辑ks.cfg文件,添加至最后

第五步、就是重新启动你要得客户机,它就会自己安装了

总结

今天分享的内容虽然不常用,但是个人感觉很有趣,我前面分享过如何装虚拟机,但是我们每装一台都需要很长时间,今天就给大家分享一下pxe批量装机的方法

一、pxe远程安装服务

1、概念

PXE是由Intel 公司开发的网络引导技术,工作在 client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。

PKE严格来说并不是一种安装方式,而是一种引导的方式。进行 PXE安装的必要条件是要安装 的计算机中包含一个 PXE支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot ExecutionEnvironment)协议使计算机可以通过网络启动。

协议分为 client 和 server端,PXE client 在网卡的 ROM中,当计算机引导时,BIoS把 PKEclient 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。

运行 PXE协议需要设置 DHCP服务器和TFTP服务器。DHCP服务器用来给PXE client(将 要安装系统的主机)分配一个IP地址, 由于是给 PXE client 分配IP地址,所以在配置 DHCP服务器时需要增加相应的PXE 设置。

此外,在 PxE client 的 ROM中,已经存在了TFTP Client。PXE Client通过TFTP 协议到TFTP Server 上下载所需的文件。

2、优点

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

3、前提条件

客户机的网卡支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。

网络中有一台DHCP 服务器以便为客户机自动分配地址、指定引导文件位置。

服务器通过TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。

其中,第一个条件实际上是硬件要求,目前绝大多数服务器和大多数PC 都能够提供此支持,只需在BIOS设置中允许从Network或者LAN启动即可。

4、基本部署过程

准备CentOS 7安装源(YUM仓库)

安装并启用TFTP服务

提供Linux内核、PXE引导程序等

安装并启用DHCP服务

配置启动菜单

5、客户机和服务机的工作流程

PXE客户机发出DHCP请求,向DHCP服务器申请IP地址

DHCP服务器响应PXE客户机的请求,自动从IP地址池中分配一个IP地址给PXE客户机,且告知PXE客户机:TFTP服务器的IP地址和PXE引导程序文件pxelinux.0,默认在TFTP共享目录/var/lib/tftpboot/下

PXE客户机向TFTP服务器发起获取pxelinux.0引导程序文件的请求

TFTP服务器响应PXE客户机的请求,将其共享的pxelinux.0文件传输给PXE客户机

PXE客户机通过网络来启动到系统安装主界面

PXE客户机向文件共享服务器(ftp、http、nfs等)发起获取centos或windows系统安装文件的请求

文件共享服务响应PXE客户机的请求,将共享的系统安装文件传输给PXE客户机

PXE客户机进入到安装提示向导界面,用户需要手动来完成系统安装的操作

6、搭建PXE远程服务

环境

一台作为pxe服务器,一台作为裸金属客户机,绑定同一块网卡,裸金属客户机vmnet1网卡取消勾选dhcp配置关闭selinux和防火墙

一台主机

配置双网卡一个作用是dhcp,一个是使用网络源安装环境包 DHCP部署 tftp-server——服务器通过TFTP(简单文件传输协议)提供引导镜像文件的下载

syslinux——用来提供pxe的引导程序 xinetdl——用来托管tftp vsftpd——用来放置安装镜像,通过ftp访问镜像安装7) kickstart /用来无人值守安装

第一步:配置双网卡一个作用是dhcp,一个是使用网络源安装环境包

第二步、安装并启用DHCP服务

[root@localhost ~]# yum install dhcp -y

[root@localhost ~]# cp -rfp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc

/dhcp/dhcpd.confcp:是否覆盖"/etc/dhcp/dhcpd.conf"? y

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

subnet 192.168.28.0 netmask 255.255.255.0 {

range 192.168.28.10 192.168.28.100;

option routers 192.168.28.28;

next-server 192.168.28.28; #指定tftp服务器的地址(*)

filename "pxelinux.0"; #指定pxe引导程序的文件名(*)

}

[root@localhost ~]# systemctl start dhcpd

[root@localhost ~]# systemctl status dhcpd

[root@localhost ~]# systemctl enable dhcpd

[root@localhost ~]# systemctl is-enabled dhcpd

第三步、安装并启用TFTP服务

[root@localhost ~]# yum install tftp-server -y

[root@localhost ~]# vim /etc/xinetd.d/tftp #主要改disable

service tftp

{

socket_type = dgram

protocol = udp

wait = no

//wait no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接,表示是否开启多线程一起工作,否则需要等待

user = root

server = /usr/sbin/in.tftpd

server_args = -s /var/lib/tftpboot

//指定TFTP根目录(引导文件的存储路径) -c允许上传

disable = no //disable no表示开启TFTP服务

per_source = 11

//通过限制一个主机的最大连接数,从而防止某个主机独占某个服务,这里每个IP地址的连接数是11个

cps = 100 2

//表示服务器最多启动100个连接,如果达到这个数目将停止启动新服务2秒。在此期间不接受任何请求

flags = IPv4

}

[root@localhost ~]# mount /dev/sr0 /mnt

mount: /dev/sr0 写保护,将以只读方式挂载

[root@localhost ~]# cd /mnt/images/pxeboot/

[root@localhost pxeboot]# ls

initrd.img TRANS.TBL vmlinuz

[root@localhost pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/

[root@localhost pxeboot]# systemctl start tftp

[root@localhost pxeboot]# systemctl status tftp

[root@localhost pxeboot]# systemctl enable tftp

[root@localhost pxeboot]# systemctl is-enabled tftp

第四步、准备PXE引导程序的pxelinux.0 ,引导客户端如何安装系统

[root@localhost ~]# yum install syslinux -y

[root@localhost ~]# rpm -ql syslinux |grep pxelinux

/usr/share/doc/syslinux-4.05/pxelinux.txt

/usr/share/syslinux/gpxelinux.0

/usr/share/syslinux/gpxelinuxk.0

/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

initrd.img pxelinux.0 vmlinuz

[root@localhost tftpboot]# mkdir pxelinux.cfg

[root@localhost tftpboot]# ls

initrd.img pxelinux.0 pxelinux.cfg vmlinuz

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

[root@localhost tftpboot]# cat pxelinux.cfg/default

default auto #指定默认入口名称 ,对应下面的label auto

prompt 1 #设置是否等待用户选择,1 表示等待用户控制,0表示不等待用

户控制,安装时会出现boot:如果按回车表示选择auto模式

label auto #默认的图形安装

kernel vmlinuz

append initrd=initrd.img method=ftp://192.168.28.28/centos7

label linux text #文本安装模式,出现boot:时输入linux text

kernel vmlinuz

append text initrd=initrd.img method=ftp://192.168.28.28/centos7

label linux rescue #救援模式,出现boot:时输入linux rescue

kernel vmlinuz

append rescue initrd=initrd.img method=ftp://192.168.28.28/centos7

第六步、安装ftp服务,准备centos7安装源

[root@localhost ~]# yum install vsftpd -y

[root@localhost ~]# mkdir /var/ftp/centos7

[root@localhost ~]# cp -rf /mnt/* /var/ftp/centos7

[root@localhost ~]# systemctl start vsftpd

[root@localhost ~]# systemctl status vsftpd

[root@localhost ~]# systemctl enable vsftpd

[root@localhost ~]# systemctl is-enabled vsftpd

二、实现kickstart自动安装

1、概念

KickStart是一种无人职守安装方式。KickStart的工.作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为 ks.cfg 的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart 生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。 这样,如果Kickstart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉 安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。

2、实现Kickstart无人值守安装

第一步、安装客户机,选择仅主机模式,和我们前面服务器设置的同一网段

第二步、安装程序和添加ks引导参数

[root@localhost tftpboot]# yum install system-config-kickstart -y

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

[root@localhost tftpboot]# cat pxelinux.cfg/default

default auto

prompt 0 #自动

label auto

kernel vmlinuz

append initrd=initrd.img method=ftp://192.168.28.28/centos7 ks=ftp://192

.168.28.28/ks.cfg

label linux text

kernel vmlinuz

append text initrd=initrd.img method=ftp://192.168.28.28/centos7 ks=ftp:

//192.168.28.28/ks.cfg

label linux rescue

kernel vmlinuz

append rescue initrd=initrd.img method=ftp://192.168.28.28/centos7 ks=ft

p://192.168.28.28/ks.cfg

第三步、定义自动化安装步骤(服务器端)

第四步、配置软件包,需要编辑ks.cfg文件,添加至最后

[root@localhost ftp]# cd /root

[root@localhost ~]# ls

anaconda-ks.cfg 公共 视频 文档 音乐

initial-setup-ks.cfg 模板 图片 下载 桌面

[root@localhost ~]# vim anaconda-ks.cfg

[root@localhost ~]# vim /var/ftp/ks.cfg #添加刚刚的配置到行尾

systemctl restart vsftpd && systemctl restart dhcpd && systemctl restart tftp

第五步、就是重新启动你要得客户机,它就会自己安装了

总结

最后客户机安装的时候,因为我这边做的事例,所有需要配置同一网段,但是在公司里,我们基本都是在同一网段,所以我们只要开机就会自己安装系统了,是不是感觉100台也不够安装