PXE+Kickstart 自动安装

安装之前

将需要安装 CentOS 的服务器与 PXE 服务器通过网络设备连接;PXE 服务器安装 CentOS,并且关闭firewalld、selinux,设置静态IP地址,本例设为10.0.0.1;一般来说因为是在内网操作,还需要配置本地YUM源。本例仅适用UEFI引导,BIOS稍有不同。

配置PXE服务器

配置tftp服务器

1.安装tftp服务器

[[email protected] ~]# yum -y install tftp-server

2.启用tftp服务器

在 /etc/xinet.d/tftp 配置文件中,将 disabled 参数从 yes 改为 no

配置DHCP服务器

1.安dhcp服务器

[[email protected] ~]# yum -y install dhcp

2.将您的 DHCP 服务器配置为使用采用 shim 打包的 EFI 引导映象。

[[email protected] ~]# vi /etc/dhcp/dhcpd.conf 

示例如下

option space pxelinux;
option pxelinux.magic code 208 = string;
option pxelinux.configfile code 209 = text;
option pxelinux.pathprefix code 210 = text;
option pxelinux.reboottime code 211 = unsigned integer 32;
option architecture-type code 93 = unsigned integer 16;

subnet 10.0.0.0 netmask 255.255.255.0 {
  option routers 10.0.0.1;
  range 10.0.0.2 10.0.0.253;

  class "pxeclients" {
      match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
      next-server 10.0.0.1;

      if option architecture-type = 00:07 {
        filename "uefi/shim.efi";
      } else {
        filename "pxelinux/pxelinux.0";
      }
  }
}

关于dhcp配置文件的简要说明:

subnet 10.0.0.0 netmask 255.255.255.0 {    //分配的网段,子网掩码
  option routers 10.0.0.1;    //dhcp服务器的IP地址
  range 10.0.0.2 10.0.0.253;    //分配的IP地址段为说明

提取引导文件

需要提取shim 软件包中的 shim.efi 文件,以及 ISO 映像文件中 grub2-efi 软件包的 grubx64.efi 文件

[[email protected] ~]# mount /dev/cdrom /mnt/  //挂载镜像文件,视实际情况而定
[[email protected] ~]# cp -pr /mnt/Packages/shim-x64-12-1.el7.centos.x86_64.rpm /tmp/
[[email protected] ~]# cp -pr /mnt/Packages/grub2-efi-x64-2.02-0.64.el7.centos.x86_64.rpm
[[email protected] ~]# cd  /tmp/
[[email protected] tmp]#  rpm2cpio shim-x64-12-1.el7.centos.x86_64.rpm | cpio -dimv
[[email protected] tmp]#  rpm2cpio grub2-efi-x64-2.02-0.64.el7.centos.x86_64.rpm | cpio -dimv

添加引导文件进tftp目录

[[email protected] ~]# mkdir /var/lib/tftpboot/uefi
[[email protected] ~]# cp /tmp/boot/efi/EFI/centos/shim.efi /var/lib/tftpboot/uefi/
[[email protected] ~]# cp /tmp/boot/efi/EFI/centos/grubx64.efi /var/lib/tftpboot/uefi/[[email protected] ~]# cp /mnt/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/uefi/

添加 grub.cfg 配置文件

[[email protected] ~]# vi /var/lib/tftpboot/uefi/grub.cfg
set timeout=60
  menuentry ‘CentOS 7‘ {
  linuxefi uefi/vmlinuz ip=dhcp inst.repo=http://10.0.0.1/
  initrdefi uefi/initrd.img
}

配置文件简要说明

menuentry ‘CentOS 7‘  //这个是个引导项,之后安装会看到,引号部分可以自定义
linuxefi uefi/vmlinuz ip=dhcp inst.repo=http://10.0.0.1/
initrdefi uefi/initrd.img//这两行是定制引导项,相当于安装进入引导菜单时,按e将看到这两行,inst.repo=10.0.0.1指定安装源。

准备http服务器

[[email protected] ~]# yum -y install httpd
[[email protected] ~]# mount /dev/cdrom /mnt/  //如果之前挂载的镜像没卸载,则无需重新挂载
[[email protected] ~]# cp -rv /mnt/* /var/www/html/

开启所需服务

[[email protected] ~]# systemctl start httpd dhcpd xinetd

自此,PXE 服务器已经准备完成,设置需要安装系统的计算机从网络(PXE)启动,即可。

Tips:tftp服务属于瞬时服务,即使手动开启,一段时间后,无连接请求,也会自动关闭,而且也无法在系统引导时自动启动(也就是说systemctl enable tftp是无效的),平时tftp服务不启动,只有用户请求tftp服务的时候,才会被xinetd启动,接受客户端的请求。配置tftp支持xinetd就是之前的启用tftp的步骤:在 /etc/xinet.d/tftp 配置文件中,将 disabled 参数从 yes 改为 no

小结1:此例我将10.0.0.1这台服务器设置为 PXE 服务器,提供引导安装功能,同时也在10.0.0.1上配置了安装源(此例是通过http提供安装树),需要注意的就是10.0.0.1这台服务器上的防火墙、selinux一定要关闭,或者打开httpd、dhcpd、xinetd这些服务的端口。至此已经提供了我们需要安装的服务器只需要设置从网络(PXE)启动就可以开始安装了,但是实现PXE+Kickstart自动安装,还需要一些步骤。

完全的PXE+Kickstart自动化安装

准备Kickstart文件

一般是单用PXE服务器手动设定配置项目后,安装一台;使用 /root 目录下面将 anaconda-ks.cfg,可以重命名为 ks.cfg ,手动编辑 Kickstart 文件较为繁琐,推荐一款工具

将Kickstart文件部署与网络中

这里我们可以使用之前用作提供安装源的http服务器,将 Kickstart 文件放入 http 服务器中 /var/www/html 目录中。

添加定制引导项支持 Kickstart

修改之前创建的 grub.efi 文件如下:

[[email protected] ~]# vi /var/lib/tftpboot/uefi/grub.cfg
set timeout=60
  menuentry ‘RHEL 7‘ {
  linuxefi uefi/vmlinuz ip=dhcp inst.repo=http://10.0.0.1/ inst.st=http://10.0.0.1/ks.cfg
  initrdefi uefi/initrd.img
}

实际上只是添加了

inst.st=http://10.0.0.1/ks.cfg

重新所需的服务,设置需要安装的系统从网络(PXE)启动

注意:特别需要注意http服务器提供文件的是否有读权限

原文地址:https://www.cnblogs.com/yogurtwu/p/9428782.html

时间: 2024-10-10 01:00:23

PXE+Kickstart 自动安装的相关文章

linux系统PXE+Kickstart自动安装系统

一.PXEPXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,

PXE+kickstart自动安装ubuntu14.04

本文参考了诸多文章,先感谢这些文章的作者. 使用pxe安装系统需要安装dhcp,tftp,http等服务(当然也可以使用其他文件共享方式比如nfs,ftp). 实验环境: 1. vmware 12 2.网段 10.0.0.0/8, PXE服务器IP:10.0.0.100 一.安装dhcp服务 可以选择安装isc-dhcp-Server 或者 dnsmasq(这个在openstack中使用较多,而且它也包含tftp服务,配置也非常方便,我因为已经安装dhcp和tftp就懒得换了). 我选择安装了i

PXE+Kickstart 自动安装CentOS系统

PXE (preboot execcute environment) 依赖服务 dhcp tftp file server (yum repository) 准备TFTP服务器  如何配置TFTP服务器 准备DHCP服务器 如何配置DHCP服务器   部署kickstart安装环境 使用http提供yum源 yum install -y httpd mkdir /var/www/html/CentOS7 # 偷个懒将之前挂载过的光盘镜像挂载至此处 mount --bind /media/cdro

Centos-7.3配置PXE+kickstart无人值守安装

Centos-7.3配置PXE+KICKSTART自动安装系统 首先查看当前系统版本,如图,当前版本是Centos 7.3.1611 PXE+kickstart服务安装必须要安装的有:Dhcp 提供自动IP分配和指定文件位置的服务Tftp-server xinetd 提供tftpd服务Syslinux 提供pxelinux.0文件Httpd 提供安装包及ks.cfg文件共享的功能,也可以使用vsftpd服务. 环境初始设置:关闭SELINUX#vi /etc/sysconfig/selinuxS

Pxe+Kickstart无人值守安装Linxu操作系统

KICKSTART无人值守安装: 一.系统安装方法: 光盘安装系统===>一个服务器DVD内置光驱就要花很多钱,试想,几百台服务器仅是装系统用一次光驱,太耗资金,usb外置光驱一台一台插也是够麻烦的. U盘安装系统===>还是同样的问题,要一台一台服务器插U盘. 网络安装系统(ftp,http,nfs) ===>这个方法不错,只要服务器能联网就可以装系统了,但还是需要一台台服务器去敲键盘点鼠标.时刻想偷懒的我们,有没有更好的方法! 高效安装系统法:Kickstart.Cobbler 二.

PXE+Kickstart无人值守安装CentOS 6.7

一.简介 1.1 什么是PXE PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到

PXE+Kickstart 无人值守安装CentOS

一.简介 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本

PXE+kickstart无人值守安装CentOS

PXE+kickstart无人值守安装CentOS PXE是什么 PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址(dhcp服务),再用TFTP(trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端

PXE/Kickstart远程安装及部署

PXE/Kickstart远程安装及部署 介绍 由Intel公司开发的网络引导技术,工作在C/S(客户机/服务器)模式: 前提条件 1.客户机支持PXE协议(集成BOOTROM芯片),且主板支持网络引导: 2.网络中要有一台DHCP服务器为客户机自动分配地址 并 指定引导文件位置: 3.服务器通过TFTP(简单文件传输协议)提供引导镜像文件的下载: RHEL6的网络安装源一般通过HTTP.FTP协议发布,另外也支持NFS(网络文件系统): 本例通过FTP发布 一.搭建yum软件仓库 [[emai