pxe+kickstart 自动化部署linux操作系统
kickstart
是什么?
批量部署Linux服务器操作系统
运行模式:
C/S client/server
服务器上要部署:
DHCP tftp(非交互式文件共享)
安装系统的三个步骤:
1、加载vmlinuz、 initrd (微型启动根目录,它启动系统的init,init再启动根目录)
2、加载install.img文件-->交互式安装界面(anaconda):安装设备(基本存储设备)-->主机名-->root-->时区-->分区-->格式化磁盘 ks.cfg文件
3、安装软件包--通过调用rpm命令安装
pxe工作流程:
1、客户端从DHCP服务器那里获得IP地址,和tftp服务器的ip地址及要获取什么文件(pxelinux.0)
pxelinux.0:记录着客户端自动部署系统的步骤。
2、客户端请求pxe配置文件(pxelinix.cfg/default--->告知客户端通过什么方式获得ks.cfg文件)
3、客户端获取vmlinuz(可执行的Linux内核)
4、客户端获取initrd文件
四个文件:pxelinux.0 pxelinix.cfg/default vmlinuz initrd
实验过程:
1、搭建DHCP
ip 掩码 [gateway dns]
next-server tftpIP;
filename "pxelinux.0"
subnet 192.168.19.0 netmask 255.255.255.0 {
range 192.168.19.240 192.168.19.249;
next-server 192.168.19.251;
filename "pxelinux.0";
}
2、搭建tftp
非独立式服务 xinetd
启动tftp:
1) 进入到其配置文件 disable = no
2) 重启xinetd service xinetd restart /etc/init.d/xinetd restart
yum install -y tftp-server xinetd-*
vim /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot/linux-install //指定共享目录
disable = no //改成no
per_source = 11
cps = 100 2
flags = IPv4
}
启动tftp service xinetd restart
vmlinuz initrd.img pxelinux.0 pxelinux.cfg(isolinux.cfg)
3、共享配置
mkdir -pv /tftpboot/linux-install
将vmlinuz和initrd.img文件复制到共享目录
cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /tftpboot/linux-install
将pxelinux.0 复制到共享目录(安装syslinux*)
yum install syslinux-nonlinux(syslinux) -y
(或yum -y install syslinux)
find / -name pxelinux.0
cp /usr/share/syslinux/pxelinux.0 /tftpboot/linux-install
将pxelinux.cfg复制到共享目录(配置default)
mkdir pxelinux.cfg
cd pxelinux.cfg
cp /mnt/isolinux/isolinux.cfg ./default
配置pexlinux.cfg文件夹下的default文件
default ks
label ks
kernel vmlinuz
append ks=http://192.168.19.251/ks.cfg initrd=initrd.img
(append:设置文件的搜索路径)
配置ks.cfg文件(安装system-config-kickstart)---->注意磁盘分区设置
yum install system-config-kickstart
system-config-kickstart(启动kickstart)开启图形界面,配置系统选项
保存为/root/ks.cfg
复制软件包
vim ~/anaconda-ks.cfg ks.cfg 拷贝软件包
将ks.cfg复制到apache默认目录下
cp ks.cfg /var/www/html
挂载光盘到apache默认目录下
mount /dev/cdrom /var/www/html/rhel6
serivce httpd restart
也可用ftp代替http
如果用ftp时(注意ftp配置文件设置为允许匿名用户登录下载)
yum -y install vsftpd
/etc/init.d/vsftpd start
cd /var/ftp
mkdir share
修改pxelinux.cfg/default
default ks
label ks
kernel vmlinuz
append ks=ftp://192.168.19.251/ks.cfg initrd=initrd.img
system-config-kickstart中修改为相应的ftp即可
cp ks.cfg /var/ftp/share
挂载ftp共享目录
mount /dev/sr0 /var/ftp/share
pxe+kickstart 自动化部署linux操作系统的更多相关文章
- linux部署pxe+kickstart批量安装linux操作系统
环境 系统 centos6.6 无图形界面 ip 192.168.2.1 系统 centos7.2 有图形界面 以下命令在centos6.6上执行 1. yum -y install dhcp* tf ...
- PXE批量部署linux操作系统
前言 在实际生产环境中,有时候我们会碰到为几十上百甚至上千台服务器安装Linux操作系统的需求,如果我们还是常规的去使用移动介质逐台安装,显然是一件低效又令人抓狂的事情,那要安装到何年何月啊?这对于我 ...
- 自动化运维之Cobbler自动化部署安装操作系统
Cobbler概述: Cobbler可以用来快速建立 Linux 网络安装环境,它已将 Linux 网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学会. 在生产环境中,经常批 ...
- 基于HTTP和TFTP的PXE批量自动化安装Linux系统
CentOS 6.5 PXE自动化部署系统 拓扑图如下: 步骤: 1. 安装http服务,上传ISO文件 [root@UCS-1 ~]# yum install httpd –y [root@UCS ...
- pxe+kickstart自动化批量安装系统详解-技术流ken
前言 pxe+kickstart是一款可以实现自动化批量安装系统的服务,比较经典,下面将详细介绍此服务的安装和使用. 系统环境准备 系统版本:CentOS release 6.7 (Final) 内网 ...
- 前端自动化部署linux centOs + Jenkins + nignx + 单页面应用
Jenkins是什么? Jenkins 是一款业界流行的开源持续集成工具,广泛用于项目开发,具有自动化构建.测试和部署等功能. 准备工作 Linux centOS系统阿里云服务器一个 码云一个存放vu ...
- Kicstart+pxe搭建自动化安装Linux 整理了一下
一直想把 有道云得笔记整理一下传上来 都是自己亲测过 ,先来这篇吧 : 二小时安装 100台Linux system 其实Winddows 也可以这样搞 只是方法 组件不同 原理一样 ...
- pxe+kickstart自动化安装
什么是PXE? PXE(Pre-boot Execution Environment,预启动执行环境)是Intel公司开发的最新技术,工作于Client/Server模式.PXE是一种远程引导方式,要 ...
- CentOS7.2下PXE+kickstart自动化安装系统
一.实验环境 操作系统:CentOS Linux release 7.2.1511 (Core) 网卡地址:192.168.100.147/24 光盘镜像:CentOS-7-x86_64-Minima ...
随机推荐
- 查看mysql执行的线程,并杀掉他
文章转自https://www.cnblogs.com/weiok/p/5672238.html 1.进入mysql/bin目录下输入mysqladmin processlist; 2.启动mysql ...
- Percona XtraDB Cluster集群
官网参考地址: https://www.percona.com/doc/percona-xtradb-cluster/LATEST/configure.html 前期准备: 都用的root权限或使用s ...
- Objective-C 类簇深入理解
类簇(class cluster),是一种基于抽象工厂的设计模式,广泛运用于系统的Foundation框架.顾名思义,即一坨类,这里指的是继承自同一父类的一组私有子类.这种实现既可以简化公共接口,又保 ...
- Git使用—第二讲
前面我们学习了Git最基本的用法,包括安装Git.创建代码仓库,以及提交本地代码.下面我们将学习Git更多的使用技巧,在开始之前,我们先给一个项目创建代码仓库,这里选择在ProviderTest项目中 ...
- jmeter(五)JDBC Request
jmeter中取样器(Sampler)是与服务器进行交互的单元.一个取样器通常进行三部分的工作:向服务器发送请求,记录服务器的响应数据和记录响应时间信息 有时候工作中我们需要对数据库发起请求或者对数据 ...
- python伪代码之爬取完美志愿全国历年文理分数线运行代码持续更新
最近好多小伙伴说想搞个项目实战类的,我就花了一点时间做了一个爬虫项目(在代码复制的时候可能会有点问题,缩格一下就没有问题了) 想要获取更多源码或者答疑或者或者交流学习可以加群:725479218 # ...
- 利用shell脚本或者php移动某个文件夹下的文件到各自的日期组成的目录下
背景是这样的:网站一开始访问量比较小,大家就把所有的图片文件上传到一个目录下(比如是/data/images/).后来访问量大了,图片也多了,这样就影响读取效率.所以有个这样的需求,把这些个图片文件移 ...
- Redis详解(六)------ RDB 持久化
前面我们说过,Redis 相对于 Memcache 等其他的缓存产品,有一个比较明显的优势就是 Redis 不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,has ...
- CF1060D Social Circle 排序
题目传送门:http://codeforces.com/problemset/problem/1060/D 题意:有$N$个人,你要让他们坐成若干个圆环.他们每个人需要坐一把椅子,左手边至少要有$l_ ...
- Python3.x:Selenium+PhantomJS爬取带Ajax、Js的网页及获取JS返回值
前言 现在很多网站的都大量使用JavaScript,或者使用了Ajax技术.这样在网页加载完成后,url虽然不改变但是网页的DOM元素内容却可以动态的变化.如果处理这种网页是还用requests库或者 ...