pxe环境下的无人值守自动安装

0. 环境部署前的准备

1.rhel7的主机

2.开启主机图形

3.配置网络可用

4.关闭vmware dhcp功能

5.关闭防火墙以及selinux

getenforce要为disable状态

grubby --update-kernel ALL --args selinux=0
systemctl disable --now firewalld

1.kickstart自动安装脚本制作

   我们想要让其他主机部署安装源则需要anaconda-ks.cfg文件此文件记录对操作系统的配置,而system-config-kickstart就是生成这个文件的工具

  生成好安装源后,通过httpd服务将安装源分享出去

1.1软件安装

[root@localhost ~] cat /root/anaconda-ks.cfg#此文件是在系统安装好后自动生成的,这个文件记录了系统在安装过程中的所有设定

[root@localhost ~] dnf install system-config-kickstart#安装图形化生成kickstart自动化安装脚本工具

[root@localhost ~] system-config-kickstart#启动图形制作工具

1.2图形界面选择及配置

通过网络分享安装源

安装后执行的脚本

1.3配置网络分享

[root@rhel ~] yum install httpd -y#下载httpd
[root@rhel ~] systemctl enable --now httpd#开启Apache

此时我们需要将挂载的软件仓库目录软连接至发布目录/var/www/html下

[root@rhel ~] ln -s /rhel7 /var/www/html/

此时访问主机ip加路径就可以看到内容,如果没有,需要检查挂载以及软件仓库

1.4配置要共享的安装源文件

需要加软件安装包

@base:软件组

httpd:软件包的名称

写完后检查是否有错误

[root@rhel ~] ksvalidator ks.cfg 

因为是共享给其他的主机,所以我们需要将写好的安装源文件共享出去

[root@rhel ~] cp /root/ks.cfg /var/www/html/

此时安装一个新的虚拟机在开启选择界面按tab在quit后面添加安装源的路径

ks=http://172.25.254.100/ks.cfg

但此时并不能完成安装,因为没有人给这台新的主机分配ip,于是需要在服务器部署dhcp服务

2.搭建dhcp服务并测试

在我们的生产环境中不可能去使用VMware分配ip,于是需要在这套环境中搭建dhcp

2.1安装dhcp服务

安装dhcp的作用是为其他的服务器提供分配ip的功能,前提是其他服务器网卡必须设定dhcp模式

[root@rhel ~] yum install dhcp -y

2.1.1用命令生成配置文件并编辑

此时找到dhcp的主配置文件,根据提示将配置文件中的提示复制到配置文件中

\cp -f /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
#"\":转义符,执行真实的cp命令

此时进入它的配置文件,配置文件中37行以后的内容删除,注释掉27,28行,并更改以下信息

做完配置后启动dhcp服务

systemctl enable --now dhcpd
[root@rhel ~]cat /var/lib/dhcpd/dhcpd.leases
#此处记录了服务器将哪个ip地址给了谁

此时就可以完成自动安装了,但此时的主机是由光盘引导的,但是在企业中,不可能在每一台主机上去安装光盘 。

2.2现在要解决的问题(pxe)

        机房中要部署200台主机,现在一台已经有系统了,我们在这台主机中做了很多的设定,然后让它把资源共享出去,让其他的主机读取资源。

        这时的主机是没有系统的,但它是通过网卡启动的(在启动虚拟机时让它从网卡启动),选择网卡启动后,它会向有系统的主机索要IP,此时这个主机的dhcp会给索要ip的主机传递数据包,数据包中有IP,但除了IP我们还可以传递其他的东西,可以给他一个文件路径,让它用得到的ip去访问这个路径,然后我们就可以在这个文件中做设置了,让它下一步读取哪些资源,这一整个流程称为pxe,而它读取的文件叫做pxelinux.0(这个文件的作用就是指引下一步做哪些文件的读取)

       下一步要读取什么呢?我们需要找到开机后的选择界面,找到这个界面就可以搞定安装环境了,这个界面在我们的安装盘里

3.搭建pxe网络安装环境实现服务器自动部署

3.1找到安装盘

读取内核然后读取初始化镜像,启动了我们的环境

isolinux.cfg就是界面文件,我们需要做的就是在读取完内核后,将它本来要读取的光盘改为网络的

第一步,我们需要把isolinux通过网络共享出去;第二步,编辑isolinux.cfg里面的东西

3.2安装环境中所需要的基本配置

yum install syslinux.x86_64 -y

下载好这个软件后,查找这个软件中含有pxelinux.0的文件

[root@rhel ~] rpm -ql syslinux | less 

这个就是dhcp向外发送数据包时携带的那个信息文件,这个信息文件指引后面要读取什么东西

 /usr/share/syslinux/pxelinux.0

