preboot execute environment预启动执行环境--intel开发的技术,计算机可以通过pxe协议从网络引导启动。

工作模式为客户端/服务器端的c/s模式

客户端从远端服务器下载镜像,并支持通过网络启动操作系统(启动过程,客户端要求服务器端分配ip地址,再用TFTP或MTFTP协议下载一个启动软件包到客户端内存中执行)

为了节省时间和成本,使用kickstart+PXE自动化安装部署来解决数百台服务器的系统,版本一致。

架构:DHCP+NFS+TFTP+PXE+kickstart

需要安装的服务:dhcp,tftp,nfs,kickstart(一个配置文件)等

前提:客户端开启pxe功能

#服务器端:

1.挂载镜像

2.DHCP安装:

yum install dhcp* -y

配置dhcp:vi /etc/dhcp/dhcpd.conf

#有一个dhcpd.conf.sample的文件可以参考

3.TFTP安装:

yum install tftp* -y

配置tftp服务:vi /etc/xinetd.d/tftp

disable=yes改为no

#tftp基于xinetd.d的服务启动

4.配置TFTPBOOT+PXE配置

要实现远程安装系统,需要在TFTPBOOT目录指定相关PXE内核模块及相关参数。

#系统是5,默认tftpboot目录自动创建到/目录下

#系统是6,默认tftpboot目录在/var/lib/下,需要centos6.x需要软链接到/目录下

#yum install syslinux

#先用find命令查找pxelinux.0文件,如果没有执行上面的命令

cp /usr/share/syslinux/pxelinux.0 /tftpboot

#拷贝到tftpboot目录下

引导文件pxelinux.0

syslinux是一个功能强大的引导加载程序,而且兼容各种介质。更加确切地说:SYSLINUX是一个小型的Linux操作系统,它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。

将镜像中的文件拷贝出来:

cp /mnt/images/pxeboot/vmlinuz /tftpboot/

cp /mnt/images/pxeboot/initrd.img /tftpboot/

拷贝初始化引导文件,内核到tftpboot目录下

在tftpboot目录下

mkdir -p pxelinux.cfg

# 参数:-p 确保目录名称存在,如果目录不存在,就新创建一个

cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

拷贝isolinux.cfg配置文件并重命名为default,系统安装的时候会根据此文件的配置启动相应的选项

类似一个菜单:

........

#注意可能需要给default文件添加权限chmod 777这样

加入:

label centos7.8//centos7.8标签

kernel vmlinuz//内核文件

append ks=nfs:kickstart服务器的ip地址:/centosinstall/ks.cfg ksdevice=eth0 initrd=initrd.img

#/centosinstall是nfs共享linux镜像的目录,也是linux存放安装文件的路径

#ks.cfg是kickstart主配置文件

#设置timeout 10,超时时间为10s

#ksdevice=eth0代表客户端从eth0安装操作系统--用于多个网卡的服务器,vm环境下可以不用这个

由于安装7.8的centos版本,安装后是ens33

#default文件 将default后的 改为centos7.8,就可以默认引导到centos7.8这个标签来,就不需要在安装的时候输入centos7.8

#客户端:

5.配置nfs

nfs传镜像文件--默认已经安装

mkdir -p /centosinstall

