PXE批量部署linux操作系统
前言
在实际生产环境中,有时候我们会碰到为几十上百甚至上千台服务器安装Linux操作系统的需求,如果我们还是常规的去使用移动介质逐台安装,显然是一件低效又令人抓狂的事情,那要安装到何年何月啊?这对于我们追求高逼格形象的技术人员来讲当然是不可以接受的,为此,pxe模式批量部署系统应运而生。
原理
我们知道,当我们使用其它引导介质(例如硬盘、软盘、U盘、CD或者DVD)安装操作系统时,是加载其首个扇区中MBR(主引导目录)中的引导程序并利用其查找各自介质中的必需数据来完成的。而pxe则是通过自带pxe bootrom的网卡使用TFTP(简单文件传输协议)和DHCP(动态主机配置协议)从网络服务器上查找并装载引导程序和必需的数据来完成系统的安装的。下面让我们通过实验来进一步理解其安装过程。
实验环境:vmware Workstation 10、CentOS-6.5-x86_64
1、配置DHCP服务
1、配置/etc/sysconfig/network-scripts/ifcfg-eth0 将网卡设置为开机启动,地址配置为静态(服务器一般设置为静态ip地址)。
2、关掉防火墙以免对实验带来不必要的麻烦(有可能有影响tftp)。
3、修改/etc/sysconfig/selinux配置文件,永久关闭selinux,以免带来不必要的麻烦。
4、yum -y installdhcp安装dhcp程序包
5、将/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample拷贝至/etc/dhcp/dhcpd.conf并做如下修改
6、依次做如下图操作,确保dhcpd服务运行
7、验证dhcp服务器配置
我的实验环境中有一个win7系统,将dhcp服务器所在虚拟机客户端与win7客户端接入vnet3中验证
测试win7是否能够自动获取自动配置信息
获取成功,dhcp服务器配置完毕!
2、配置tftp服务
1、yum -y install tftp tftp-server
可以看到,由于tftp是瞬时服务进程,不能进行自我管理,需要通过超级服务进程进行管理,所以安装tftp-server时,超级服务进程程序xinetd被依赖。
2、设置并确保超级服务进程开机启动。
chkconfig tftp开启tftp服务
3、tftp服务器测试
新建一个文件,放到/var/lib/tftpboot/目录下,并在服务器本机进行测试。
本机测试成功
使用另外一台带有linux系统的客户端测试
测试成功,至此tftp服务器配置完毕。
3、配置http服务
1、yum -y install httpd
2、设置httpd服务开机启动,开启httpd服务
创建/media/cdrom 目录并将系统安装光盘挂载至该目录,然后创建/var/www/html/centos/6/x86_64并绑定挂载至/media/cdrom,通过http服务器为pxe客户端提供安装源和ks文件
用宿主机测试http服务器,看是否工作正常
http服务器测试成功!
4、制作kickstart.cfg文件
为实现系统安装过程的无人值守自动化安装,为了方便实验,以http服务器为基础制作ks文件
1、执行yum -y install system-config-kickstart,安装完成后执行system-config-kickstart程序。
2、点击File–>Open File–>root目录–>anaconda-ks.cfg(该ks文件由服务器端系统安装完后生成)–>点击Open载入ks文件。
3、Basic Configuration(基础配置)
4、Installation Method 安装方式
5、Boot Loader Options 默认
6、配置分区信息
7、Network Configuration 将网卡eth0 设置为dhcp模式
8、Authentication默认
9、Firewall Configuration 关闭防火墙,关闭selinux
10、Display Configuration默认
11、Package Selection 默认,参照本机ks文件
12、Pre-Installation Script和Post-Installation Script均默认设置。
13、点击File–>Save–>修改文件名为centos-6.5-ks.cfg保存至/var/www/html/centos.ks(本人自定义目录)下
14、编辑/var/www/html/centos-6.5-ks.cfg,指定repo源到我们的http服务器对应repo源路径
5、提供PXE工作环境必须、内核以及其它所需
1、首先,我们要将能够通过网络引导系统安装的文件pxelinux.0(类似于grub,是一种引导程序,但是它专为pxe模式下的网络系统部署提供引导)
1、安装提供该文件的程序:
yum -y install syslinux
2、找到/usr/share/syslinux/pxelinux.0文件,并将其复制到/var/lib/tftpboot/目录下。
2、将系统镜像盘中pxe模式下专用的内核文件和initrd镜像文件件复制到tftp服务器相应目录中
3、复制其它文件
1、将系统光盘镜像中的isolinux/目录下的boot.msg splash.jpg vesamenu.c32复制到/var/lib/tftpboot/目录下
2、将系统光盘镜像中的isolinux/目录下的isolinux.cfg文件拷贝至/var/lib/tftpboot/pxelinux.cfg/目录下,命名为default,用来引导客户端启动过程。
修改/var/lib/tftpboot/pxelinux/default文件,指定ks文件的加载位置
6、使用搭建好的pxe环境安装linux 6.5 系统
1、将服务器虚拟主机和待安装系统虚拟主机网络接入方式选择为自定义:特定虚拟网络VMnet4
2、到待安装系统虚拟主机上,进入bios,将网络启动设为首选
3、启动客户机
进入安装界面
载入内核和initrd
检索install.img
配置网络
自动创建分区
依赖关系检查
开始安装
安装软件包
等待安装完成即完成该实验!
http://www.178linux.com/4661
PXE批量部署linux操作系统相关推荐
- linux 批量启动服务器,批量部署Linux操作系统systemimager 使用
systemimager 可以把一个所有软件都安装完成的系统(黄金客户端)镜像到server 端, 在通过PXE 启动,再同过rsync同步到裸机上 因为systemimager大部分由perl编写, ...
- linux ipxe 自动windows,PXE批量部署Linux五:使用iPXE代替PXELINUX
PXELINUX基本已经没有人在维护了,iPXE在支持HTTP等高级传输协议的同时还支持动态语言php之类的解析,同时还可以烧录在网卡上替代网卡出厂设置. 唯一比PXELINUX复杂的是这玩意需要自己 ...
- linux批量安装系统uefi,PXE批量部署Linux之四:一台服务器同时支持BIOS和UEFI
dnsmasq选(bu)项(hui)简(pei)单(zhi),这里换高级的DHCP,同时搭建tftp服务器 因为uefi和bios平台用到的vesamenu.c32文件不同,我们重新规划tftp目录如 ...
- PXE实现批量部署linux系统
pxe批量部署linux服务器 1.pxe介绍 PXE是有intel设计的协议,它可以使计算机通过网络启动,协议分为client和server两端,PXEclient在网卡的ROM中,当计算机引导时, ...
- pxe+kickstart 自动化部署linux操作系统
kickstart 是什么? 批量部署Linux服务器操作系统 运行模式: C/S client/server 服务器上要部署: DHCP tftp(非交互式文件共享) 安装系统的三个步骤: 1.加载 ...
- linux不断安装操作系统,无人值守批量安装linux操作系统
无人值守批量安装linux操作系统(实验总结) 每天都看对着电脑的操作系统,有时候出现了什么问题实在解决不了,我们肯定会选择重做系统的,当然一台两台系统我们还是可以一一搞定,可是我们是否想过要是一次性 ...
- linux无人值守安装实验,无人值守批量安装linux操作系统
无人值守批量安装linux操作系统(实验总结) 每天都看对着电脑的操作系统,有时候出现了什么问题实在解决不了,我们肯定会选择重做系统的,当然一台两台系统我们还是可以一一搞定,可是我们是否想过要是一次性 ...
- pxe自动化部署Linux系统
pxe自动化部署Linux系统 实验准备:虚拟机centos 7 需要部署:DHCP服务器,TFTP服务器,HTTP服务器 准备工作 [root@centos771 tftpboot]# yum -y ...
- 批量部署Linux操作系统的一场革命----Cobbler
默认的rhel 光盘中没有 cobbler 软件,必须使用第三方的软件源才能安装 cobbler 软件 .但是呢光是安装这一个软件包是不能帮助我们完成大批量安装这个工作滴.那么问题来了.看见这个标题有 ...
最新文章
- 为什么科研总会走弯路【转】
- 【深度学习】医学图像分割的集成与后处理
- 【Spring注解系列13】Spring自动装配总结:@Autowired、@Resource、@Qualifier、@Inject
- word文档怎么限制编辑(禁止编辑、只读)?
- vc 消息与事件的区别
- Python与操作系统有关的模块
- 云计算交流会计算机操作,计算机二级考试真题-word-小王-云计算技术交流大会...
- Vue - 条件渲染与列表渲染
- MTK 驱动开发(27)---TP 驱动分析
- AMD完成对赛灵思的收购
- chart.js 饼图显示百分比_Excel制作华夫饼图,其实很简单
- arcgis 将栅格值提取到点_ArcGIS教程:值提取至点 (空间分析)
- 利用绝对定位和相对定位对CSS中区块进行位置调整
- (五)Thymeleaf标准表达式之——[7-8]条件表达式 默认表达式
- Matlab 阶乘factorial
- 再问运费查询的具体实现问题
- iOS获取设备的序列号
- 音频直播,这里面到底有多少坑
- 投屏电视显示无法连接服务器,无法连接服务器.怎么办?
- KSO-纯CSS全屏图片,全屏背景图,自适应
热门文章
- POJ 1035, Spell checker
- tomcat日志切割
- pl/sql dev连接报错Access violation at address 67614F04 in module 'oranls11.dll'
- mysql 2013错误解决
- 读书笔记之: 计算机网络(第4版)- 第6章 传输层
- WPF程序中的XPSDocumentViewer
- Oracle专家调优秘密
- java8学习:用流收集数据
- Maximum execution time of 30 seconds exceeded解决办法
- db2中的几个转义字符