pxe无人值守安装centos8

方案一:搭建dhcp,tftp,http服务器

1. dhcp

  1. 安装
安装dhcp-server.x86_64 : Provides the ISC DHCP server
  1. 配置
vim /etc/dhcp/dhcpd.conf

#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp-server/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#


# A slightly different configuration for an internal subnet.
subnet 192.168.6.0 netmask 255.255.255.0 {		 #分配网段
  range 192.168.6.100 192.168.6.201;    #分配IP地址范围
  option domain-name-servers 192.168.6.3;	#DNS地址
  option routers 192.168.6.254;	#分配的网关地址
  default-lease-time 600;
  max-lease-time 7200;
  next-server 192.168.6.3;	#指定下一个服务器地址
  filename "pxelinux.0";	#指定网卡引导文件名称
}
  1. 启动
[root@op ~]# systemctl restart dhcpd
[root@op ~]# systemctl enable  dhcpd

2.tftp

  1. 安装
tftp-server.x86_64 : The server for the Trivial File Transfer Protocol (TFTP)
  1. 配置
无,如果为centos7及之前版本需要借助xinetd启动,本文为个人笔记不加说明,请参考www.linuxprobe.com
  1. 放东西
mount /dev/cdrom /mnt
cp /mnt/isolinux/* .
mkdir /pxelinux.cfg
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
#cp /usr/share/syslinux/pxelinux.0 . 别急往下看
  1. 配置/pxelinux.cfg/default
default vesamenu.c32 #默认加载图形模块
timeout 60   #等待时间ms
display boot.msg
menu background splash.png #背景
 menu title NSD1905 PXE Server !  #标题显示

#....#颜色配置我不显示了

label linux
  menu label ^Install CentOS Linux 8	#菜单显示的内容
  menu default	#读秒结束后默认选择
  kernel vmlinuz	  #加载启动内核
  append initrd=initrd.img 	加载驱动程序	ks=http://192.168.6.3/anaconda-ks.cfg inst.repo=http://192.168.6.3/centos8/iso/		 
# quiet 选择是否静默

4. syslinux

  1. 安装
]# yum -y install syslinux
]# rpm -ql syslinux | grep pxelinux.0  #查询安装清单
]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

pxelinux.0:网卡引导文件,网络装机说明书,二进制文件
安装一个软件可以产生该文件,默认名称pxelinux.0
pxelinux.0—>p读取菜单文件内容/var/lib/tftpboot/pxelinux.cfg/default

5.安装http(也可以是ftp)

  1. 安装
  1. 运行
主要是防火墙和selinux
  1. 加入文件

在centos8下没了system-config-kickstart

cp -r /mnt/* /var/www/html/centos8/iso/
cp ~/anaconda-ks.cfg /var/www/html/

anaconda-ks.cfg大致

#version=RHEL8
# Use graphical install
graphical

#repo --name="AppStream" --baseurl="http://192.168.6.3/centos/iso/AppStream"
url --url=http://192.168.6.3/centos8/iso/ #改这个

%packages
@^graphical-server-environment

%end

# Keyboard layouts
keyboard --xlayouts='cn'
# System language
lang zh_CN.UTF-8

# Network information
network  --bootproto=dhcp --device=ens160 --onboot=on --ipv6=auto --activate
network  --hostname=localhost.localdomain

# Use CDROM installation media
# Run the Setup Agent on first boot
firstboot --enable

ignoredisk --only-use=sda
autopart
# Partition clearing information
clearpart --none --initlabel

# System timezone
timezone Asia/Shanghai --isUtc --nontp

# Root password
rootpw --iscrypted $6$JRSOQOhkkYCkX0Fl$isjYdYcNxNAM7w3Ej0Uy.P/em2pkGCS7Hlw6jLyTnDwOAnJU9efzZ8p9sHHHilZTP4QxsSwv4mN8w4Fp8fzrG.
user --name=linux --password=$6$jD.s3wtxGZAAG5sn$hdV2BQeGjKrWOQywHOP7p3Xj3D1Qy2FGgdttpWEOQqZYR9yS/C39yvEHXqVzDYOBERgXLPw1d9E5z3YCz0Y2j1 --iscrypted --gecos="linux"

%addon com_redhat_kdump --disable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end

其他就是把VM中的dhcp关了

老笔记(失败了)

部署DHCP服务器
• Dynamic Host Configuration Protocol
– 动态主机配置协议,由 IETF(Internet 网络工程师任
务小组)组织制定,用来简化主机地址分配管理

• 主要分配以下入网参数
– IP地址/子网掩码/广播地址
– 默认网关地址、DNS服务器地址

DHCP概述及原理,广播进行,先到先得(一个网络中只能有一个DHCP)
• DHCP地址分配的四次会话
– DISCOVERY --> OFFER --> REQUEST -->ACK

• 服务端基本概念
– 租期:允许客户机租用IP地址的时间期限,单位为秒
– 作用域:分配给客户机的IP地址所在的网段
– 地址池:用来动态分配的IP地址的范围  

虚拟机A:
1.安装软件包
[root@svr7 /]# yum -y install dhcp

2.修改主配置文件
[root@svr7 /]# vim /etc/dhcp/dhcpd.conf 
 :r  /usr/share/doc/dhcp*/dhcpd.conf.example

