目录
一、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 #主要改disableservice tftp
{socket_type = dgramprotocol = udpwait = no
//wait no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接,表示是否开启多线程一起工作,否则需要等待user = rootserver = /usr/sbin/in.tftpdserver_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/centos7label linux text #文本安装模式,出现boot:时输入linux textkernel vmlinuz append text initrd=initrd.img method=ftp://192.168.28.28/centos7label linux rescue #救援模式,出现boot:时输入linux rescuekernel 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 autokernel vmlinuz append initrd=initrd.img method=ftp://192.168.28.28/centos7 ks=ftp://192
.168.28.28/ks.cfglabel linux textkernel vmlinuz append text initrd=initrd.img method=ftp://192.168.28.28/centos7 ks=ftp:
//192.168.28.28/ks.cfglabel linux rescuekernel 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台也不够安装