功能:

  批量全自动安装操作系统
方法:
  dhcp 自动分配IP
  tftp 微系统 用来安装系统
  httpd 网络源

操作流程:

#检查环境

getenforce	            	#检查selinux
systemctl status firewalld      #检查防火墙

#配置yum源(光盘源)

rm -rf /etc/yum.repos.d/*.re     #删除官方源
mkdir /iso               #创建挂载点
mount /dev/cdrom /iso       #挂载光盘
vim /etc/yum.repos.d/iso.repo #编辑源文件
#########
[iso]
name=iso
baseurl=file:///iso
enabled=1
gpgcheck=0
############
yum clean all             #清楚缓存
yum makecache             #生成缓存

#安装并配置dhcp

yum install dhcp -y	                 #安装dhcp服务
cd /etc/dhcp/                     #进入dhcp目录
cat /usr/share/doc/dhcp*/dhcpd.conf.example |grep -v "#" |grep -v '^$' > dhcpd.conf       #从模板复制配置文件的内容
vim dhcpd.conf                     #编辑配置文件
###############
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;                #系统默认数值,保留 subnet 192.168.10.0 netmask 255.255.255.0 {                              #自己的子网和掩码(必须自己有相同网段的IP)
range 192.168.10.180 192.168.10.200;      #自动分配IP范围
option routers 192.168.10.100;           #路由,写本机IP
filename "pxelinux.0";                #安装引导文件
next-server 192.168.10.100;           #去哪找引导文件,本机IP
}
##########################
systemctl restart dhcpd #重启dhcp

#安装并配置tftp

yum -y install tftp-server xinetd	#安装tftp xinetd
vim /etc/xinetd.d/tftp
#################
server_args = -s /tftpboot     #tftp工作目录
disable = no              #关闭禁用
#########################
systemctl restart xinetd      #启动xinetd 

#安装并配置httpd

yum -y install httpd syslinux	          #安装httpd syslinux
rm -rf /etc/httpd/conf.d/welcome.conf      #删除httpd欢迎页
cd /var/www/html/
mkdir iso                     #建立光盘挂载点
mount /dev/cdrom /var/www/html/iso/      #在httpd工作目录下挂载光盘
vim /etc/fstab                     #永久生效
##############
/dev/cdrom /var/www/html/iso iso9660 defaults 0 0
##############
cd /var/www/html/iso/isolinux           #进入光盘
cp vmlinuz /tftpboot/                #复制启动文件
cp initrd.img /tftpboot/
mkdir /tftpboot/pxelinux.cfg
cp isolinux.cfg /tftpboot/pxelinux.cfg/default
cp /usr/share/syslinux/pxelinux.0 /tftpboot/

#编辑模板文件

cd /tftpboot/pxelinux.cfg			#进入tftp工作目录
vim default      #编辑默认文件
############
default ks #修改默认的启动label label ks #定义label
menu label ^Install CentOS 7
kernel vmlinuz
append initrd=initrd.img method=http://192.168.10.100/iso ks=http://192.168.10.100/ks.cfg devfs=nomount   #添加光盘位置和ks文件位置
################### cd
cp anaconda-ks.cfg /var/www/html/ks.cfg   #复制装机记录文件
cd /var/www/html/
vim ks.cfg
###################
删除cdrom
install
url --url="http://192.168.10.100/iso" #光盘地址
#####################
chmod 644 ks.cfg #给ks文件所有用户可读  

#重启服务添加防火墙

systemctl enable dhcpd xinetd httpd
systemctl restart dhcpd xinetd httpd
netstat -anp|grep dhcpd
netstat -anp|grep xinetd
firewall-cmd --add-port=67/udp --permanent
firewall-cmd --add-port=69/udp --permanent
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload

  

