centos7下安装forever_centos7 基于pxe安装系统
发布日期:2021-10-30 18:55:28 浏览次数:5 分类:技术文章

本文共 3968 字,大约阅读时间需要 13 分钟。

一、概念与原理

什么是PXE

严格来说,PXE 并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot Execution Environment,直译为启动前的执行环境)协议使计算机可以通过网络启动。协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器用来给 PXE client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE client 的 ROM 中,已经存在了 TFTP Client。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。

什么是KickStart

KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。

二、环境说明

执行pxe+kickstart来批量安装系统,需要的环境为

1.DHCP服务器

2.TFTP服务器

3.httpd服务器或者ftp服务器或nfs服务器等能提供文件访问的服务器

4.ks.cfg文件

5.syslinux服务提供的pxelinux.0文件

6.一台带有支持pxe协议的网卡的主机

7.为确保实验可用性,请将防火墙和selinux关闭

三、安装步骤

1)、系统版本

2)、配置网络环境以及yum源

本处使用的yum源为系统默认源,

本级网络为[root@localhost dhcp]# ip a

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eno16777736:  mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:cc:38:86 brd ff:ff:ff:ff:ff:ff

inet 172.16.219.136/24 brd 172.16.219.255 scope global dynamic eno16777736

valid_lft 1353sec preferred_lft 1353sec

inet6 fe80::20c:29ff:fecc:3886/64 scope link

valid_lft forever preferred_lft forever

3)、安装DHCP服务[root@localhost ~]# yum install -y dhcp

配置dhcp服务器,使其能够提供172.16.219.50-172.16.219.53的ip地址,子网掩码为255.255.255.0。配置如下[root@localhost ~]# vi /etc/dhcp/dhcpd.conf

ddns-update-style interim;

ignore client-updates;

authoritative;

allow booting;

allow bootp;

allow unknown-clients;

# A slightly different configuration for an internal subnet.

subnet 172.16.219.0 netmask 255.255.255.0 {

range 172.16.219.50 172.16.219.53;

default-lease-time 600;

max-lease-time 7200;

next-server 172.16.219.136; #  DHCP server ip

filename "pxelinux.0";

}

4)、安装httpd服务(本文通过http的方式提供服务)[root@localhost ~]# yum install -y httpd

配置如下[root@localhost ~]# vi /etc/httpd/conf.d/pxeboot.conf

Alias /centos7_x64 /var/lib/tftpboot/centos7_x64/

Options Indexes FollowSymLinks

Require ip 127.0.0.1 172.16.219.0/24

~

5)、安装tftp-server服务端[root@localhost ~]# yum install tftp-server xinetd -y

修改xinetd文件# default: off

# description: The tftp server serves files using the trivial file transfer \

#       protocol.  The tftp protocol is often used to boot diskless \

#       workstations, download configuration files to network-aware printers, \

#       and to start the installation process for some operating systems.

service tftp

{

socket_type             = dgram

protocol                = udp

wait                    = yes

user                    = root

server                  = /usr/sbin/in.tftpd

server_args             = -s /var/lib/tftpboot

disable                 = no

per_source              = 11

cps                     = 100 2

flags                   = IPv4

}

把siabled的yes改为no

6)、准备所需要的rpm包mount -o loop /root/CentOS-XX.iso /mnt/

mkdir /var/lib/tftpboot/centos7_x64

cp -fr /mnt/* /var/lib/tftpboot/centos7_x64/

chmod -R 755 /var/lib/tftpboot/centos7_x64/

7)、准备tftpboot下的文件

安装syslinux,此服务为pxe提供pxelinux.0文件[root@localhost ~]# yum install -y syslinux

准备文件cd /usr/share/syslinux/

cp pxelinux.0 menu.c32 memdisk mboot.c32 chain.c32 /var/lib/tftpboot/

自定义pxe文件mkdir /var/lib/tftpboot/pxelinux.cfg

default menu.c32

prompt 0

timeout 300

ONTIMEOUT local

menu title ########## PXE Boot Menu ##########

label 1

menu label ^1) Install CentOS 7

kernel centos7_x64/p_w_picpaths/pxeboot/vmlinuz

append initrd=centos7_x64/p_w_picpaths/pxeboot/initrd.img method=http://172.16.219.136/centos7_x64 devfs=nomount

label 2

menu label ^2) Boot from local drive localboot

9)、重启各个服务systemctl restart xinetd

systemctl restart httpd

systemctl restart dhcpd

将各个服务设置成开机自启动systemctl enable xinetd

systemctl enable httpd

systemctl enable dhcpd

一切准备就绪,可以开始测试了

10)、测试安装

转载地址:https://blog.csdn.net/weixin_39849239/article/details/111517639 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:hdfs是nas_hdfs 存储空间
下一篇:python将object转换成日期型_[转载] 如何将ISO 8601日期时间字符串转换为Python日期时间对象? [重复]...

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年03月29日 19时17分03秒