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. 记录一次elasticsearch-php工作过程

    初始化 $hosts = array('192.168.30.41'); $this->client = \Elasticsearch\ClientBuilder::create()->s ...

  2. 【webGL】

    1.类型化数组 WebGL设计复杂的计算,需要提前知道数值的精度,而标准的javascript数值无法满足需要.WebGL引入了一个概念,叫类型化数组. ArrayBuffer的类型,表示的只是内存中 ...

  3. VC++编译错误error C2065: “HANDLE”: 未声明的标识符及添加winbase.h后提示winbase.h(243): error C2146: 语法错误: 缺少“;”(在标识符“Internal”的前面)的解决办法

    问题描述: VC++程序编译时提示错误:error C2065: “HANDLE”: 未声明的标识符等众多错误提示,如下所示: error C2065: “HANDLE”: 未声明的标识符 error ...

  4. [转]VS 2012环境下使用MFC进行OpenGL编程

    我就不黏贴复制了,直接给出原文链接:VS 2012环境下使用MFC进行OpenGL编程 其它好文链接: 1.OpenGL系列教程之十二:OpenGL Windows图形界面应用程序

  5. ubuntu16.04下的htk安装编译

    HTK(HMM Tools Kit)是一个剑桥大学开发的专门用于建立和处理HMM的实验工具包[1],主要应用于语音识别领域,也可以应用于语音合成.字符识别和DNA排序等领域.HTK经过剑桥大学.Ent ...

  6. Properties类和如何操作属性

    Properties类继承关系java.lang.Object  java.util.Dictionary<K,V>      java.util.Hashtable<Object, ...

  7. js 正则表达式验证密码、邮箱格式.....

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. C++ 之const的使用

    在类中,有时候为了避免误操作而修改了一些人们不希望被修改的数据,此时就必须借助const关键字加以限定了.借助const关键字可以定义const类型的成员变量.成员函数.常对象以及对象的常引用. co ...

  9. 突然的明白--public static 类名 函数名()

    public static ImageUtilEngine getImageEngine() { return imageEngine; } 这个是什么啊........纠结了一个多星期的东西 忽然间 ...

  10. shell杂记

    (本文将持续更新)从2015年9月25日开始正式学习linux类的东西. 书籍入门:UNIX.Shell编程24学时教程(中文版).Linux与UNIX Shell编程指南.shell十三问.LINU ...