subnet 192.168.4.0 netmask 255.255.255.0 { #分配网段
  range 192.168.4.100 192.168.4.200;   #分配IP地址范围
  option domain-name-servers 192.168.4.7;  #DNS地址
  option routers 192.168.4.254;    #分配的网关地址
  default-lease-time 600;
  max-lease-time 7200;
} 
3.重启服务
[root@svr7 /]# systemctl  restart dhcpd

#################################################
网络装机服务器

网络装机的优势
• 规模化:同时装配多台主机
• 自动化:装系统、配置各种服务
• 远程实现:不需要光盘、U盘等物理安装介质


什么是PXE网络
• PXE,Pre-boot eXecution Environment
– 预启动执行环境,在操作系统之前运行
– 可用于远程安装

• 工作模式
– PXE client 集成在网卡的启动芯片中
– 当计算机引导时,从网卡芯片中把PXE client调入内存
执行,获取PXE server配置、显示菜单,根据用户选
择将远程引导程序下载到本机运行

• 需要哪些服务组件?
– DHCP服务,分配IP地址、定位引导程序
– TFTP服务,提供引导程序下载
– HTTP服务,提供yum安装源

• 客户机应具备的条件
– 网卡芯片必须支持PXE协议
– 主板支持从网卡启动

###############################################
一  配置DHCP服务器,添加网络装机的配置
[root@svr7 /]# vim /etc/dhcp/dhcpd.conf 
subnet 192.168.4.0 netmask 255.255.255.0 {
  range 192.168.4.100 192.168.4.200;
  option domain-name-servers 192.168.4.7;
  option routers 192.168.4.254;
  default-lease-time 600;
  max-lease-time 7200;
  next-server  192.168.4.7; #指定下一个服务器地址
  filename "pxelinux.0";    #指定网卡引导文件名称
}
[root@svr7 /]# systemctl  restart dhcpd

pxelinux.0:网卡引导文件,网络装机说明书,二进制文件
                   安装一个软件可以产生该文件,默认名称pxelinux.0
#################################################
二  构建tftp服务,提供众多的引导文件与驱动程序 

    tftp:简单的文件传输协议   端口默认:69
       默认共享的路径:/var/lib/tftpboot

1.安装软件包tftp-server
[root@svr7 /]# yum -y install tftp-server

2.启动tftp服务
[root@svr7 /]# systemctl restart tftp

3.部署pxelinux.0文件
]# yum provides */pxelinux.0   #查询那个软件产生该文件
]# yum -y install syslinux
]# rpm -ql syslinux | grep pxelinux.0  #查询安装清单
]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

]# ls /var/lib/tftpboot/

 pxelinux.0--->读取菜单文件内容
              /var/lib/tftpboot/pxelinux.cfg/default

4.部署菜单文件
[root@svr7 /]# ls /var/lib/tftpboot/
[root@svr7 /]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@svr7 /]# ls /var/lib/tftpboot/

关闭虚拟机A,图形将光盘文件放入到光驱设备中
[root@svr7 /]# poweroff 
Connection to 192.168.4.7 closed by remote host.
Connection to 192.168.4.7 closed.

[root@svr7 ~]# mount /dev/cdrom  /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@svr7 ~]# ls /mnt/

]# cp /mnt/isolinux/isolinux.cfg           /var/lib/tftpboot/pxelinux.cfg/default

]# ls -l /var/lib/tftpboot/pxelinux.cfg/default

5.部署图形模块(vesamenu.c32)与背景图片(splash.png)
]# cp /mnt/isolinux/vesamenu.c32 /mnt/isolinux/splash.png /var/lib/tftpboot/

]# ls /var/lib/tftpboot/
pxelinux.0  pxelinux.cfg  splash.png  vesamenu.c32

6.部署启动内核(vmlinuz)与驱动程序(initrd.img)
]# cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot/

[root@svr7 ~]# ls /var/lib/tftpboot/
initrd.img  pxelinux.cfg  vesamenu.c32
pxelinux.0  splash.png    vmlinuz

7.修改菜单文件
]# vim  /var/lib/tftpboot/pxelinux.cfg/default
末行模式:set  nu
1 default vesamenu.c32    #默认加载图形模块
2 timeout 600             #默认读秒时间 1/10

10 menu background splash.png       #背景图片
11 menu title NSD1905 PXE Server !  #标题显示

61 label linux
62   menu label Install CentOS 7.5   #菜单显示的内容
     menu  default                #读秒结束后默认选择
63   kernel vmlinuz                  #加载启动内核
64   append initrd=initrd.img        #加载驱动程序

#################################################
重启dhcpd服务与tftp服务
[root@svr7 ~]# systemctl disable tftp #设置开机不自启动
[root@svr7 ~]# reboot 