cp -rf /mnt/* /centosinstall

#把镜像文件都拷贝到centosinstall目录下

并在nfs配置文件/etc/exports添加

/centosinstall   *(rw,sync)

#centosinstrall为共享目录,rw,sync允许任何主机访问

#注意/centosinstall目录要有读写权限

6.kickstart配置

#配置kickstart,一个是可以使用system-kickstart系统软件包来配置,也可以直接拷贝/root/目录下的anaconda-ks.cfg到刚分享的/centosinstall目录下,并重命名为ks.cfg

anaconda-ks.cfg文件:

#chmod 777 ks.cfg

#根据需要修改ks文件:

#clearpart --all --initlabel//初始化所有磁盘

ks.cfg文件可分三部分:命令部分,软件部分,脚本部分

其中脚本部分:

%pre:预安装脚本(由于只依赖于启动镜像,支持的命令很少)
%post:后安装脚本(基本支持所有命令)

在%post中如果加入wget的命令,就要在%packages中加入wget包

#浪潮服务器在安装系统过程中,发现在dd后,系统无法起来,解决方法:在ks.cfg文件中增加

ignoredisk --only-use=sda

重启服务

/etc/init.d/nfs restart

/etc/init.d/xinetd restart

/etc/init.d/dhcpd restart

启动客户端:dhcp获取到地址。输入引导的是centos7.8

kickstart自动化安装的更多相关文章

  1. kickstart自动化安装--tftp+nfs+dhcp

    使用kickstart实现Centos 自动化安装 Kickstart自动化安装简介: 规模化:同时装配多台 服务器 自动化 :安装系统,配置各种服务 远程实现:不需要光盘,U盘等安装介质 优势: ( ...

  2. Kickstart 自动化安装配置

    自动化安装案例: 一 ,系统环境 # cat /etc/redhat-release CentOS release 6.6 (Final) #Hostname [root@boot ~]# hostn ...

  3. Kickstart自动化安装平台

    PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并 ...

  4. 103、kickstart自动化安装操作系统

    103.1.前言: 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装. 常规的办法有: 光盘安装系统===>一个 ...

  5. Linux下使用Kickstart自动化安装平台架构

    PXE工作于Client/Server的网络模式.在启动过程中,终端要求服务器分配IP地址,再用TFTP协议下载一个自动启动软件包到内存中执行. 要使用kickstart安装平台,包括完整的架构为:K ...

  6. pxe+kickstart自动化安装

    什么是PXE? PXE(Pre-boot Execution Environment,预启动执行环境)是Intel公司开发的最新技术,工作于Client/Server模式.PXE是一种远程引导方式,要 ...

  7. CentOS7.2下PXE+kickstart自动化安装系统

    一.实验环境 操作系统:CentOS Linux release 7.2.1511 (Core) 网卡地址:192.168.100.147/24 光盘镜像:CentOS-7-x86_64-Minima ...

  8. 好记性不如烂笔头-linux学习笔记2kickstart自动化安装和cacti

    kickstart自动化安装的逻辑梳理 主要是安装tftp nfs dhcp 然后配置kickstart 原来就是先安装tftp 可实现不同机器的文件下载 然后在安装nfs 就是主服务器的文件系统 然 ...

  9. PXE+Kickstart 批量安装CentOS 7

    安装之前 将需要安装 CentOS 的服务器与 PXE 服务器通过网络设备连接:PXE 服务器安装 CentOS,并且关闭firewalld.selinux,设置静态IP地址,本例设为10.0.0.1 ...

随机推荐

  1. ethereumjs/ethereumjs-wallet

    Utilities for handling Ethereum keys ethereumjs-wallet A lightweight wallet implementation. At the m ...

  2. rpm -qa 查找文件

    系统环境:centos6.6 yum install 安装的文件找不到安装路径,使用whereis和find -name都无效 rpm -qa | grep -i 关键字  查找 rpm -ql fi ...

  3. OpenCV——边缘检测(sobel算子、Laplacian算子、scharr滤波器)

    #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...

  4. c语言gets()函数与它的替代者fgets()函数

    在c语言中读取字符串有多种方法,比如scanf() 配合%s使用,但是这种方法只能获取一个单词,即遇到空格等空字符就会返回.如果要读取一行字符串,比如: I love BIT 这种情况,scanf() ...

  5. odoo 打印格式中 打印第一个数据默认

    <table style="width:100%;"> <tr> <td style="word-wrap:break-word;width ...

  6. ASP.NET Core2.1 你不得不了解的GDPR(Cookie处理) - (转载)

    前言 时间一晃 ASP.NET Core已经迭代到2.1版本了. 迫不及待的的下载了最新的版本,然后生成了一个模版项目来试试水. ...然后就碰到问题了... 我发现..cookie竟然存不进去了.. ...

  7. OSS介绍

    1 基本概念介绍 1.1 存储空间(Bucket) 存储空间是您用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间.您可以设置和修改存储空间属性用来控制地域.访问权限.生命周期等, ...

  8. WPF和WebBrowser JS交互

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...

  9. 20155301PC平台逆向破解

    20155301PC平台逆向破解 1.掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码 NOP:NOP指令即"空指令".执行到NOP指令时,CPU什么也不做,仅仅当 ...

  10. 20155325 Exp9 Web安全基础

    本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验后回答问题 (1)SQL注入攻击原理,如何防御 原理:SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击 ...