pxe装机「建议收藏」

pxe装机「建议收藏」安装环境:一台已安装Linux系统的主机作为PXEServer,本文中PXEServer使用的系统是CentOS7;若干台待安装CentOS7的裸主机作为PXEClient;PXEServer与所有PXEClient处于同一局域网中;所有主机支持PXE启动安装方式。PXEServer安装及配置流程:\1.配置DHCP服务\2.配置TFTP服务\3.配…

大家好,又见面了,我是你们的朋友全栈君。

安装环境:

一台已安装Linux系统的主机作为PXE Server, 本文中PXE Server使用的系统是CentOS 7;

若干台待安装CentOS7的裸主机作为PXE Client;

PXE Server与所有PXEClient处于同一局域网中;

所有主机支持PXE启动安装方式。

PXEServer安装及配置流程:

\1. 配置 DHCP 服务

\2. 配置 TFTP 服务

\3. 配置http做文件仓库和修改ks.cfg文件

\4. 相关系统引导文件存储

\5. 配置default系统启动文件

\6. 检查PXEServer的状态并启动PXE Client

PXEServer安装及配置具体步骤:

1. 配置DHCP服务

安装DHCP

# yum install -y dhcp

当前PXE Server的IP地址为192.168.0.125,DHCP、TFTP与http均部署在该台主机上,配置dhcp配置文件**/etc/dhcp/dhcpd.conf**如下

############################

ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;

class “pxeclients”{

match if substring(option vendor-class-identifier,0,9)=“PXEClient”;
filename “pxelinux.0”;
next-server 192.168.0.125;
}

subnet 192.168.0.0 netmask 255.255.255.0{

default-lease-time 216000;
max-lease-time 432000;
option time-offset -18000;
range dynamic-bootp 192.168.0.210 192.168.0.240;
option subnet-mask 255.255.255.0;
option routers 192.168.0.1;
}

############################

启动并且配置开机启动dhcpd服务

# systemctl start dhcpd

# systemctl enable dhcpd

2. 配置TFTP服务

安装tftp的server和client包

# yum install -y tftp*

安装xinetd守护进程,因为tftp依赖于xinetd

# yum install -y xinetd

修改tftp配置文件/etc/xinetd.d/tftp,将disable= yes改为disable=no

关闭并配置开机自动关闭系统防火墙(重要!否则会导致PXE Client无法访问TFPT服务)

# systemctl stop firewalld

# systemctl disable firewalld

启动并配置开机自动启动xinetd进程

# systemctl start xinetd

# systemctl enable xinetd

# systemctl start tftp

3. 配置http做文件仓库和修改ks.cfg文件

安装httpd服务

# yum install –y httpd

启动并且配置开机启动httpd服务

# systemctl start httpd

# systemctl enable httpd

放入待安装系统盘,并直接用光盘的package当做安装仓库

# mkdir /var/www/html/centos7

# mount /dev/cdrom /var/www/html/centos7/

将当前系统中的ks文件拷贝到/var/www/html/路径下

# cp /root/anaconda-ks.cfg /var/www/html/ks.cfg

修改ks.cfg配置文件/var/www/html/ks.cfg

ks.cfg的作用是预先指定好需要的安装选项(包括系统镜像路径,安装组件,系统语言,网络配置,用户及密码等),

当正式安装时PXE Client将会很据该文件去自动配置安装,从而避免了大规模部署时的大量重复操作。

主要修改的地方是将

# Use CDROM installation media

cdrom

修改为

# Use network installation

url –url=”http://192.168.0.125/centos7″

从而指定PXE Client从哪里去获得镜像文件,ks.cfg文件修改后如下:

#version=DEVEL

# System authorization information

auth –enableshadow –passalgo=sha512

# Use network installation

url –url=“http://192.168.0.125/centos7”

# Use graphical install

graphical

# Run the Setup Agent on first boot

firstboot –enable

# Keyboard layouts

keyboard –vckeymap=cn –xlayouts=‘cn’

# System language

lang zh_CN.UTF-8

# Network information

network –bootproto=dhcp–device=eno16777736 –ipv6=auto –activate

network –hostname=localhost.localdomain

# Root password

rootpw –iscrypted 6 6 6qUeqvWWOr921mWBY$h5wjwdcnIOC/FS6rCaZblKNGELwN9jrGwJZuwlrNi9OHzI.n1lxaKKrkwdN7nadXP5f2mFRDrW9D9gYStXGZu/

# System timezone

timezone Asia/Shanghai –isUtc

user –groups=wheel –name=pxetest–password= 6 6 6.hgpJdCAhSMaf7yB$5GKYIAgTkLxfS1JHK5KSpN96LXhkKGFX3FbnQl0hTME3wbF1njxyezmPF/HXAtI9Bp8U6MsF3hRXlFvFfn9Nm/–iscrypted –gecos=“pxetest”

# System bootloader configuration

bootloader –append=” crashkernel=auto”–location=mbr –boot-drive=sda

autopart –type=lvm

# Partition clearing information

clearpart –none –initlabel

