PXE高效装机(附加脚本)
发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,一、PXE网络装机1.概述:PXE是intel公司开发的网络引导技术,C/S架构;2.条件:服务器端:服务作用dhcp服务为客户机提供网络参数,及指定pxe服务器地址tftp-server服务为客户端
千家信息网最后更新 2024年11月25日PXE高效装机(附加脚本)
一、PXE网络装机
1.概述:PXE是intel公司开发的网络引导技术,C/S架构;
2.条件:
服务器端:
服务 | 作用 |
---|---|
dhcp服务 | 为客户机提供网络参数,及指定pxe服务器地址 |
tftp-server服务 | 为客户端发送vmlinuz内核,initrd.img启动文件,pxelinux相关的文件 |
vsftpd服务 | 提供系统安装过程的ISO镜像中的软件及ks.cfg(应答文件) |
kickstart服务 | 生成ks.cfg应答文件(涵盖了装系统中的每一步) |
客户端:网卡支持PXE协议,且主板支持网络引导;
3.三个组件的关系
4.装机流程:
a、设置客户机的BIOS从PXE启动
b、客户机向网络中请求DHCP服务器获取动态IP
c、DHCP服务器下发IP、引导文件位置、TFTP服务器地址
d、客户机请求TFTP服务器获取引导文件
e、执行引导程序
f、请求TFTP服务器获取配置文件(pxelinux.cfg)
g、配置文件包含vmlinux、initrd.img、ks文件位置信息
h、根据配置文件,用户请求TFTP服务器获取linux内核(vmlinux)
i、请求TFTP服务器获取linux根文件系统(initrd.img)
j、客户机启动linux内核
k、内核挂载initrd.img,并执行挂载各种各样的模块
l、如果设置KS文件,装机步骤自动选择,否则需手动选择
m、装机完成
二.实验过程
(一)安装dhcp服务以及配置 /etc/dhcp/dhcpd.conf
[root@localhost network-scripts]# yum install dhcp -y 安装dhcp服务[root@localhost network-scripts]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 复制为dhcp的配置文件cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y[root@localhost network-scripts]# vim /etc/dhcp/dhcpd.conf 编辑dhcp配置文件
subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.20 192.168.100.340; option routers 192.168.100.100; option domain-name-servers 114.114.114.114; next-server 192.168.100.100;//指向tftp服务器地址 filename "pxelinux.0";指定引导文件}
(二)安装syslinux,tftp服务
1安装tftp,修改配置文件
[root@localhost network-scripts]# yum install tftp-server -y //安装tftp服务[root@localhost network-scripts]#sed -i '/disable/s/yes/no/g' /etc/xinetd.d/tftp //修改配置文件
2.安装syslinux,并且把引导文件pxelinux.0复制到 /var/lib/tftpboot 目录下
oot@localhost network-scripts]# yum install syslinux -y //安装syslinux[root@localhost network-scripts]#find /usr/share/syslinux/ -name "pxelinux.0" -exec cp -fp {} /var/lib/tftpboot \; //把pxelinux.0 文件复制到/var/lib/tftpboot 目录下
(三)安装vsftp服务(安装之前先将centos7镜像文件连接到光盘),将压缩内核和初始化文件复制到TFTP站点
[root@localhost tftpboot]# yum install vsftpd -y //安装vsftp服务 mkdir /var/ftp/centos7 //创建centos7目录 mount /dev/sr0 /var/ftp/centos7 //把镜像挂载到centos7下面 find /var/ftp/centos7/images/pxeboot -name "initrd.img" -exec cp -fp {} /var/lib/tftpboot \; find /var/ftp/centos7/images/pxeboot -name "vmlinuz" -exec cp -fp {} /var/lib/tftpboot \;
(四)编辑启动菜单default配置文件,关闭防火墙并开启三个服务
[root@localhost pxeboot]# cd /var/lib/tftpboot/ 切换到tftp站点[root@localhost tftpboot]# mkdir pxelinux.cfg 创建配置文件目录[root@localhost tftpboot]# lsinitrd.img pxelinux.0 pxelinux.cfg vmlinuz[root@localhost tftpboot]# cd pxelinux.cfg/[root@localhost pxelinux.cfg]# vim default 编辑default配置文件[root@localhost pxelinux.cfg]# systemctl stop firewalld.service 关闭防火墙[root@localhost pxelinux.cfg]# setenforce 0[root@localhost pxelinux.cfg]# systemctl start dhcpd 启动三个服务[root@localhost pxelinux.cfg]# systemctl start tftp[root@localhost pxelinux.cfg]# systemctl start vsftpd
defualt配置文件如下
default autoprompt 1label auto kernel vmlinuz append initrd=initrd.img method=ftp://192.168.100.100/centos7label linux text kernel vmlinuz append text initrd=initrd.img method=ftp://192.168.100.100/centos7label linux rescue kernel vmlinuz append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7
三.脚本
#!/bin/bash#---------------------------#by jiji date:9-10 -#pxe高效装机 -#---------------------------#配置dhcp配置文件dhcpexp(){ echo -e " subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.10 192.168.100.20; option routers 192.168.100.100; option domain-name-servers 114.114.114.114; next-server 192.168.100.100; filename \"pxelinux.0\" ; }" >>/etc/dhcp/dhcpd.conf }#安装dhcprpm -q dhcpif [ $? -eq 0 ];then dhcpexpelse yum -y install dhcp cp -fpr /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf dhcpexpfi#安装tftp和修改配置文件 rpm -q tftp-serverif [ $? -ne 0 ];then yum -y install tftp-server sed -i '/disable/s/yes/no/g' /etc/xinetd.d/tftpelse sed -i '/disable/s/yes/no/g' /etc/xinetd.d/tftpfi#安装syslinuxrpm -q syslinuxif [ $? -ne 0 ];then find /usr/share/syslinux/ -name "pxelinux.0" -exec cp -fp {} /var/lib/tftpboot \;else yum -y install syslinux find /usr/share/syslinux/ -name "pxelinux.0" -exec cp -fp {} /var/lib/tftpboot \;fi$安装ftprpm -q vsftpdif [ $? -ne 0 ];then yum -y install vsftpd mkdir /var/ftp/centos7 mount /dev/sr0 /var/ftp/centos7 find /var/ftp/centos7/images/pxeboot -name "initrd.img" -exec cp -fp {} /var/lib/tftpboot \; find /var/ftp/centos7/images/pxeboot -name "vmlinuz" -exec cp -fp {} /var/lib/tftpboot \;else mkdir /var/ftp/centos7 mount /dev/sr0 /var/ftp/centos7 find /var/ftp/centos7/images/pxeboot -name "initrd.img" -exec cp -fp {} /var/lib/tftpboot \; find /var/ftp/centos7/images/pxeboot -name "vmlinuz" -exec cp -fp {} /var/lib/tftpboot \;fi#配置编辑default启动菜单mkdir /var/lib/tftpboot/pxelinux.cfgcat>/var/lib/tftpboot/pxelinux.cfg/default <<-EOFdefault autoprompt 1label auto kernel vmlinuz append initrd=initrd.img method=ftp://192.168.100.100/centos7label linux text kernel vmlinuz append text initrd=initrd.img method=ftp://192.168.100.100/centos7label linux rescue kernel vmlinuz append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7EOF#关闭防火墙启动服务systemctl stop firewalld.servicesetenforce 0systemctl start dhcpdsystemctl restart dhcpdsystemctl start tftpsystemctl restart tftpsystemctl start vsftpdsystemctl restart vsftpd
文件
服务
配置
服务器
客户
内核
客户机
网络
目录
三个
地址
系统
镜像
防火墙
防火
位置
客户端
站点
菜单
过程
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
跟滴滴一样的软件开发多少钱
山西调度服务器生产云主机
ios数据库编程
开源 服务器 硬件监控
bbs中银软件开发中心
惠州通信软件开发销售厂
一般app使用的数据库
建立大数据库
软件开发好坏的标准
数据库中复选框
在创建数据库时null
电驴最新静态服务器列表
航空订票系统的测试数据库
DNS服务器配置权威域
约束有何作用 数据库
开源免费关系数据库
全国软件开发权威学校排名
松江区市场软件开发报价表
折纸小手工网络安全手抄报
电子软件开发学校一年学费多少
无线扩展器网络安全性
国内云服务器租用
栖霞区旅游app软件开发
无锡创新网络技术创新服务
网络安全教育课心得
软件开发终止协议能拿代码吗
java 软件开发 月薪
中国企业税收数据库
c mssql数据库备份
创建数据库监听启动