PXE安装部署

PXE服务简介

大家应该都会使用光盘镜像或U盘进行安装操作系统,但在生产环境中遇到上百台的服务器时再使用人工一台一台安装系统就不太现实了,这之后PXE服务就应运而生了。

启动环境
服务端

运行DHCP服务,用来分配地址、定位引导程序

运行TFTP服务,提供引导程序下载

客户端

网卡支持PXE协议

主板支持网络引导

PXE需要的服务和文件

三个服务

1;DHCP服务:让客户端获取IP地址,能主动联网PXE服务器,配置指向TFTP服务
2;TFTP服务:简单文件系统,UDP协议端口号69,快速加载引导程序,默认配置文件指向FTP镜像位置
3;FTP服务:文件系统镜像存放,TCP21端口连接服务UDP20端口数据传输

tftp四大文件

1:default:需要先创建pxelinux.cfg目录,引导配置文件被加载
2:vmlinuz:压缩内核,在default中被定义最先被加载
3:initrd.img:初始化镜像文件,在default被定义第二个被加载
4:pxelinux.0:引导程序,需要安装syslinux包才会有,在dhcp配置文件中被定义

基本部署过程

1:安装并启用TFTP服务

2:提供Linux内核、PXE引导程序等

3:安装并启用DHCP服务

4:配置启动菜单

详细搭建步骤

安装dhcp服务

[root@localhost network-scripts]# yum -y install dhcp
1

6、编辑dhcp服务配置文件

## dhcp配置文件存放在:/etc/dhcp/dhcpd.conf中,但是打开会发现让你去另一个目录中找配置文件模板,所以要复制一份过来

[root@localhost network-scripts]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf    ## 复制模板并替换原配置文件
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes       ## 输入yes替换


[root@localhost dhcp]# vi /etc/dhcp/dhcpd.conf    ## 编辑配置文件

修改以下内容:

# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.

subnet 192.168.106.0 netmask 255.255.255.0 {     ## 网段及子网掩码
  range 192.168.106.150 192.168.106.200;         ##分配IP地址池
  option routers 192.168.10.100;            ## 网关
  option domain-name-servers 192.168.106.100;      ##DNS服务器地址
  next-server 192.168.106.100;         ## 
  filename "pxelinux.0";           ## 
}

7、dhcp配置完成,下面安装tftp及引导程序

[root@localhost network-scripts]# yum -y install tftp-server
[root@localhost network-scripts]# yum -y install syslinux

8、编辑tftp服务配置文件

[root@localhost network-scripts]# vi /etc/xinetd.d/tftp
将disabled=yes改为no

9、将pxelinux.0引导程序拷贝的TFTP站点目录下

[root@localhost xinetd.d]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

10、安装VSFTP服务

[root@localhost xinetd.d]# yum -y install vsftpd

10、进入ftp站点目录,新建挂载目录,然后将光盘镜像挂载到新建的目录中

[root@localhost xinetd.d]# cd /var/ftp/
[root@localhost ftp]# mkdir centos7
[root@localhost ftp]# mount /dev/cdrom /var/ftp/centos7/

ps:如果光盘之前已经挂载到其他地方,可以使用umount命令对其进行卸载后再挂载

11、进入光盘镜像中,将其中的压缩内核与初始化镜像文件拷贝到TFTP站点目录中

