批量全自动安装操作系统

dhcp:自动分配IP

tftp:微系统安装系统

httpd:网络源

检查环境(永久性关闭selinux)

setenforce 0

sed -i s/=enforcing/=disabled/g /etc/selinux/config

①安装dhcp

yum install -y dhcp

cd /etc/dhcp

cat /usr/share/doc/dhcp*/dhcpd.conf.exanple|grep -v "#"|grep -v '^$' > 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.8.0 netmask 255.255.255.0 {

range 192.168.8.100 192.168.8.130; ####自动分配IP范围

option routers 192.168.8.10; #####路由写本机IP

filename "pxelinux.0"; ####安装引导文件

next-server 192.168.8.10; #####去哪儿找引导文件,本机IP

}

######################################

systemctl restart dhcpd #重启dhcp

安装tftp

yum install -y tftp-server xinetd

vim /etc/xineted/tftp

########################

添加

server_args = -s /tftpboot ##tftp工作目录

disable = no ###关闭禁用

#######

systemctl restart xinetd

安装httpd

yum install -y httpd syslinux

rm -rf /etc/httpd/conf.d/welcome.conf

mkdir /var/www/html/iso ###########建立光盘挂载点

mount /dev/cdrom /var/www/html/iso

vim /etc/fstab

(/dev/cdrom /var/www/html/iso iso9660 defaults 0 0)

cd /var/www/html/iso/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.8.10/iso

ks=http://192.168.8.10/ks.cfg devfs=nomount

##添加光盘位置和ks文件位置

cd ####回到/root下

cp anaconda-ks.cfg /var/www/html/ks.cfg #######复制装机记录文件

cd /var/www/html

vim ks.cfg

###############

删除cdrom

(补上)install

url --url="http://192.168.8.10/iso" ####光盘地址

#################

chmod 664 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

此装机内存须大于2G

pxe装机部署的更多相关文章

  1. linux初学者-pxe装机篇

    linux初学者-pxe装机篇 PXE的网络装机是客户机从自己的网卡启动,向本网络中的DHCP服务器索取ip,并从本网络的TFTP服务器中索取启动文件进行装机.此装机需要kickstart.tftp. ...

  2. PXE装机

    支持 centOS 6 支持 PXE 装机的网卡必须自带 ROM(非意识性存储器)存储内容包括:DHCP 客户端,TFTP 客户端,PXE 协议客户端,将网卡设置第一启动项. DHCP:自动分配 IP ...

  3. 脚本实现PXE装机

    #!/bin/bash read -p "请输入您的装机服务器:" ip read -p "请输入您想要的ip最小值(1-255):" min read -p ...

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

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

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

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

  6. LINUX通过PXE自动部署系统

    原理介绍 TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂.开销不大的 ...

  7. PXE自动化部署

    PXE 预启动执行环境,基于tftp条件下完成基于网络的自动化部署软件 原理: 网卡利用自身的tftp 请求dhcp 服务器获取ip和一个pxelinux.0的地址 在给定的tftp目录下存有ks的配 ...

  8. Linux服务器pxe+kickstart部署无人值守安装

    一.    使用光盘镜像安装好一台Redhat6.8系统的虚拟机(图形化界面) 二.    部署相关服务程序 1.     安装并配置dhcpd服务程序 a)安装dhcp服务程序 b)对dhcp服务进 ...

  9. pxe装机试验 2019.8.21

    部署FTP服务 1.安装FTP服务,并将安装源复制到/var/ftp/centos7目录下: [root@pxe ~]# yum -y install vsftpd [root@pxe ~]# mkd ...

随机推荐

  1. java安全编码指南之:可见性和原子性

    目录 简介 不可变对象的可见性 保证共享变量的复合操作的原子性 保证多个Atomic原子类操作的原子性 保证方法调用链的原子性 读写64bits的值 简介 java类中会定义很多变量,有类变量也有实例 ...

  2. Burp Suite的安装

    安装均在虚拟机环境下进行. 1.首先在浏览器找到java进行最新版本的安装. 2.然后找到burp suite 的安装包下载 不知道这一次 怎么直接跳过安装打开了.

  3. APP自动化-环境安装

    环境安装: 需要安装以下工具: 1.appium server-desktop 官方网站下载地址:http://appium.io// 2.安卓ADT(Android Develop Tools) 下 ...

  4. Node.js文件上传

    Node.js express使用Multer实现文件上传html部分 <div> <h3>文件上传:</h3> 选择一个文件上传: <br/> < ...

  5. django_apscheduler 0.4.0删除了name字段

    使用django_apscheduler时默认使用了最新版本,为0.4.2版本,但是在这个版本中,使用migrate 生成定时任务模型时没有了name字段,导致之前写的定时任务不能执行. 翻了下 dj ...

  6. 【转载】C/走迷宫代码

    1 #include<iostream> 2 #include<windows.h> 3 #include"GotoXY.h" 4 #include < ...

  7. Java知识系统回顾整理01基础03变量01变量定义

    定义: 变量:用来命名一个数据的标识符 一.什么是变量? 用具体实例定义变量 变量的定义是: 用来命名一个数据的标识符 1949 这是一个数字,代表某年 如果要命名这个数字,在java里就会写成: i ...

  8. vue中,使用 es6的 ` 符号给字符串之间换行

    我这里分功能是点击"复制范围",就相当于复制图上的坐标点一样的数据和格式: "复制功能"的代码如下: copyPoints() { const vm = thi ...

  9. Top Coder 某场Div 2的C题 题解

    前天,我们了解了一下一种叫做树状数组的神奇玩意儿,今天就放一道真题来检验一下自己的学习成果吧! 嗯,题目就是这样的啦. 分析: 这题的暴力大家应该都会打吧. 注意到m小的压批,所以对于每一个m值,我们 ...

  10. html ul li 自定义宽

    1. ul里面的样式  2. ul li 里面的样式