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             = dgramprotocol                = udpwait                    = yesuser                    = rootserver                  = /usr/sbin/in.tftpdserver_args             = -s /var/lib/tftpbootdisable                 = noper_source              = 11cps                     = 100 2flags                   = 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.cfg2:复制isolinux文件到tftp#[root@kickstart pxelinux.cfg] cp /var/www/html/xiaoqiang/isolinux/isolinux.cfg ./default3:备份并精简defalt文件#[root@localhost pxelinux.cfg] cp default default.bak && vim defaultdefault kickstart
timeout 600
display booot.msg label kickstartmenu label ^Install Centos 7kernel vmlinuzappend 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

linux无人值守批量安装系统相关推荐

  1. (转)Cobbler无人值守批量安装Linux系统

    本文目录: 1.1 pxe安装系统 1.2 cobbler基本介绍 1.3 安装和配置cobbler 1.3.1 安装cobbler 1.3.2 配置dhcp和tftp 1.4 cobbler从本地光 ...

  2. linux系统批量装机,PXE+Kickstart实现无人值守批量安装Linux

    PXE+Kickstart实现无人值守批量安装Linux 实验准备:主机myrhel2作为服务器端,新建一个没有安装操作系统的虚拟主机,而且其与服务器端在同一个网段 安装的条件: 服务器端: 支持TF ...

  3. 3.1 KickStart 无人值守批量安装Linux系统

    原创地址找不到了,请原创来找我吧,感谢原创. KickStart 无人值守批量安装Linux系统 一:需求分析 不适合本地安装的情况如下: (1)无软驱和光驱:如果计算机不带光驱或软驱,则无法通过本地 ...

  4. PXE+Kickstart实现无人值守批量安装Linux

    PXE+Kickstart实现无人值守批量安装Linux 一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的 ...

  5. linux不断安装操作系统,无人值守批量安装linux操作系统

    无人值守批量安装linux操作系统(实验总结) 每天都看对着电脑的操作系统,有时候出现了什么问题实在解决不了,我们肯定会选择重做系统的,当然一台两台系统我们还是可以一一搞定,可是我们是否想过要是一次性 ...

  6. linux无人值守安装实验,无人值守批量安装linux操作系统

    无人值守批量安装linux操作系统(实验总结) 每天都看对着电脑的操作系统,有时候出现了什么问题实在解决不了,我们肯定会选择重做系统的,当然一台两台系统我们还是可以一一搞定,可是我们是否想过要是一次性 ...

  7. kvm cobbler无人值守批量安装操作系统

    kvm cobbler无人值守批量安装操作系统 cobbler:一个自动网络安装系统的工具,集成PEX.dhcp.dns.tftpd.sync等服务.可以供大家管理安装操作系统 kvm:Linux系统 ...

  8. 通过PXE服务器批量安装系统

    通过PXE服务器批量安装系统 一.环境介绍 1.PXE服务器版本 2.挂载光盘 3.配置yum仓库 二.部署DHCP服务器 1.安装相关软件包 2.编辑DHCP配置文件 3.重启dhcp服务 4.放行 ...

  9. kickstart+TFTP+PXE+NFS+DHCP批量安装系统,raid

    服务端给工作站批量安装系统 通过PXE(预启动执行环境,通过网卡启动,网卡必须支持PXE技术)技术,支持工作站从远程服务器下载镜像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP ...

最新文章

  1. 解决Windows7 Embedded连接手机问题
  2. 成绩不超过100的C语言,输入若干个学生的百分制成绩,计算平均分并输出.输入-1表示结束,若输入的成绩超过100,则需重新输入.c语言...
  3. python 基于UDP协议的socket 报错:OSError: [WinError 10049] 在其上下文中,该请求的地址无效(绑定的ip要跟本地ip对应)
  4. SAP Spartacus里的product carousel控件
  5. .net6给winform带来的新功能
  6. sqlite简单介绍
  7. python保存任意object的数据到本地(python的序列化与反序列化)
  8. 谈谈互金跟银行里数据逻辑的差异
  9. JavaScript上传文件,不打断点就上传失败
  10. centos7 split 切割文件_CentOS 大文件夹按固定块大小分割打包实验
  11. 【CV】用于计算机视觉的 Transformer 高被引综述
  12. 软件开发需求文档案例_第2部分:开发软件需求,一个案例研究
  13. python 英语词典下载_Python 字典(Dictionary)
  14. 微信小程序超级占内存_微信小程序彻底拯救16GB手机 小程序与APP占用内存对比...
  15. 计算机科学与技术的研究背景,计算机科学与技术发展背景
  16. overfeat 测试
  17. 复选框不可编辑_你不可错过的Word操作文本小技巧 | 厉害了Word姐15
  18. 自学编程和计算机科班出身的差别在哪里?
  19. 2021.12.26 第一章. 计算机组成与体系结构
  20. c语言编程工具栏没有了,2009计算机二级C语言:工具栏,可拖动,并在被隐藏的地方显示的实现代码...

热门文章

  1. centos7下安装nginx
  2. 电影网站数据查取小试
  3. 搜狗浏览器和360浏览器css布局注意事项
  4. MHDD硬盘坏道检测修复教程(转)
  5. WiFi基本概念(一)WiFi和互联网
  6. 让超级高铁黯然失色,概念机Antipode一小时内可达全球各地
  7. 如何处理工作中同事的吝于赐教?
  8. HTML ===> 向右侧展开div
  9. 电子邮箱怎么写?邮箱的正确格式整理分享
  10. iphone忘记锁屏密码解决办法