[root@localhost ftp]# cd /var/ftp/centos7/images/pxeboot/
[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/

12、进入TFTP站点目录,新建一个引导配置文件存放目录,进入该目录并新建一个名为default的配置文件,编辑该文件

[root@localhost pxeboot]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# mkdir pxelinux.cfg
[root@localhost tftpboot]# cd pxelinux.cfg/
[root@localhost pxelinux.cfg]# vi default

## 下入以下内容:

default auto
prompt 1

label auto
  kernel vmlinuz
  append initrd=initrd.img method=ftp://192.168.106.100/centos7

label linux text
  kernel vmlinuz
  append text initrd=initrd.img method=ftp://192.168.106.100/centos7

label linux rescue
  kernel vmlinuz
  append rescue initrd=initrd.img method=ftp://192.168.106.100/centos7
  
## 编辑完成后保存退出

13、开启服务前关闭系统核心防护及防火墙

[root@localhost pxelinux.cfg]# setenforce 0
[root@localhost pxelinux.cfg]# systemctl stop firewalld

14、启动三项服务(DHCP、TFTP、FTP)

[root@localhost pxelinux.cfg]# systemctl start dhcpd
[root@localhost pxelinux.cfg]# systemctl start tftp
[root@localhost pxelinux.cfg]# systemctl start vsftpd

15、返回需要安装操作系统的客户机,单击“开启此虚拟机”按钮

机器客户机首先会通过dhcp服务获取IP,然后通过tftp与ftp加载内核与镜像进行安装,稍后就会弹出安装界面了
UgkDHI.png
UgkBDA.md.png

如果几台机器还好,但如果是成百上千的机器根本不可能让人工去手动操作安装系统,所以这个时候需要用到Kickstart(无人值守)来自动部署

16、在服务器上安装Kickstart服务软件

[root@localhost pxelinux.cfg]# yum -y install system-config-kickstart

17、在图形化界面左上角点击“应用程序”按钮,选择“系统工具”中的Kickstart打开软件
Ugk28S.png

18、软件界面非常简洁,只需要简单配置即可

①基本配置(设置默认语言、时区,勾选给root密码加密,与安装后重启)
UgkRgg.png

②安装方法(单击FTP,配置FTP服务器IP并设置FTP目录)
UgkWvQ.png

③引导装载程序选项(单击安装新引导装载程序、在主引导记录中安装引导装载程序)
Ugkhuj.png

④分区信息(根据实际需求添加分区,点击“添加“按钮即可)
Ugk4Ds.png

⑤网络配置(单击”添加网络设备“按钮,输入”ens33“)
Ugk5bn.png

⑥防火墙配置(请选择禁用SELinux,是否禁用防火墙根据实际情况而定)
UgkoEq.png

⑦安装后脚本(勾选使用解释程序,并输入/bin/bash)

UgkTU0.png

配置完成后保存文件到桌面即可

19、编辑服务器系统家目录下的配置文件:vi anaconda-ks.cfg ,将其中安装的所有软件包列表复制,粘贴到刚才生成的ks.cfg配置文件中

%packages
@^gnome-desktop-environment
@backup-client
@base
@compat-libraries
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-apps
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-applications
@internet-browser
@java-platform
@legacy-x
@multimedia
@network-file-system-client
@networkmanager-submodules
@office-suite
@print-client
@security-tools
@smart-card
@system-admin-tools
@x11
chrony
kexec-tools

%end
[root@localhost ~]#  vim ks.cfg 

Ugk75V.md.png

19、因为我们创建了用户配置文件,所以要修改default配置文件让其识别到ks.cfg文件

编辑default文件,在其中添加以下内容

[root@localhost pxelinux.cfg]# vi /var/lib/tftpboot/pxelinux.cfg/default

添加内容:
append initrd=initrd.img method=ftp://192.168.106.100/centos7 ks=ftp://192.168.106.100/ks.cfg

在这里插入图片描述

修改完后将之前生成的ks.cfg用户配置文件移动到ftp目录中

[root@localhost ~]# cd 桌面/ && mv ks.cfg /var/ftp/

20、重新开启客户机,查看是否能实现自动安装系统
Ugkq8U.md.png

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PXE(Preboot Execution Environment)是一种网络引导技术,使用PXE可以在没有本地存储设备的情况下,通过网络从网络服务器上安装操作系统。下面是在Ubuntu 18.04环境下使用PXE部署安装Ubuntu 20的步骤: 1. 首先,需要在一台服务器上安装并配置DHCP、TFTP和HTTP服务器。其中DHCP服务器的配置需要指定PXE引导文件的位置,TFTP服务器需要提供PXE引导文件和Ubuntu 20的安装文件,HTTP服务器需要提供Ubuntu 20的安装文件。 2. 在TFTP服务器的根目录下创建一个pxelinux.cfg文件夹,然后在该文件夹下创建一个default文件,内容如下: ``` DEFAULT vesamenu.c32 MENU TITLE PXE Boot Menu TIMEOUT 300 ONTIMEOUT local LABEL Ubuntu 20.04 MENU LABEL Ubuntu 20.04 KERNEL ubuntu20.04/vmlinuz APPEND initrd=ubuntu20.04/initrd.gz root=/dev/nfs nfsroot=192.168.1.10:/srv/nfs/ubuntu20.04 ip=dhcp rw ``` 其中,`KERNEL`指定Ubuntu 20的内核文件位置,`APPEND`指定Ubuntu 20的initrd文件位置、NFS根目录位置和其他参数。 3. 将Ubuntu 20的安装文件下载并解压缩到HTTP服务器的根目录下,例如:/var/www/html/ubuntu20.04。 4. 在DHCP服务器的配置文件中添加以下内容: ``` subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.200; option domain-name-servers 8.8.8.8; option routers 192.168.1.1; next-server 192.168.1.10; filename "pxelinux.0"; } ``` 其中,`next-server`指定TFTP服务器的IP地址,`filename`指定PXE引导文件的名称。 5. 开启网络引导客户端,并选择从网络引导。 6. 选择Ubuntu 20的安装选项,根据提示完成安装。 注意:以上步骤仅为部署安装Ubuntu20的基本流程,具体情况可以根据实际需求进行调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值