PXE服务器实现Linux安装自动部署

一、实验环境准备

  1. CentOS7:192.168.239.12(自定ip,要在所选网卡的网段内)

必须要配置网络,使得能ping通百度就ok

# vim  /etc/sysconfig/network-scripts/ifcfg-ens33
  1. 若干台预安装的CentOS虚拟机(建议内存设置为2G

如上选择了VMnet8作为主机网卡,则需要部署的若干台虚拟机都要选择此网卡。

CentOS7 pxe准备:

1、关闭防火墙(systemctl status firewalld / service  iptables status

                        暂时关闭防火墙:systemctl stop firewalld / service  iptables stop

2、关闭selinux(临时关闭selinux:# setenforce 0

                         也可以编辑# vim /etc/selinux/config

                                            SELINUX=disabled

                          重启生效)cd 查看状态

                            1,Enforcing (记录警告且阻止可疑行为)

                            2,Permissive (代表仅记录安全警告但不阻止可疑行为)

                            3,Disabled (禁用状态)

3、配置yum源文件

<1>、通过yum安装wget下载工具

yum install -y wget

<2>、将系统默认的yum源备份

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

<3>、通过wget下载aliyun的yum

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

<4>、通过aliyun的yum源安装epel

yum install -y epel-release

<5>、清除yum

yum clean all

<6>、创建yum缓存

yum makecache

二、实验步骤

(创建cdrom文件夹:cd /media

                              mkdir cdrom)

(挂载镜像:mount /dev/cdrom /media/cdrom)

1、安装dhcp、tftp-server、http、syslinux

yum -y install dhcp tftp-server httpd syslinux

2、配置dhcp服务

subnet 192.168.239.0 netmask 255.255.255.0 {
        range 192.168.239.30 192.168.239.99;
        default-lease-time 600;
        filename "pxelinux.0";
        next-server 192.168.239.12;
}

注意pxelinux.0颜色。

3、配置tftp服务器

启用tftp服务:

vim /etc/xinetd.d/tftp  

----> disable = no;

重启服务

systemctl restart tftp.socket

4、拷贝PXE服务器的相关文件---->tftp的根目录

[root@192 xinetd.d]# cd /var/lib/tftpboot
[root@192 tftpboot]# ls
[root@192 tftpboot]# cp /usr/share/syslinux/pxelinux.0 ./    引导文件
[root@192 tftpboot]# cp /usr/share/syslinux/menu.c32 ./    菜单文件
[root@192 tftpboot]# cp /media/cdrom/isolinux/vmlinuz ./   安装引导文件1
[root@192 tftpboot]# cp /media/cdrom/isolinux/initrd.img ./   安装引导文件2
[root@192 tftpboot]# ls
initrd.img  menu.c32  pxelinux.0  vmlinuz

5、制作安装的菜单文件

mkdir /var/lib/tftpboot/pxelinux.cfg/
touch /var/lib/tftpboot/pxelinux.cfg/default

编辑default文件:

cd  /var/lib/tftpboot/pxelinux.cfg/default
vim default
default menu.c32
timeout 30
prompt 0



label 1
menu label ^1) Install CentOS7
menu default
kernel vmlinuz
append initrd=initrd.img method=http://192.168.239.12/CentOS7 ks=http://192.168.239.12/ks.cfg

6、配置web服务器

保证用户可以看到安装光盘的内容:

               访问:http://192.168.239.12/CentOS7

保证用户可以看到安装脚本文件的信息:

               访问:http://192.168.239.12/ks.cfg

[root@192 pxelinux.cfg]# systemctl restart httpd
[root@192 pxelinux.cfg]# cd /var/www/html/
[root@192 html]# ls
[root@192 html]# mkdir CentOS7
[root@192 html]# ls

CentOS7

[root@192 html]# cd CentOS7/
[root@192 CentOS7]# ls
[root@192 CentOS7]# cd
[root@192 ~]# mount /dev/cdrom /var/www/html/CentOS7/

mount: /dev/sr0 is write-protected, mounting read-only

[root@192 ~]# cd -

/var/www/html/CentOS7

[root@192 CentOS7]# ls
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7EFI     GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL

7、编辑ks.cfg文件

[root@192 CentOS7]# cd
[root@192 ~]# ls

anaconda-ks.cfg  initial-setup-ks.cfg

[root@192 ~]# cp anaconda-ks.cfg /var/www/html/
[root@192 ~]# ls

anaconda-ks.cfg  initial-setup-ks.cfg

[root@192 ~]# cd /var/www/html/
[root@192 html]# mv anaconda-ks.cfg ks.cfg
[root@192 html]# ls

CentOS7  ks.cfg

[root@192 html]# ll

total 6

drwxrwxr-x. 8 huaxin huaxin 2048 Nov 26  2018 CentOS7

-rw-------. 1 root   root   1718 Sep  3 10:06 ks.cfg

[root@192 html]# chmod +r ks.cfg
[root@192 html]# vim ks.cfg
#version=DEVEL

# System authorization information

auth --enableshadow --passalgo=sha512

# Use CDROM installation media

   #cdrom

url --url http://192.168.239.12/CentOS7         

# Use graphical install

   #graphical

text

# Run the Setup Agent on first boot

firstboot --enable

ignoredisk --only-use=sda

# Keyboard layouts

keyboard --vckeymap=us --xlayouts='us'

# System language

lang en_US.UTF-8


# Network information

network  --bootproto=dhcp --device=ens33 --onboot=off --ipv6=auto --no-activate

network  --hostname=localhost.localdomain


# Root password

# System services

services --disabled="chronyd"

# System timezone

timezone Asia/Shanghai --isUtc --nontp

# X Window System configuration information

xconfig  --startxonboot

# System bootloader configuration

bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda

autopart --type=lvm

# Partition clearing information

    #clearpart --all --initlabel --drives=sda

clearpart --all --initlabel --drives=sda




%packages

@^graphical-server-environment

@base

@core

@desktop-debugging

@dial-up

@fonts

@gnome-desktop

@guest-agents

@guest-desktop-agents

@hardware-monitoring

@input-methods

@internet-browser

@multimedia

@print-client

@x11

kexec-tools


%end


%addon com_redhat_kdump --enable --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


reboot

8、重启所有的服务,使配置生效

[root@192 html]# systemctl restart httpd
[root@192 html]# systemctl restart tftp.socket
[root@192 html]# systemctl restart dhcpd

至此,pxe服务器安装配置完成,后续只要在vmware中开启dhcp就可以实现无人值守安装系统。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
要在Linux部署PXE(Preboot Execution Environment),您需要执行以下步骤: 1. 安装和配置DHCP服务器:您需要安装并配置一个DHCP服务器,以便为客户端提供IP地址和PXE引导文件的位置。在大多数Linux发行版中,您可以使用`dhcpd`软件包来实现这一点。编辑DHCP服务器的配置文件(通常位于`/etc/dhcp/dhcpd.conf`),并为客户端指定PXE引导文件的位置。 2. 安装和配置TFTP服务器:TFTP(Trivial File Transfer Protocol)用于传输PXE引导文件到客户端。您可以使用`tftpd-hpa`软件包来安装TFTP服务器。编辑TFTP服务器的配置文件(通常位于`/etc/default/tftpd-hpa`),确保指定PXE引导文件的目录。 3. 准备PXE引导文件:PXE引导文件是客户端在启动时下载和执行的文件。您可以从网络上下载一个通用的PXE引导文件,例如`pxelinux.0`。将该文件复制到TFTP服务器配置文件中指定的目录。 4. 配置网络引导:在DHCP服务器配置文件中,指定客户端将从哪个服务器下载PXE引导文件。您需要在DHCP配置文件中添加类似以下内容的条目: ``` next-server <TFTP服务器IP地址>; filename "pxelinux.0"; ``` 将`<TFTP服务器IP地址>`替换为您TFTP服务器的实际IP地址。 5. 启动和测试:启动DHCP和TFTP服务器,并确保客户端能够通过PXE引导。您可以在客户机上启用PXE引导选项,并检查其是否能够成功下载并执行PXE引导文件。 请注意,这只是一个大致的概述,具体步骤可能因Linux发行版和软件包版本而有所不同。确保参考相关文档和指南以获得更详细的说明。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

疯狂运维的树懒

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

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

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

打赏作者

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

抵扣说明:

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

余额充值