%packages

@^infrastructure-server-environment

@base

@compat-libraries

@core

@debugging

@development

@dns-server

@file-server

@ftp-server

@security-tools

@smart-card

kexec-tools

%end

%addon com_redhat_kdump –enable–reserve-mb=‘auto’

%end

4. 相关系统引导文件存储

安装syslinux,它是一个功能强大的引导加载程序,而且兼容各种介质。

# yum install -y syslinux

pxelinux.0文件名要和dhcp配置文件内的一致

# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

copy光盘目录中的vmlinuz和initrd.img,这两个文件相当于系统启动时/boot目录下的启动文件,这个用来引导anacoda而不是根

# cp /mnt/cdrom/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/

copy pxe引导所需要的配置文件,splash.png:背景图.boot.msg启动标语,vesamenu.c32:显示同行界面用的程序.

# cp /mnt/cdrom/isolinux/{boot.msg,vesamenu.c32,splash.png} /var/lib/tftpboot/

pxe启动时显示配置文件信息,和光盘启动类似.

# mkdir /var/lib/tftpboot/pxelinux.cfg

# cp /mnt/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

5. 配置default系统启动文件

在default配置文件/var/lib/tftpboot/pxelinux.cfg/default中找到下面标签

label linux

menu label^Install CentOS 7

kernel vmlinuz

menu default

append initrd=initrd.img inst.stage2=http://192.168.0.125/centos7 inst.ks=http://192.168.0.125/ks.cfg quiet

注意标红的地方,它的目的是用于告诉PXEClient去哪里可以找到镜像文件以及ks.cfg配置文件。

6. 检查PXE Server的状态并启动PXE Client

# service dhcpd status

# service tftp status

# service httpd status

以上三者结果都应该为active(running)

# service firewalld status

结果都应该为inactive(dead)

检查待安装系统盘是否以及挂载到指定目录下(/var/www/html/centos7/)

如果以上状态均正常,可以开始启动PXEClient,并将启动方式设置为网卡启动。

常见问题:

1、 PXE Server每次启动后IP地址都不相同?

答:应该讲PXE Server设置为静态IP,否则每次重启都需要根据新IP修改配置文件

2、 PXE Server重启后Client端显示连接不到TFTP服务器?

答:PXE Server每次重启后需要重新打开tftp服务

#service tftp start

3、 PXE Server重启后Client端显示无法访问到指定文件?

答:PXE Server每次重启后需要重新mount光盘到指定路径

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148567.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ENVI5.3安装教程(含软件下载)[通俗易懂]

    ENVI5.3安装教程(含软件下载)[通俗易懂]重要提示:各位安装目录和授权文件存放目录一定不要有中文!!!!!软件下载地址链接:https://pan.baidu.com/s/1W0FXIWoTw0zBzIpn1dLrHw密码:b3hw上文地址如果过期或者不能下载的话可以使用此链接http://pan.baidu.com/s/1eRVvk8i,或者艾特博主。最新地址链接:https://pan.baidu.c…

  • double类型转换成int类型

    publicclasstest09{publicstaticvoidmain(String[]args){doublea=5000.44;doubleb=100.12;doublev=a/b;inti=newDouble(v).intValue();…

  • 什么是多线程?如何实现多线程?[通俗易懂]

    什么是多线程?如何实现多线程?[通俗易懂]【转】什么是线程安全?怎么实现线程安全?什么是进程?什么是线程?什么是线程安全?添加一个状态呢?如何确保线程安全?synchronizedlock转自:https://blog.csdn.net/csdnnews/article/details/82321777什么是进程?电脑中时会有很多单独运行的程序,每个程序有一个独立的进程,而进程之间是相互独立存在的。比如下图中的QQ、酷狗播放器、电脑…

  • ES6模板字符串`的引用

    ES6模板字符串`的引用传统的JavaScript语言,输出模板通常是这样写的(下面使用了jQuery的方法)。$(‘#result’).append(‘Thereare<b>’+basket.count+'</b>’+’itemsinyourbasket,’+'<em>’+basket.onSale+'</em>areonsale!’);上面这种写法相当繁琐不方便,ES6引入了模板字符串解决这个问题。

  • android之存储篇_ContentProvider存储

    ContentProvider是安卓平台中,在不同应用程序之间实现数据共享的一种机制。一个应用程序如果需要让别的程序可以操作自己的数据,即可采用这种机制。并且此种方式忽略了底层的数据存储实现,ContentProvider提供了一种统一的通过Uri实现数据操作的方式。其步骤为:  1. 在当前应用程序中定义一个ContentProvider。  2. 在当前应用程序的AndroidMani

  • SaveFileDialog_save文件用什么修改

    SaveFileDialog_save文件用什么修改c#获取要保存文件的对话框,用SaveFileDialog类。对于初学者可能有用//可能要获取的路径名stringlocalFilePath="",fileNameExt="",newFileName="",FilePath ="";SaveFileDialogsaveFileDialog=newSaveFileDialog();//设置文件类型//书写规则例如:txt…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号