pxe批量部署的更多相关文章

  1. PXE批量部署linux操作系统

    前言 在实际生产环境中,有时候我们会碰到为几十上百甚至上千台服务器安装Linux操作系统的需求,如果我们还是常规的去使用移动介质逐台安装,显然是一件低效又令人抓狂的事情,那要安装到何年何月啊?这对于我 ...

  2. PXE批量部署安装Linux系统

    PXE介绍 1)Preboot Excution Environment 预启动执行环境 2)Intel公司研发 3)基于Client/Server的网络模式,支持远程主机通过网络从远端服务器下载映 ...

  3. shell基础之pxe批量部署

    通过安装及配置DHCP,tftp-server,xinetd,httpd,syslinux来实现批量安装Linux系统 #!/bin/bash #检查环境 se_state=`getenforce` ...

  4. pxe批量部署脚本

    #!/bin/bash #检查环境 setenforce 0 sed -i 's/=enforce/=disabled/g' /etc/selinux/config systemctl restart ...

  5. Cobbler批量部署CentOS

    简介 Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便(才15k行python代码),使用简单的命令即可完成PXE ...

  6. 使用 PXE+Kickstart 实现无人值守批量部署系统

    一.废话两句 在云数据中心,一次几十台甚至几百台服务器上线,系统安装将变得非常繁琐,系统安装好了后还会涉及很多配置,如果一台台来安装的话工作量非常大.(虽然有加班费,开个玩笑)为了解决这个问题,我们需 ...

  7. Cobbler自动化批量部署CentOS6.5系统

    Cobbler作为一个预备工具,使批量部署Red Hat/Centos/Fedora系统更容易,同时也支持Suse和Debian系统的部署. 它提供以下服务集成: * PXE服务支持 * DHCP服务 ...

  8. 第19章 使用PXE+Kickstart部署无人值守安装

    章节概述: 本章节将教会您通过PXE+DHCP+TFTP+VSftpd+Kickstart服务程序搭建出无人值守安装系统,从而批量部署客户机系统. 这种系统能够实现自动化运维.避免了重复性劳动,帮助提 ...

  9. centos7使用cobbler(2.8)批量部署操作系统之一

    一.    批量部署操作系统的前提 要想批量部署操作系统,得具备以下条件: 客户机支持pxe网络引导 服务器端和客户端建立网络通信(DHCP) 服务器端要有可供客户机开机引导的引导文件 服务器端的可引 ...

随机推荐

  1. 无人机基于Matlab/Simulink的模型开发(连载一)

    "一切可以被控制的对象,都需要被数学量化" 这是笔者从事多年研发工作得出的道理,无论是车辆控制,机器人控制,飞机控制,还是无人机控制,所有和机械运动相关的控制,如果不能被很好的数学 ...

  2. 尹吉峰:使用 OpenResty 搭建高性能 Web 应用

    2019 年 8 月 31 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·成都站,原贝壳找房基础架构部工程师尹吉峰在活动上做了<使用 O ...

  3. WPF编程,C#中对话框自动关闭的一种方法(转载)

    本文原文链接:https://blog.csdn.net/qq_43307934/article/details/84933196———————————————— MessageBoxTimeout是 ...

  4. 代码审计-凡诺CMS 2.1文件包含漏洞

    0x01代码审计 后台账号密码: admin admin 安装好了是这样的 漏洞文件:/channel.php if (ism()) { include($dir.$t_mpath.$c_mcmode ...

  5. 基于常规DNS隧道进行的tcp端口转发dns2tcp的使用

    0x01 安装Dns2TCP dns2tcp 是一个利用DNS隧道转发TCP连接的工具,使用C语言开发. sudo apt-get install dns2tcp 0x02配置dns2tcp 配置DN ...

  6. Lock wait timeout exceeded?代码该优化了

    背景 最近在排查问题时发现,偶尔会发生关于数据库锁超时的现象,会发生像如下的报错信息: Exception in thread "pool-3-thread-1" org.spri ...

  7. Android 使用appcompat_v7包以及源码注意事项

    最近学习和实践Android,无数次被AS和gradle惨痛的折磨,于是决定坚守Eclipse阵地..真是无奈之举,AS和gradle对我而言就像win10一样不讨喜. 当然Eclipse中开发and ...

  8. PowerShell渗透--Empire

    0x00 简介 Empire是一款针对Windows平台的,使用PowerShell脚本作为攻击载荷的渗透攻击框架代码具有从stager生成,提权到渗透维持的一系列功能,无需powershell.ex ...

  9. vue 动态数据绑定

    动态数据绑定(一) 我的github iSAM2016 实现的步骤: 1.监听对象属性的读取与变化 Object.defineProperty() 方法会直接在对象上定义一个新的的属性,或者已经存在的 ...

  10. 开发架构+osi七层协议+socket(day26)

    目录 软件开发架构 C/S架构 B/S架构 网络编程 互联网协议/OSI七层协议 传输层 网络层 数据链路层 物理连接层 socket 什么是socket 为什么用socket 如何使用 软件开发架构 ...