[student@room9pc01 ~]$ goa
[root@svr7 ~]# systemctl restart tftp
[root@svr7 ~]# systemctl status tftp

[root@svr7 ~]# systemctl restart dhcpd
[root@svr7 ~]# systemctl status dhcpd

#################################################
总结:                                                               
 1.dhcp--->IP地址   next-server  filename
 2.tftp--->pxelinux.0
 3.pxelinux.0--->菜单文件default
 4.default--->图形模块  背景图片  内核  驱动程序

初步测试:
 新建虚拟机:
   1.选择网络引导pxe安装
   2.内存选择2048
   3.网络类型选择 private1

###############################################
三 构建Web服务提供众多的软件包
虚拟机A:
[root@svr7 ~]# yum -y install httpd

[root@svr7 ~]# mkdir /var/www/html/centos
[root@svr7 ~]# mount /dev/cdrom  /var/www/html/centos
mount: /dev/sr0 写保护,将以只读方式挂载
[root@svr7 ~]# systemctl restart httpd

[root@svr7 ~]# firefox 192.168.4.7/centos

#################################################
四 部署无人值守安装,生成应答文件

1.图形工具system-config-kickstart进行生成应答文件
]# yum -y install system-config-kickstart 

]# LANG=en  system-config-kickstart  #英文进行运行
点击 "软件包选择(Package Selection)" 查看是否可以进行选择
需要Yum仓库的支持:指向光盘的内容仓库,标识必须为[development]

[root@svr7 ~]# vim /etc/yum.repos.d/local.repo 
[development]
name=CentOS-$releasever - Base
baseurl=ftp://192.168.4.254/centos-1804
enabled=1
gpgcheck=0

[root@svr7 ~]# LANG=en  system-config-kickstart
 点击 "软件包选择(Package Selection)" 查看是否可以进行选择

查看生成的应答文件:
[root@svr7 ~]# ls /root/
[root@svr7 ~]# vim  /root/ks.cfg

共享应答文件:
[root@svr7 ~]# cp /root/ks.cfg /var/www/html/
[root@svr7 ~]# ls /var/www/html/
centos  ks.cfg

修改菜单文件指定应答文件的位置:
]# vim /var/lib/tftpboot/pxelinux.cfg/default 
label linux
menu label  Install CentOS 7.5
menu default
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.4.7/ks.cfg

#################################################
总结:                                                               
 1.dhcp--->IP地址   next-server  filename
 2.tftp--->pxelinux.0
 3.pxelinux.0--->菜单文件default
 4.default--->图形模块  背景图片  内核  驱动程序  ks.cfg
 5.ks.cfg---> ....分区  软件包选择
               --url="http://192.168.4.7/centos"
################################################
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PXE(Preboot Execution Environment)是一种远程引导技术,可以在没有本地存储设备的情况下,通过网络将操作系统安装到客户端计算机上。无人值守安装是指在安装过程中不需要人工干预,所有的操作都可以自动完成。 要进行PXE无人值守安装Linux,首先需要搭建一个PXE远程安装服务器。这个服务器上需要安装一些必要的服务和软件包。具体步骤如下: 1. 安装PXE服务器需要的服务和软件包: - 安装vsftpd软件包,用来放置安装镜像,通过FTP访问镜像进行安装。 - 安装dhcp服务,用来给客户机分配IP地址。 - 安装syslinux软件包,提供pxe的引导程序。 - 安装tftp-server软件包,提供引导镜像文件的下载。 - 安装xinetd软件包,用来托管tftp服务。 - 安装system-config-kickstart软件包,用来实现无人值守安装。 2. 配置PXE服务器: - 配置vsftpd服务,设置安装镜像的存放路径。 - 配置dhcp服务,设置PXE客户端的IP地址分配范围和引导文件的位置。 - 配置tftp服务,设置引导文件的位置和相关权限。 3. 准备引导文件pxelinux.0: - 查询pxelinux.0文件是由哪个软件包安装的,可使用命令`yum provides */pxelinux.0`。 - 安装syslinux软件包,使用命令`yum -y install syslinux`。 - 查找pxe引导程序的位置,使用命令`rpm -ql syslinux | grep pxelinux`。 - 将pxelinux.0文件拷贝到tftp的根目录下,使用命令`cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/`。 4. 配置无人值守安装: - 使用system-config-kickstart工具创建一个Kickstart文件,该文件包含安装过程中所有的配置选项和安装脚本。 - 将Kickstart文件放置到PXE服务器的指定位置,客户端可以通过网络访问该文件进行无人值守安装。 通过DHCP服务完成PXE客户机和服务器之间的连接,将FTP服务器地址发送到客户端。客户端向FTP服务器请求引导文件和系统安装文件,并通过引导文件加载到安装系统的安装向导界面。在无人值守安装过程中,安装程序将根据预先配置的Kickstart文件中的参数自动完成安装过程。 请注意,以上步骤是一个简单的概述,具体的配置和操作可能会因为操作系统版本和网络环境的不同而有所差异。建议参考操作系统的官方文档或相关教程进行详细配置和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值