查看帮助文档

[root@rhel ~] vim /usr/share/doc/syslinux-4.05/pxelinux.txt 

pexlinux.0的功能是,让要装系统的主机去访问/tftpboot/pexlinux.cfg/底下的default文件,于是我们需要在这个文件里写界面的标题以及网址等

此时我们需要安装tftp,用他共享pxelinux.0数据文件的网络服务

yum  install tftp-server.x86_64 -y

启动tftp服务

systemctl enable --now tftp

我们要将所有的东西放到它的数据目录下,我们要放在界面中看到的一切资源,将光驱的东西全部拷贝进来

[root@rhel ~] cp /rhel7/isolinux/* /var/lib/tftpboot/
[root@rhel ~] cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

由帮助文档可知,它需要我们在tftpboot下建立一个pxelinux.cfg,这里面要包含default文件,这个文件也是pxelinux.0让客户最终读取的文件

[root@rhel tftpboot] cp isolinux.cfg pxelinux.cfg/default 
#将包含界面的文件拷贝到default中

整个环境配置好后,我们需要更改DHCP的配置文件/etc/dhcp/dhcpd.conf

此时进入[root@rhel pxelinux.cfg]# cat /var/lib/tftpboot/pxelinux.cfg/default

就可以看到要加载的资源,以及下载什么东西

重启服务服务

systemctl restart dhcpd

可以进入default改默认选择哪条(menu default)

做完以上操作后,就将启动改为网卡启动,开始自动化安装,安装好后会一直循环则需要在一次循环结束后,关机进入开机启动项,将网卡启动改为硬盘启动,此时pxe环境下的无人值守自动化安装就完成了

  • 31
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在RedHat 9中部署无人值守自动安装系统的PXE环境,需要进行以下步骤: 1. 下载并安装DHCP和TFTP服务器 可以通过以下命令安装: ``` yum install dhcp tftp-server ``` 2. 配置DHCP服务器 在/etc/dhcpd.conf文件中添加以下内容: ``` subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.200; option routers 192.168.1.1; option domain-name-servers 192.168.1.1; option domain-name "example.com"; filename "pxelinux.0"; next-server 192.168.1.1; } ``` 其中,subnet、range、option routers、option domain-name-servers、option domain-name是根据你的网络环境来配置的,filename和next-server分别指定了PXE启动文件的名称和TFTP服务器的IP地址。 3. 配置TFTP服务器 在/etc/xinetd.d/tftp文件中添加以下内容: ``` service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 } ``` 其中,server_args指定了TFTP服务器的根目录。 4. 准备PXE启动文件 将RedHat 9安装介质中的/isolinux/目录下的以下文件复制到/tftpboot/目录下: - pxelinux.0 - vesamenu.c32 - initrd.img - vmlinuz 5. 配置PXE菜单 在/tftpboot/目录下创建pxelinux.cfg目录,并在该目录下创建default文件,添加以下内容: ``` DEFAULT vesamenu.c32 PROMPT 0 TIMEOUT 300 ONTIMEOUT local MENU TITLE PXE Menu LABEL local MENU LABEL Boot from local drive LOCALBOOT 0 LABEL linux MENU LABEL Install Red Hat Linux KERNEL vmlinuz APPEND initrd=initrd.img ks=nfs:192.168.1.1:/ks.cfg ``` 其中,LABEL linux中的ks参数指定了Kickstart文件的位置和名称,可以根据实际情况进行修改。 6. 配置Kickstart文件 创建一个名为ks.cfg的文件,添加以下内容: ``` install url --url http://192.168.1.1/redhat9 lang en_US.UTF-8 keyboard us network --device eth0 --bootproto dhcp rootpw --iscrypted $1$xxxxxxxxxxxxxxx firewall --disabled authconfig --enableshadow --passalgo=sha512 selinux --disabled timezone --utc Asia/Shanghai bootloader --location=mbr --driveorder=sda --append="rhgb quiet" clearpart --all --initlabel part /boot --fstype ext4 --size=512 part pv.01 --size=1 --grow volgroup vg00 pv.01 logvol / --fstype ext4 --name=lvroot --vgname=vg00 --size=1024 --grow %packages @base @core %end ``` 其中,url参数指定了RedHat 9安装介质的位置和名称,rootpw参数指定了root用户的密码,clearpart和part参数指定了分区方案,%packages中指定了安装的软件包。 7. 启动服务 重启DHCP和TFTP服务,并启动xinetd服务: ``` service dhcpd restart service xinetd restart ``` 8. 开始安装 将需要安装RedHat 9的计算机通过PXE启动,选择“Install Red Hat Linux”菜单项,系统将自动进行无人值守自动安装
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值