PXE-kickstart无人值守批量装机
服务器的批量部署:
规模化:同时装配多台服务器
自动化:安装系统、配置各种服务
远程实现:不需要光盘、U盘等安装介质
PXE,Pre-boot eXcution Environment
预启动执行环境,在操作系统之前运行
可用于远程安装、构建无盘工作站
运行DHCP服务,用来分配地址、定位引导程序
运行TFTP服务器,提供引导程序下载
搭建PXE远程安装服务器:
1. 准备RHEL 6.1安装源(YUM仓库)
rhel 6的网络安装源一般通过HTTP、FTP协议发布,也支持NFS(网络文件系统)协议:
eg:本例采用FTP协议发布安装源,在服务器上部署YUM软件仓库:
2. 启用TFTP服务,并提供内核、引导程序:
TFTP服务由tftp-server软件包提供,默认由xinetd超级服务进行管理,配置文件位置:/etc/xinetd.d/tftp,将“disable = yes”改为“disable = no”,然后启动xinetd服务。
3. 准备linux内核、初始化镜像文件:
从rhel6系统光盘images/pxeboot中复制用于PXE网络安装的Linux内核(vmlinuz)、初始化镜像文件(initrd.img)。
[root@PXE ~]# cd /media/images/pxeboot/
[root@PXE pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/
4. 准备PXE引导程序、启动菜单文件:
用于PXE网络安装的引导程序为pxelinux.0,由软件包syslinux提供,安装此软件并将文件pxelinux.0复制到tftp服务的根目录下:
[root@PXE ~]# yum -y install syslinux
[root@PXE ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@PXE ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@PXE ~]# cp /media/isolinux/isolinux.cfg/var/lib/tftpboot/pxelinux.cfg/default
[root@PXE ~]# chmod 644 /var/lib/tftpboot/pxelinux.cfg/default
(这里测试环境不一样,如果要验证非自动装机,就不用写 ks 这一项,实际位置为ks=ftp://192.168.10.1/rhel6/ks.cfg)
5. 安装并启用DHCP服务:
使用PXE部署安装所使用的客户机通常都是未安装系统的裸机,所以为了与服务器取得联系并正确下载相关引导文件,需要配置DHCP服务来自动分配地址并告知引导文件位置:
subnet192.168.10.0netmask 255.255.255.0 {
optionrouters 192.168.10.1;
default-lease-time21600;
max-lease-time43200;
range 192.168.10.100 192.168.10.200;
optionsubnet-mask 255.255.255.0;
next-server 192.168.10.1;
filename "pxelinux.0";
}
注意:防火墙规则必须清除 或者建立相应的规则。
现在前期环境就搭建好了,可以在客户机进行安装测试。
缺点:安装需要人为手动选择,在生产环境下并不适应。
实现Kickstart无人值守安装:
准备安装应答文件:system-config-kickstart,需要安装。
配置安装应答参数:
打开kickstart配置程序:
或者通过命令行直接打开:
基本信息及安装方法(语言、时区、根口令,并勾选“安装后重新引导系统”):
指定正确的rhel 6安装源:
选择正确的分区规划方案:
网络配置及防火墙配置(在网络配置中添加"eth0"网络设备,将网络类型设置为DHCP;):
安装后的执行脚本(用来做验证):
保存应答文件并查看信息:
实现Linux批量自动装机:
启动自动应答文件:
将ks.cfg的启动应答文件复制到/var/ftp/rhel6/目录下,使客户机能通过ftp://192.168.10.1/rhel6/ks.cfg访问。然后编辑引导菜单文件default,添加ks引导参数以指定ks.cfg应答文件的URL路径:
注意:无系统时不建议调启动项,不然安装完成后会一直重复循环安装。
为了防止批量部署失败,关闭虚拟机自带DHCP功能。
开始批量部署:提示IP地址获取成功,开始安装部署。
安装完成后验证之前设置的安装后创建yum脚本,验证成功:
归结:
kickstart无人值守技术的优点:
创建应答文件,预先定义好各种安装设置
免去交互设置过程,从而实现全自动化安装
通过添加%post脚本,完成安装后的各种配置操作
整个部署过程到此结束,简单、方便、快捷才是王道。
PXE-kickstart无人值守批量装机的更多相关文章
- pxe+kickstart无人值守批量安装linux
一.原理和概念: 1.PXE: PXE 并不是一种安装方式,而是一种引导的方式.进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 ...
- 【Linux】使用 PXE+Kickstart 无人值守批量安装系统
一.PXE背景知识 通过 PXE+DHCP+TFTP+VSftpd+Kickstart 服务程序搭建出无人值守安装系统,从而批量部署客户机系统. PXE(Preboot eXecute Environ ...
- PXE+kickstart无人值守安装CentOS 7
kickstart+cobbler系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 本文是PXE+kickstart无人值守安装CentOS ...
- redhat 6.4下PXE+Kickstart无人值守安装操作系统
一 前言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装.常规的办法有什么?1.光盘安装系统:每个服务器DVD内置光 ...
- (转)PXE+kickstart无人值守安装CentOS 7
kickstart+cobbler系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 本文是PXE+kickstart无人值守安装CentOS ...
- [转]CentOS 6.4下PXE+Kickstart无人值守安装操作系统
一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...
- CentOS6 PXE+Kickstart无人值守安装
一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...
- CentOS 6.4下PXE+Kickstart无人值守安装操作系统 转
一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...
- CentOS 6.6下PXE+Kickstart无人值守安装操作系统
一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...
- 【转载】CentOS 6.4下PXE+Kickstart无人值守安装操作系统
[转载]CentOS 6.4下PXE+Kickstart无人值守安装操作系统 转自:CentOS 6.4下PXE+Kickstart无人值守安装操作系统 - David_Tang - 博客园 http ...
随机推荐
- Karma:2. 集成 Karma 和 mocha 进行单元测试
上一篇文章讨论了如何集成 Karma 和 Jasmine,地址见:Karma:1. 集成 Karma 和 Jasmine 进行单元测试 这篇文章讨论如何 Karma 集成 mocha 测试框架. 安装 ...
- Tomcat8.0.21登录时忘记用户名和密码
大概是这学期开学没多久吧,4月份的时候,为了学习javaEE,装了Tomcat.过了这么久早就忘记用户名和密码了,所以无法进入Tomcat的管理界面.百度(其实我也很想用google)了一堆,几乎都是 ...
- python之I/O多路复用
python IO多路复用 一.多路复用概念: 监听多个描述符(文件描述符(windows下暂不支持).网络描述符)的状态,如果描述符状态改变 则会被内核修改标志位,进而被进程获取进而进行 ...
- mongodb转换List实体(去掉多余的字段) 批量添加
Gson gson = new Gson(); String str = "list集合json字符串"; JsonObject object = gson.fromJson(st ...
- tsclient rdesktop remina freerdp
- 第一波实习的前端笔记(2)——js.md
1.如何解决移动端点透问题? $('xx').on('touchend', function(event){ event.preventDefault(); }) 但是,存在滑动页面会触发问题.期待更 ...
- 浅谈OpenGL变换矩阵
OpenGL中使用的矩阵全为列向量为主的矩阵. 参考OpenGL变换网站为 http://www.songho.ca/opengl/gl_transform.html 1.什么是GL_MODELVI ...
- logging日志模块
为什么要做日志: 审计跟踪:但错误发生时,你需要清除知道该如何处理,通过对日志跟踪,你可以获取该错误发生的具体环境,你需要确切知道什么是什么引起该错误,什么对该错误不会造成影响. 跟踪应用的警告和错误 ...
- vim总结
1.vim基础用法 注:该思维导图来自笔者<Linux就该这么学>读书笔记. 移动光标: 命令 描述 k 向上移动光标(移动一行) j 向下移动光标(移动一行) h 向左移动光标(移动一个 ...
- python基础知识---变量
一.变量是什么? python变量是对内存中一个数据结构的引用,用一个变量给另外一个变量赋值,那就有两个变量引用同一个数据结构(数字.字符串.列表.元组.字典.自定义对象等) 当一个数据结构的引用计数 ...