批量全自动安装操作系统

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. PHP正则表达式核心技术完全详解 第2节

    作者:极客小俊 一个专注于web技术的80后 我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人! CSDN@极客小俊,原创文章, B站技术分享 B站视频 : Bilibili.com 个 ...

  2. RestTemplate get请求多参数 简单封装

    使用RestTemplate发送get请求时,如果有多个参数拼接起来会比较麻烦,在此做个简单的封装 public static void main(String[] args) { Map<St ...

  3. django 的跨域配置

    1.跨域原理 #1. 首先浏览器安全策略限制js ajax跨域访问服务器 #2. 如果服务器返回的头部信息中有当前域: // 允许 http://localhost:8080 这个网站打开的页面中的j ...

  4. 小白也能看懂的Redis教学基础篇——朋友面试被Skiplist跳跃表拦住了

    各位看官大大们,双节快乐 !!! 这是本系列博客的第二篇,主要讲的是Redis基础数据结构中ZSet(有序集合)底层实现之一的Skiplist跳跃表. 不知道那些是Redis基础数据结构的看官们,可以 ...

  5. 这一次,彻底理解JavaScript深拷贝

    导语 这一次,通过本文彻底理解JavaScript深拷贝! 阅读本文前可以先思考三个问题: JS世界里,数据是如何存储的? 深拷贝和浅拷贝的区别是什么? 如何写出一个真正合格的深拷贝? 本文会一步步解 ...

  6. Unity Shader 00 - 梳理 Unity Shader 的基本结构

    0x00 写在前面 之前一直在阅读 The Book of Shaders 一书,为什么会开始写 Unity Shader 呢?一方面,因为该书目前尚未完结,写下此文时已阅读到该书的最新章节:另一方面 ...

  7. MySQL 日志详解

    一.MySQL 日志分类 MySQL 日志主要包含:错误日志.查询日志.慢查询日志.事务日志.二进制日志. 错误日志: -log-err (记录启动.运行.停止 MySQL 服务时出现的信息) 查询日 ...

  8. C#数据结构-静态链表

    对于双向链表中的节点,都包括一个向前.向后的属性器用于指向前后两个节点,对于引用类型,对象存储的是指向内存片段的内存指针,那么我们可以将其简化看作向前向后的两个指针. 现在我们将引用类型替换为值类型i ...

  9. 实验报告系列:实验一 HTML语言的简单网页制作

    实验一 HTML语言的简单网页制作 一.实验目的: 1.掌握常用的HTML语言标记: 2.利用文本编辑器建立HTML文档,制作简单网页. 3.学习将其它格式的文档转换成HTML格式的文档 二.实验内容 ...

  10. day26 Pyhton 面向对象复习

    一 class 类名(): pass 对象 object 对象 = 类名() class Person: pass print(Person)#<class '__main__.Person'& ...