用系统为centos6的主机,搭建PXE服务器,实现批量安装centos6,7系统
1. iptables -F
setenforce 0 临时关掉selinux,清掉防火墙
永久生效更改配置文件:vim /etc/sysconfig/selinux
chkconfig iptables off
2. yum -y install httpd dhcp tftp-server
安装http服务用于构建镜像文件的yum仓库
安装dhcp服务,搭建dhcp服务器,为客户端分配ip地址
安装tftp服务,搭建tftp服务器,准备系统启动的引导文件,如pxelinux.0 menu32 内核以及,磁盘映像文件
3. 构建yum仓库
service httpd start 开启http服务
ss -tnlp |grep -w 80 查看80服务的端口是否打开
echo 'test' > /var/www/html/index.html 用浏览器打开httpd服务器的ip地址,测试能否打开
mkdir -p /var/www/html/centos/7/os/x86_64
mkdir -p /var/www/html/centos/6/os/x86_64
该虚拟机可以添加两个光盘驱动,分别将对应的镜像文件,一一挂载到上面两个相对应的目录
mount /dev/sr0 /var/www/html/centos/7/os/x86_64
mount /dev/sr1 /var/www/html/centos/7/os/x86_64
到此,镜像文件的yum仓库已经构建好了,可以打开网页,测试一下。
http://192.168.190.146/centos/6/os/x86_64/
http://192.168.190.146/centos/7/os/x86_64/6
生产环境中,http服务器要保证有足够的容量存放,镜像文件,或者创建软连接到存储上。
4. 准备ks引导文件
在6上面使用服务器(安装了图形化),使用system-config-kickstart 命令可以编辑ks文件,设定分区大小,密码,要安装的包组,初始化环境脚本,等等最后保存为ks6.cfg文件。
同理,在7的服务器上面使用同样的命令制作ks.cfg文件。在编辑时,无法选择rpm包组,解决方法为:将本机的本地仓库文件名,即【base】更改为 【development】后,再次执行 system-config-kickstart 即可 ksvalidator ks7.cfg 检查ks文件的语法
将准备好的ks文件,放到pxe服务器的/var/www/html/,下面
5. 搭建tftp服务器
tftp 为非独立服务,centos6上面由Xinetd服务监听端口69 centos7上面由systemd监听
service xinetd start
chkconfig tftp on 开启tftp服务
ss -unlp |grep -w 69 查看69端口是否开启
7. 准备系统引导文件
一般的系统引导文件放在tftp服务器的工作目录 /var/lib/tftpboot/
[root@centos6 tftpboot]#tree
.
├── kernel6
│ ├── initrd.img
│ └── vmlinuz
├── kernel7
│ ├── initrd.img
│ └── vmlinuz
├── menu.c32
├── pxelinux.0
└── pxelinux.cfg
└── default
准备好相应的启动文件。
cp /var/www/html/centos/7/os/x86_64/isolinux/initrd.img .
cp /var/www/html/centos/7/os/x86_64/isolinux/vmlinuz .
cp /var/www/html/centos/6/os/x86_64/isolinux/{initrd.img,vmlinuz} .
rpm -ql syslinux 查找引导文件,没有需要安装 syslinux
pxelinux.0 menu32 两个文件复制到工作目录下
mkdir pxelinux.cfg
复制光盘镜像里面的isolinux.cfg 重命名为default文件
编辑default文件
default menu.c32
timeout 600label local
menu label Boot from ^local drive
menu default
localboot 0xffff
menu title http://192/168.190.146/
label linux
menu label ^AutoInstall CentOS 7
kernel kernel7/vmlinuz
append initrd=kernel7/initrd.img ks=http://192.168.190.146/ksdir/ks7.cfglabel manual
menu label ^Manual install CentOS 7
kernel kernel7/vmlinuz
append initrd=kernel7/initrd.imginst.repo=http://192.168.190.146/centos/7/os/x86_64/
label linux
menu label ^AutoInstall CentOS 6
kernel kernel6/vmlinuz
append initrd=kernel6/initrd.img ks=http://192.168.190.146/ksdir/ks6.cfg
label manual
menu label ^Manual install CentOS 6
kernel kernel6/vmlinuz
append initrd=kernel6/initrd.img
repo=http://192.168.190.146/centos/6/os/x86_64/
7. 搭建dhcp服务器
首先要配置dhcp服务的配置文件,否则启动dhcp服务会失败
vim /etc/dhcp/dhcpd.conf
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
直接用dhcp的模板配置文件覆盖原来的配置文件,在基础上进行修改
vim /etc/dhcp/dhcpd.conf
service dhcpd start 开启dhcp服务
ss -unlp |grep dhcpd 查看dhcp服务端的端口67 是否开启
到此,dhcp服务器已搭建完毕
8.新建一个虚拟机,添加仅主机模式的网卡(和服务器一定要在同一个网络)。进行测试,效果如下:
用系统为centos6的主机,搭建PXE服务器,实现批量安装centos6,7系统的更多相关文章
- Centos6.8下搭建SVN服务器
1.Centos6.8下搭建SVN服务器 Subversion是一个自由,开源的版本控制系统.Subversion将文件存放在中心版本库里.这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一 ...
- Cobbler全自动批量安装部署Linux系统
说明: Cobbler服务器系统:CentOS 5.10 64位 IP地址:192.168.21.128 需要安装部署的Linux系统: eth0(第一块网卡,用于外网)IP地址段:192.168.2 ...
- [IDS]CentOS6.6下搭建基于snort+barnyard2+base的入侵检测系统,超详细!!!
最详细的CentOS6.6下搭建基于snort+barnyard2+base的入侵检测系统免责声明一.如果因为使用本文档照成损失(系统崩溃.数据丢失等),作者不承担任何责任.二.本文档只是个人使用本文 ...
- 【Linux】使用 PXE+Kickstart 无人值守批量安装系统
一.PXE背景知识 通过 PXE+DHCP+TFTP+VSftpd+Kickstart 服务程序搭建出无人值守安装系统,从而批量部署客户机系统. PXE(Preboot eXecute Environ ...
- CentOS6.5下搭建ftp服务器(三种认证模式:匿名用户、本地用户、虚拟用户)
CentOS 6.5下搭建ftp服务器 vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费,此 ...
- [转]DNS服务器原理详解与Centos6.x下搭建DNS服务器
转自:http://blog.it985.com/8958.html DNS 数据库的记录:正解,反解, Zone 的意义 通过DNS解析过程详解这篇文章,我们知道了要想访问www.zmit.cn,最 ...
- 利用云主机搭建MySQL服务器
前言:有了一台云服务器之后,就想着如何物尽其用.利用其不关机(意外除外)的特性,我们可以在服务器上安装数据库服务,实现云数据库服务器,这样就可以随时随地的访问数据库了,不再受各种限制. 这里以MySQ ...
- centos6环境下搭建irc服务器
问题描述 有时候逛技术社区,经常会发现有个叫IRC的东西存在,想搭建下看看到底是个什么东西 说明: 操作系统环境为CentOS6.5_64 安装irc服务器 通过yum进行安装,命令如下: yum i ...
- pxe+kickstart自动化批量安装系统详解-技术流ken
前言 pxe+kickstart是一款可以实现自动化批量安装系统的服务,比较经典,下面将详细介绍此服务的安装和使用. 系统环境准备 系统版本:CentOS release 6.7 (Final) 内网 ...
随机推荐
- 洛谷 P1430 解题报告
P1430 序列取数 题目描述 给定一个长为\(n\)的整数序列\((n<=1000)\),由\(A\)和\(B\)轮流取数(\(A\)先取).每个人可从序列的左端或右端取若干个数(至少一个), ...
- C语言pow()函数的计算精度问题
编程计算 a+aa+aaa+-+aa-a(n个a)的值,n和a的值由键盘输入.例如,当n=4,a=2,表示计算2+22+222+2222的值. 程序运行结果示例: Input a,n: 2,4↙ su ...
- 小程序从后台输出的代码为HTML实体字符如何解决?
最近在做一个小程序的考试系统,从后台调出的数据是这个样子的 那么我遇到这个问题的时候想到的微信小程序的富文本即(wxParse),使用过wxParse的都知道,富文本必须得具体到单个的数据上才能使用, ...
- TensorFlow-谷歌深度学习库 图片处理模块
Module: tf.image 这篇文章主要介绍TensorFlow处理图片这一块,这个模块和之前说过的文件I/O处理一样也是主要从python导过来的. 通过官方文档,我们了解到这个模块主要有一下 ...
- PAT1077: Kuchiguse
1077. Kuchiguse (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 HOU, Qiming The Japan ...
- eclipse 创建maven web示例
注意,以下所有需要建立在你的eclipse等已经集成配置好了maven了,没有的话需要安装maven. 一.创建项目 1.新建maven项目,如果不在上面,请到other里面去找一下 一直点击下一步, ...
- Java开源生鲜电商平台-订单抽成模块的设计与架构(源码可下载)
Java开源生鲜电商平台-订单抽成模块的设计与架构(源码可下载) 说明:订单抽成指的是向卖家收取相应的信息服务费.(目前市场上有两种抽成方式,一种是按照总额的抽成比率,另外一种是按照订单明细的抽成比率 ...
- 一个bug分析 ----------换个角度,有另外一个天地
有个接口是按修改时间(updated_time)排序的 优化后,有人反馈接口的返回值有问题 查了一下,反馈的数据是推荐过的(推荐操作是会更新updated_time的). 然后就认为是有人进行了推荐操 ...
- 图形验证码知识点整理 Object.prototype.toString.call()等
使用typeof bar === "object"检测”bar”是否为对象有什么缺点?如何避免?这是一个十分常见的问题,用 typeof 是否能准确判断一个对象变量,答案是否定的, ...
- 移动网站用backbone还是angular?
移动网站用backbone还是angular? 作者:戴嘉华链接:https://www.zhihu.com/question/21871888/answer/26130922来源:知乎著作权归作者所 ...