批量全自动安装操作系统

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. linux学习(三)Linux 系统目录结构

    一.查看目录 登录系统后,在当前命令窗口下输入命令: ls / 树状目录结构: 二.目录解析 /bin: 存放二进制可执行文件(ls,cat,mkdir等). /boot: 存放启动Linux时使用的 ...

  2. Redis利用,攻击内网(ssrf)

    Redis语法 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI C ...

  3. spring整合(Junit、web)

    1.整合Junit (1)整合前的测试类代码 public class Test { public static void main(String[] args) { ApplicationConte ...

  4. mysqldump 5.7

    简介 mysqldump是官方自带的文本格式备份工具,简单实用,一般在Mysql安装目录的bin目录下.备份文件默认是SQL格式,它由一系列语句例如CREATE TABLE.INSERT等组成.mys ...

  5. Centos-显示或修改系统时间与日期-date

    date 显示或者修改系统时间与日期,只有超级用户才能用date命令设置和修改时间,普通用户只能显示时间 相关参数 -s 设置设置时间,格式为 Y-m-d H:M:S -d    对日期进行运算, + ...

  6. Layman PHP+JavaScript 实现图片无刷新上传

    html文件代码 <!-- ajax文件上传开始 --> <script type="text/javascript" src="/imageuploa ...

  7. JVM笔记五-堆区

    JVM笔记五-堆区 在JVM中,堆区是重中之重.通过前面文章的学习,我们知道了,栈区是不会有垃圾回收的,所以,经常说的垃圾回收,其实就是回收的是堆区的数据.在这里,我们将会看到传说中的,新生代.老年代 ...

  8. python中remove函数的坑

    摘要:对于python中的remove()函数,官方文档的解释是:Remove first occurrence of value.大意也就是移除列表中等于指定值的第一个匹配的元素. 常见用法: a ...

  9. linux 中 eclipse 开发 c/c++ 多线程程序,添加 libpthread.a 库支持

    导入头文件 在 linux 中开发多线程程序,在使用到 pthread 系列函数的文件中,需要导入头文件: #include <pthread.h> 链接 libpthread.a 在编译 ...

  10. ztree通过ajax加载json数据中文乱码的解决方法:springmvc配置

    一.问题描述 使用zTree的异步刷新父级菜单时,服务器返回中文乱码,但项目中使用了SpringMvc,已经对中文乱码处理,为什么还会出现呢? 此处为的异步请求的配置: async: { enable ...