linux无人值守批量安装系统

linux无人值守批量安装系统[centos]

PXE协议详解:

PXE,预启动执行环境(Preboot eXecution Environment,PXE,也被称为预执行环境)提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。

  PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client和server两端,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作系统的启动过程,其启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中并执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。

PXE工作原理

1.PXE client从自己的PXE网卡启动,向本网络中的DHCP服务器请求ip地址
2.DHCP服务器收到dhcp请求后,分配dhcp地址池中ip给PXE client
3.PXE client向本网络中的TFTP服务器索取bootstarp文件
4.PXE client取得bootstarp文件后之执行pxelinux.0文件引导,使用pxelinux环境来引导os安装程序。
5.PXE client然后读取pxelinux.cfg文件夹中的default(isolinux.cfg)引导文件,通过TFTP服务器加载内核vmlinuz和根文件系统(boot.msg,vesamenu.c32,initrd.img,splash.jpg),通过http服务器加载ks.cfg引导文件。
6.启动linux内核完成安装

PXE必要条件

1、pxe client必须支持pxe用户端功能,并且开机时选择网络启动,这样系统才能以网络的方式进入pxe启动程序
2、pxe服务器必须至少提供DHCP及TFTP的服务才行,且其中
 DHCP服务器必须能够除未pxe client分配ip地址外,还需告知tftp所在的位置(即pxelinux.0的文件位置)
TFTP服务器则为pxe client 提供bootloader 及 kernel 等重要文件下载服务
3、使用NFS/HTTP/FTP之一的服务器提供pxe client所需程序及软件来源等通讯协议 

配置环境

服务器主机名:kickstart     ip:192.168.60.158  用途:DHCP,TFTP,KICKATART服务器端
客户端主机名:xiaoqiang       ip:dhcp分配         用途:pxe客户端
关闭防火墙和临时关闭selinux:systemctl stop firewalld && setenforce 0
实验版本:CentOS Linux release 7.6.1810 (Core) ------>目测所有7的版本通用

配置http服务

这里使用apache服务作为http的服务器,对外提供服务,主要目的是打不光盘镜像文件。--->nginx也可哦~
#下载apache服务并启动:[root@kickstart]  yum install -y httpd && systemctl start httpd
#创建目录并把centos7镜像挂载:[root@kickstart]  mkdir /var/www/html/xiaoqiang && mount /dev/cdrom /var/www/html/xiaoqiang/
下面是浏览器访问结果:

在这里插入图片描述

安装与配置tftp服务

简单文件传输协议也称小型文件传输协议(Trivial File Transfer Protocol, TFTP),工作在UDP/69 端口,是一种于1981年在RFC 783中定义的简化的文件传输协议(FTP)。

1:安装tftp服务:
# [root@kickstart]  yum install -y tftp-server xinetd
2:修改默认配置文件
# [root@kickstart] vim /etc/xinetd.d/tftp          ------->如下
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4

只需将disable原来的yes改为no,no表明tftp处于启用状态 ,yes表示tftp处于禁用状态
3:启动tftp服务并查看端口
# [root@kickstart] systemctl start xinetd.service && lsof -i:69
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
xinetd  108492 root    5u  IPv4 427978      0t0  UDP *:tftp

在这里插入图片描述

安装与配置DHCP服务

dhcp服务用于给pxe客户端分配ip地址。

1:安装dhcp服务
# [root@kickstart]  yum install -y dhcp
2:配置dhcp服务
# [root@kickstart]  vim /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
subnet 192.168.60.0 netmask 255.255.255.0 {
    range 192.168.60.10 192.168.60.12;      ------->可分配的ip地址
    option subnet-mask 255.255.255.0;      --------->指定子网掩码
    default-lease-time 21600;          ----------->指定默认IP地址租用期限
    max-lease-time 43200;     -------->指定IP地址最长租用期限
    next-server 192.168.60.158;  --------->告诉客户端tftp服务器地址
    filename "pxelinux.0";       ------>告诉客户端从tftp根目录下载pxelinux.0文件
}

3:启动dhcp服务并查看端口
# [root@kickstart]  systemctl start dhcpd && netstat -lntup | grep dhcp && ps -ef | grep dhcp

在这里插入图片描述

kickstart部署

配置pxe引导

1:安装SYSLinux
# [root@kickstart] yum install syslinux -y
2:复制启动菜单程序文件
#[root@kickstart] cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/  

修改客户端配置文件

 1:创建pxelinux.cfg 文件夹并进入此文件夹
 #[root@kickstart] mkdir /var/lib/tftpboot/pxelinux.cfg && cd  /var/lib/tftpboot/pxelinux.cfg
 2:复制isolinux文件到tftp
 #[root@kickstart pxelinux.cfg] cp /var/www/html/xiaoqiang/isolinux/isolinux.cfg ./default
 3:备份并精简defalt文件
  #[root@localhost pxelinux.cfg] cp default default.bak && vim default
  default kickstart
timeout 600  
display booot.msg 
      
label kickstart
  menu label ^Install Centos 7
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.60.158/ksconfig/ks.cfg  --->告知安装程序ks.cfg文件的位置
 
  

配置ks.cfg文件

1:创建ks目录及复制文件
#[root@kickstart] cd /var/www/html/ && mkdir ksconfig && cp /root/anaconda-ks.cfg /var/www/html/ksconfig/ks.cfg && cd ksconfig
2:给予文件权限
#[root@localhost ksconfig] chmos 644 ks.cfg
3:修改配置文件
install
url --url="http://192.168.60.158/cetnos7/"
text
# System authorization information
auth --enableshadow --passalgo=sha512
# Run the Setup Agent on first boot
firstboot --disabled
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8

# Network information
network  --bootproto=dhcp  --gateway=192.168.60.1  --netmask=255.255.255.0
network  --hostname=xiaoqiang

# Root password
rootpw 1 
# System services
services --disabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc 
# System bootloader configuration
bootloader --append=" rhgb quiet" --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --none --initlabel
zerombr
part /boot --fstype=ext4 --size=500
part /swap --size=1024
part / --fstype=ext4 --size=20480
reboot
%packages
@^minimal
@compat-libraries
@core
@debugging
@development
@security-tools
@smart-card
@system-admin-tools
kexec-tools
%end

客户端无人值守安装

在虚拟机准备好一台服务器:建议物理内存4G,硬盘内存40G。虚拟机直接开机就ok了不需要bios调什么网卡启动,vm16版本已经不需要多余操作了,你前面的步骤没问题基本自动会执行,加载相关的配置后,会自动安装客户端操作系统。大约15-20分钟。

在这里插入图片描述
在这里插入图片描述

实验后笔者的心里话

网上千篇一律的pxe无人值守批量安装,如果直接按照来做的话,结果不尽人意,笔者的实验环境是centos7.6,目测7版本都是我这样的,你完全可以当个cv工程师直接复制命令一步步执行,至于你有要求安装怎么样的系统则网上看看ks.cfg文件详解等,自己动手修改即可.

ks.cfg 文件,参数讲解:https://www.linuxidc.com/Linux/2013-07/87299.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BLXXQQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>