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 ...
随机推荐
- RabbitMq、ActiveMq、ZeroMq、kafka之间的比较
MQ框架非常之多,比较流行的有RabbitMq.ActiveMq.ZeroMq.kafka.这几种MQ到底应该选择哪个?要根据自己项目的业务场景和需求.下面我列出这些MQ之间的对比数据和资料. 第一部 ...
- 学习CSS布局 - 没有布局
如果你只想把所有内容都塞进一栏里,那么不用设置任何布局也是OK的. 然而,如果用户把浏览器窗口调整的很大,这时阅读网页会非常难受: 读完每一行之后,你的视觉焦点要从右到左移动一大段距离. 试着调整下浏 ...
- [02] mybatis-config.xml 全局配置文件解析
本篇会摘录mybatis全局配置文件中比较常见常用的一些配置进行说明,其实官方文档已经写得足够清晰了(关键是还有中文版完全不慌),此处记录重要还是作为个人的巩固记录. 1.properties 在全局 ...
- jquery $.each()遍历json数组
使用jQuery的$.each()方法来遍历一个数组对象 var json=[ {"id":"1","tagName":"appl ...
- 02-Centos7安装部署Mirrorgate
1.以Docker方式运行 MirrorGate服务器作为docker镜像提供,因此要运行它只需在终端中执行以下命令: 注意mongo镜像要使用3.6版本,其他版本会提示版本问题. #Spinup m ...
- Item 9: 比起typedef更偏爱别名声明(alias declaration)
本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 博客已经迁移到这里啦 我确信我们都同意使用STL容器是一个好主意,并且我希望在Item ...
- Wechat login authorization(OAuth2.0)
一.前言 昨天小组开了个会,让我今天实现一个微信网页授权的功能,可以让用户在授权之后无需再次登录既可进入用户授权界面.在这之前我也从没接触过微信公众号开发之类的,也不知道公众号后台是啥样子的,自己所在 ...
- Zabbix监控系统部署:基本功能测试
1. 概述2. 登陆2.1 登陆账号密码2.1 设置中文语言环境3. 创建用户3.1 用户创建入口3.2 添加用户信息3.3 用户报警媒介3.4 用户权限4. 创建监控主机4.1 添加一台监控主机4. ...
- 【nodejs】让nodejs像后端mvc框架(asp.net mvc)一样处理请求--目录(8/8 完结)
为什么要做这个 在使用nodejs开发过程中,总是发现需要做很多重复性的体力劳动,且因为自身是服务端程序员出身,感觉有一些服务端好的东西其实可以在nodejs上得到应用并能提高一些开发工作效率. 本系 ...
- PyCharm Tips 常用操作帮助
以下内容转自 http://www.2cto.com/os/201410/341542.html --------------------------------------------------- ...