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

 

转载于:https://www.cnblogs.com/dannylinux/p/7978632.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/370340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

课时57.HTML被废弃的标签(掌握)

1.为什么HTML中有一部分标签会被废弃&#xff1f; 因为当前HTML中的标签只有一个作用&#xff0c;就是用来添加语义&#xff0c;而早期的HTML标签中有一部分标签是没有语义的 有一部分标签是用来修改样式的 所以这部分标签就被淘汰了 <br><hr><font> <…

Java编码约定被认为是有害的

在Oracle网站上有Java编程语言指南的正式代码约定 。 您可能希望这份超过20页的文档将是有关Java语言的最佳实践&#xff0c;提示和技巧的最完整&#xff0c;最全面和最权威的来源。 但是一旦你开始阅读它&#xff0c;失望和愤怒就会增加。 我想指出本指南中最明显的错误&#…

flash php socket通信_php socket通信机制实例说明

php socket通信机制实例说明与代码----什么是socket 所谓socket一般也称作"套接字"&#xff0c;用于描述ip地址和端口&#xff0c;是一个通讯链的句柄。使用程序一般经过"套接字"向network发出请求也许应对network请求。说白了就是一种通讯机制。它类似于银…

python的ogr模块_python GDAL/OGR模块安装注意事项

软件准备&#xff1a;首先&#xff0c;确保电脑里已安装python2.7(2.x版本的比较好用&#xff0c;因为还使用ArcGIS)&#xff0c;然后从http://www.gisinternals.com网站上下载这两个文件GDAL-2.1.3.win32-py2.7.msi和gdal-201-1500-core.msi。软件安装&#xff1a;首先安装gda…

课时55.详情和概要标签(理解)

1.什么是详情和概要标签&#xff1f; 作用&#xff1a;利用summary标签来描述概要信息&#xff0c;利用details标签来描述详情信息 默认情况下是折叠展示&#xff0c;想看见详情必须点击 格式&#xff1a; <details> <summary>概要信息</summary> 详情信…

Spring Security可以做的十件事

一 您可以在Spring XML配置文件中指定您选择的授权提供者。 您可以通过配置Spring的http://www.springframework.org/schema/security/spring-security-3.1.xsd模式中定义的authentication-manager来实现。 简化的authentication-manager元素定义看起来像这样&#xff1a; &l…

python编写自定义函数判断n1-n2范围内的素数_【每日道代码题001】- PYTHON基础复习...

问题001-1&#xff1a;请对输入三个整数a,b,c,判断能否以它们为三个边长构成三角形。若能&#xff0c;输出YES和面积&#xff0c;否则输出NOa float(input())b float(input())c float(input())if a > 0 and b > 0 and c > 0: #判断边长是否为正if (a b > c) an…

php绘制一个三角形,如何利用css或html5画出一个三角形?两种不同的制作三角形方法(代码实例)...

我们在平时的前端开发的时候&#xff0c;有时候是需要一些小图形来丰富一下页面效果&#xff0c;比如&#xff1a;下拉列表的倒三角图形。那么这样的一个三角形是如何制作出来的&#xff0c;本章给大家介绍如何利用css或html画出一个三角形&#xff1f;两种不同的制作三角形方法…

课时53.video标签(掌握)

这节课来学习一下html5中新增的标签&#xff0c;我们先来看一下&#xff0c;html5中新增了哪些标签&#xff1f; 打开W3school的网页&#xff0c;点击参考手册中的HTML/HTML5标签&#xff0c;有一个按字母顺序排列的标签&#xff0c;但凡标签后面带有5标记的&#xff0c;都是h…

Date函数基础知识整理

Date类型&#xff1a;1.Date.parse()接收一个表示日期的字符串参数&#xff0c;然后再根据这个字符串返回响应的日期的毫秒数&#xff1b;如&#xff1a;创建一个日期&#xff1a; 1 <script> 2 // var someDatenew Date(May 25,2004); 3 // console.log(someDate);//Tue…

