centos linux部署pxe服务器实现自动装机,照做就行

大家好,今天分享一下在centos linux上部署pxe服务器来实现自动化的装机

关于这个东西的话,记住一点就可以了

就是pxe可以给很多服务器自动的安装操作系统,这样省时省力

这是pxe服务器的工作流程 (我个人觉得他已经很详细了)

在这里插入图片描述

下面来做一下这个

我们pxe服务器的ip地址是192.168.1.12

使用远程终端来连一下服务器

在这里插入图片描述

因为我们使用网络yum 源的方式来安装软件

所以,我们要看一下服务器的网络是否有问题

[root@localhost ~]# ping www.baidu.com
PING www.a.shifen.com (180.101.49.11) 56(84) bytes of data.
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=1 ttl=128 time=42.2 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=2 ttl=128 time=29.1 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=3 ttl=128 time=23.0 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=4 ttl=128 time=18.5 ms
^C
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 4115ms
rtt min/avg/max/mdev = 18.545/28.257/42.227/8.907 ms
[root@localhost ~]# 

这样网络就会没问题的

安装dhcp服务

[root@localhost ~]# yum install  dhcp -y

安装Apache

[root@localhost ~]# yum install httpd -y

安装syslinux

[root@localhost ~]# yum install  syslinux -y

安装tftp服务器端程序

[root@localhost ~]# yum install  tftp-server.x86_64 -y

看dhcp目录

[root@localhost ~]# cd /etc/dhcp/
[root@localhost dhcp]# ll
总用量 8
drwxr-xr-x. 2 root root   37 610 2021 dhclient.d
drwxr-xr-x. 2 root root   28 420 12:08 dhclient-exit-hooks.d
-rw-r--r--. 1 root root  120 610 2021 dhcpd6.conf
-rw-r--r--. 1 root root  117 610 2021 dhcpd.conf
drwxr-x---. 2 root dhcpd  28 420 12:08 scripts

这是dhcp的主配置文件

[root@localhost dhcp]# cat dhcpd.conf 
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#

一看什么都没有

拷贝一个现成的模板到我们dhcp主配置文件当中

[root@localhost dhcp]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example ./dhcpd.conf 
cp:是否覆盖"./dhcpd.conf"? y
[root@localhost dhcp]# 

编辑dhcp主配置文件

[root@localhost dhcp]# vim dhcpd.conf 
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.13 192.168.1.40;
  default-lease-time 3600;
 filename "pxelinux.0";
 next-server 192.168.1.12;

我们要这几个

截图
在这里插入图片描述

重启dhcp服务

[root@localhost dhcp]# systemctl  restart  dhcpd

进入到TFTP指定目录

[root@localhost ~]# cd /etc/xinetd.d/
[root@localhost xinetd.d]# ls
tftp
[root@localhost xinetd.d]# 

编辑这个文件

[root@localhost xinetd.d]# vim tftp 

改一下这个配置 写成no就可以了

在这里插入图片描述
重启tftp服务

[root@localhost xinetd.d]# systemctl  restart  tftp.socket 

看一下状态

[root@localhost xinetd.d]# systemctl  status  tftp.socket 
● tftp.socket - Tftp Server Activation Socket
   Loaded: loaded (/usr/lib/systemd/system/tftp.socket; disabled; vendor preset: disabled)
   Active: active (listening) since 三 2022-04-20 13:27:17 CST; 45s ago
   Listen: [::]:69 (Datagram)

420 13:27:17 localhost.localdomain systemd[1]: Listening on Tftp Server Activation Socket.
420 13:27:17 localhost.localdomain systemd[1]: Starting Tftp Server Activation Socket.

注意看这个目录

在这里插入图片描述

进入指定目录

[root@localhost xinetd.d]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# ls
[root@localhost tftpboot]# 

在这里插入图片描述

[root@localhost tftpboot]# cp /usr/share/syslinux/pxelinux.0 ./

在这里插入图片描述

这是菜单文件

[root@localhost tftpboot]# cp /usr/share/syslinux/menu.c32 ./

新建一个挂载点

[root@localhost tftpboot]# mkdir /media/cdrom/

实现挂载

[root@localhost tftpboot]# mount /dev/cdrom  /media/cdrom/
mount: /dev/sr0 写保护,将以只读方式挂载

把光盘下的引导文件拷贝到当前目录下(安装)

[root@localhost tftpboot]# cp /media/cdrom/isolinux/vmlinuz ./
[root@localhost tftpboot]# cp /media/cdrom/isolinux/initrd.img ./
[root@localhost tftpboot]# 

现在这个目录下就有了四个文件

在这里插入图片描述
新建这个目录(这个文件名是一定要这样写的)

[root@localhost tftpboot]# mkdir pxelinux.cfg

进入改目录

[root@localhost tftpboot]# cd pxelinux.cfg/

创建文件

[root@localhost pxelinux.cfg]# touch default
[root@localhost pxelinux.cfg]# ls
default

编辑default这个文件

[root@localhost pxelinux.cfg]# vim default 

把这个复制进去就可以了,地址改成你自己的就可以了

default menu.c32
timeout 300
prompt 0

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

重启Apache

[root@localhost pxelinux.cfg]# systemctl restart  httpd

进入这个目录

[root@localhost pxelinux.cfg]# cd /var/www/html/

这个不用管,这只是随意写的一个测试脚本文件,与这个部署没有关系

[root@localhost html]# ls
testphp.php

在这里插入图片描述

挂载

[root@localhost html]# mount /dev/cdrom  /var/www/html/CentOS7/

这样就可以看见光盘的内容

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

浏览器测试:(Apache服务器正常)
在这里插入图片描述

这个时候,在浏览器上可以访问到光盘的文件

在这里插入图片描述

在root目录下

在这里插入图片描述
将这个文件拷贝到/var/www.html下

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

将指定文件改个名

[root@localhost ~]# cd /var/www/html/
[root@localhost html]# ls
anaconda-ks.cfg  CentOS7  testphp.php
[root@localhost html]# mv anaconda-ks.cfg  ks.cfg

浏览器访问,会有一个403的错误,因为我们的权限不够

在这里插入图片描述

加一个读取权限

[root@localhost html]# chmod +r ks.cfg 

在这里插入图片描述

现在访问就是正常的(这是自动脚本的文件)

在这里插入图片描述

编辑这个文件

[root@localhost html]# vim ks.cfg 

注销掉第五行

在这里插入图片描述

加上这一行

在这里插入图片描述

把这个图形化注释掉

在这里插入图片描述
使用文本安装

在这里插入图片描述

把第36行也注释掉

在这里插入图片描述

这样写

在这里插入图片描述

在最后加上重启的命令

在这里插入图片描述
重启服务

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

新建一个虚拟机

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
到这里,pxe就可以部署成功了,谢谢大家

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

思诚代码块

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

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

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

打赏作者

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

抵扣说明:

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

余额充值