Google Guava –与Monitor同步

Google Guava项目是每个Java开发人员都应该熟悉的库的集合。 Guava库涵盖I / O&#xff0c;集合&#xff0c;字符串操作和并发性。 在这篇文章中&#xff0c;我将介绍Monitor类。 Monitor是一种同步构造&#xff0c;可以在使用ReentrantLock的任何地方使用。 在任何时候&#x…

yaf 重写index.php,php框架Yaf路由重写实例代码

通常为了友好的URL格式&#xff0c;会进行站点URL的重写&#xff0c;可以在webserver(Nginx)的配置中进行rewrite&#xff0c;也可在在程序端进行&#xff0c;本文主要和大家介绍php框架Yaf路由重写&#xff0c;给大家做个参考&#xff0c;希望能帮助到大家。以下使用Yaf框架进…

python类初始化导入库_Python中optparser库用法实例详解

本文研究的主要是Python中optparser库的相关内容&#xff0c;具体如下。一直以来对optparser不是特别的理解&#xff0c;今天就狠下心&#xff0c;静下心研究了一下这个库。当然了&#xff0c;不敢说理解的很到位&#xff0c;但是足以应付正常的使用了。废话不多说&#xff0c;…

SQL--Chapter8--Working with Triggers and Transactions

Objectives:1.Implement triggers 2.Implement transactions 转载于:https://www.cnblogs.com/Catherinezhilin/p/7979644.html

Canvas制作的下雨动画

简介 在codepen上看到一个Canvas做的下雨效果动画&#xff0c;感觉蛮有意思的。就研究了下&#xff0c;这里来分享下&#xff0c;实现技巧。效果可以见下面的链接。 霓虹雨: http://codepen.io/natewiley/full/NNgqVJ/ 效果截图&#xff1a; Canvas动画基础 大家都知道&…

在Eclipse中有效使用JUnit

最近&#xff0c;我被卷入了讨论1和一些受感染的同伴2&#xff0c;他们关于我们如何在Eclipse IDE中使用JUnit 。 令人惊讶的是&#xff0c;对话带来了并非所有人都知道的一些“技巧”。 这使我有了写这篇文章的想法&#xff0c;总结了我们的演讲。 谁知道–也许有人也有新事物…

jquery文件上传控件 Uploadify

基于jquery的文件上传控件&#xff0c;支持ajax无刷新上传&#xff0c;多个文件同时上传&#xff0c;上传进行进度显示&#xff0c;删除已上传文件。 要求使用jquery1.4或以上版本&#xff0c;flash player 9.0.24以上。 有两个版本&#xff0c;一个用flash,一个是html5。html5…

imagick php 缩放,php使用imagick模块实现图片缩放、裁剪、压缩示例

PHP 使用Imagick模块 缩放&#xff0c;裁剪&#xff0c;压缩图片 包括gif图片缩放 裁剪代码如下:/*** 图片裁剪* 裁剪规则&#xff1a;* 1. 高度为空或为零 按宽度缩放 高度自适应* 2. 宽度为空或为零 按高度缩放 宽度自适应* 3. 宽度&#xff0c;高度到不为空或为…

php实现第三方邮箱登录_PHP实现用户异地登录提醒功能的方法

有时候你的网站账号被盗或你在别处登录操作后台时&#xff0c;右下角会弹出提示信息&#xff0c;提醒你的账号异地登录&#xff0c;或者会被强制下线。对于这种安全性要求比较高的web网站&#xff0c;很多后台管理都会做这种功能提醒。甄别自己的账号是否被盗或者是否有另一个人…

课时47.datalist标签(了解)

1.datalist标签 作用&#xff1a;给输入框绑定待选项 2.datalist格式&#xff1a; <datalist> <option>待选项内容</option> </datalist> 3.如何给输入框绑定待选列表&#xff1f; 搞一个输入框搞一个datalist列表给datalist列表标签添加一个id给…