PXE装机
2020-01-03 23:35:26 qq_46055923 阅读数 29
  • Linux集群

    本套视频内容丰富,分为集群化构建、缓存、存储、监控、安全、装机六大维度。服务构建步骤详细,手把手带着你上路;课后辅助资料全面,附录详细代码标注; 深度技术讲解,逐步为你剖析底层原理…… 集群化阶段,讲解LVS与keepalived结合构建企业级负载调度集群,可供以万计用户同时访问;缓存阶段,讲解大量生产环境经典业务案例,让你轻松解决压力难点;存储阶段,糅合讲解 NFS、MFS、ISCSI 三类企业级存储技术,使你从容面对各类存储业务需求,最多可达PB级别!监控阶段,“上阵父子兵”,Cacti、Nagios、Zabbix,一个都不能少!轻松搞定!装机阶段,PXE、Cobbler混合双打,多个机房多种配置轻松搞定……

    1392 人正在学习 去看看 佟刚

PXE装机

预启动可执行环境:让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。

PXE 基 础 装 机 环 境

装机条件:
准备CentOS7安装源(HTTP方式YUM库)
启用DHCP服务
PXE引导配置:
启用TFTP服务,提供装机用的内核、初始化文件
提供PXE引导程序、配置启动菜单
步骤:
httpd 装包启服务
创建挂载点,实现对ISO镜像文件的挂载,最后利用http将光盘内容共享出来.
ISO镜像文件的文件系统为:iso9660

配 置 并 验 证 DHCP 服 务

DHCP服务器基本概念:

DHCP服务定义:动态主机配置协议,由 IETF(Internet 网络工程师任
务小组)组织制定,用来简化主机地址分配管理

DHCP作用域:分配给初始的IP地址所在的网段

DHCP地址池:用来动态分配的IP地址的范围

DHCP服务端:DHCPdhcp,系统服务dhcpd

DHCP服务端配置文件:/etc/dhcp/dhcpd.conf

传输协议及端口:UDP 67(服务器),UDP 68(客户端)

dhcpd.conf服务配置:

vim /etc/dhcp/dhcpd.conf
subnet 192.168.4.0 netmask255.255.255.0 { #指定分配的网段

 range  192.168.4.10 192.168.4.200;      #指定分配的IP地址范围

 option domain-name-servers 192.168.4.7;  #分配的DNS地址

 option routers 192.168.4.254;  #分配的网关地址

 next-server  192.168.4.7;     #指定客户端访问下一个服务器的地址

 filename  "pxelinux.0";     #指定网卡引导文件名称

}
!!配置完毕后重启DHCP服务并设置开机自启!

配 置 PXE 引 导

搭建tftp服务,传输引导文件:

TFTP服务:简单文件传输协议,通过UDP 69端口提供小文件的传输服务,默认应将资源部署到/var/lib/tftpboot目录下
一、安装TFTP包,启TFTP服务并设置开机自启

部署PXE网卡引导文件

  #查询仓库中软件生成pxelinux.0
  yum  provides  */pxelinux.0  
  yum -y install syslinux
  rpm -ql syslinux     #查看软件包安装清单
  rpm -ql syslinux | grep pxelinux.0 

#将网卡引导文件拷贝到/var/lib/tftpboot/目录下
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

部署菜单文件

mkdir  /var/lib/tftpboot/pxelinux.cfg    创建菜单文件默认访问路径
mount   /dev/cdrom    /mnt       #挂载ISO镜像文件

#将菜单文件拷贝到默认访问路径下并更名为default
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

部署启动内核 启动驱动程序

vmlinuz 启动内核 initrd.img 启动驱动程序

#拷贝启动内核和启动驱动程序到TFTP默认目录下
cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot/

部署 图形的模块 背景图片

vesamenu.c32 图形的模块 splash.png 背景图片

#拷贝图形模块和背景图片到TFTP默认目录下
cp /mnt/isolinux/vesamenu.c32 /mnt/isolinux/splash.png /var/lib/tftpboot/

确认部署结果

ls   /var/lib/tftpboot/
initrd.img  pxelinux.cfg  vesamenu.c32
pxelinux.0  splash.png    vmlinuz

修改菜单文件内容

          vim  /var/lib/tftpboot/pxelinux.cfg/default
             ......
          default vesamenu.c32  #加载图形的模块
            timeout 60            #读秒的时间
            .......
 menu background splash.png      #指定背景图片
 menu title PXE Server NSD1803   #指定标题
 .......

 label linux
 menu label Install RHEL7   #显示选项内容
 kernel vmlinuz             #指定启动内核
 append initrd=initrd.img   #指定启动驱动程序

PXE + kickstar 自 动 应 答

部署应答文件,无人值守安装:

图形生成应答文件的工具 system-config-kickstart

yum  -y install system-config-kickstart

修改Yum仓库标识

vim /etc/yum.repos.d/rhel7.repo 
	[development]

#以英文方式运行,查看软件包是否可以选择
LANG=en system-config-kickstart 

查看应答文件

ls /root/ks.cfg 
	/root/ks.cfg

利用Web服务,共享应答文件

cp /root/ks.cfg  /var/www/html
ls /var/www/html

修改菜单文件,指定应答文件路径

vim /var/lib/tftpboot/pxelinux.cfg/default
label linux

menu label  Install CentOS 7         #选项显示的内容

menu default	   #读秒结束后默认选择

kernel vmlinuz	           #加载内核

append initrd=initrd.img       #加载驱动程序

ks=http://192.168.4.7/ks.cfg         #指定应答文件路径
2019-06-11 23:41:42 wwl012345 阅读数 724
  • Linux集群

    本套视频内容丰富,分为集群化构建、缓存、存储、监控、安全、装机六大维度。服务构建步骤详细,手把手带着你上路;课后辅助资料全面,附录详细代码标注; 深度技术讲解,逐步为你剖析底层原理…… 集群化阶段,讲解LVS与keepalived结合构建企业级负载调度集群,可供以万计用户同时访问;缓存阶段,讲解大量生产环境经典业务案例,让你轻松解决压力难点;存储阶段,糅合讲解 NFS、MFS、ISCSI 三类企业级存储技术,使你从容面对各类存储业务需求,最多可达PB级别!监控阶段,“上阵父子兵”,Cacti、Nagios、Zabbix,一个都不能少!轻松搞定!装机阶段,PXE、Cobbler混合双打,多个机房多种配置轻松搞定……

    1392 人正在学习 去看看 佟刚

一、相关概念

1.PXE网络装机的概念

        PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。基于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。

2.PXE装机流程

(1):PXE Client从自己的PXE网卡启动,通过PXE BootROM(自启动芯片)会以UDP(简单用户数据报协议)发送一个广播请求,向本网络中的DHCP服务器索取IP。

(2):DHCP服务器收到客户端的请求,验证是否来至自合法的PXE Client的请求,验证通过后它将给客户端一个响应,这个响应中包含了为客户端分配的IP地址、pxelinux启动程序(TFTP)位置,以及配置文件所在位置。

(3):客户端收到服务器的“回应”后,会回应一个帧,以请求传送启动所需文件。这些启动文件包括:pxelinux.0、vmlinuz、pxelinux.cfg/default、initrd.img等文件。

(4):当服务器收到客户端的请求后,他们之间之后将有更多的信息在客户端与服务器之间作应答, 用以决定启动参数。BootROM由TFTP通讯协议从Boot Server下载启动安装程序所必须的文件(pxelinux.0、pxelinux.cfg/default)。default文件下载完成后,会根据该文件中定义的引导顺序,启动Linux安装程序的引导内核。

(5):客户端通过pxelinux.cfg/default文件成功的引导Linux安装内核后,安装程序首先必须确定你通过什么安装介质来安装linux,如果是通过网络安装(NFS, FTP, HTTP),则会在这个时候初始化网络,并定位安装源位置。接着会读取default文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。

(6):客户端安装操作系统 将ks.cfg文件下载回来后,通过该文件找到OS Server,并按照该文件的配置请求下载安装过程需要的软件包。 OS Server和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。安装完成后,将提示重新引导计算机。   

二、实验环境

       2台Linux系统(RHEL6.5版本).一台作为网络源YUM仓库服务器,另一台作为YUM仓库客户端,验证网络源YUM仓库是否正常。

三、实验步骤

PXE网络装机(手动)

1.关闭防火墙和selinux

2.配置IP地址

修改IP地址内容如下

 3.重启网络服务

4. 配置本地yum

修改内容如下

 5.挂载光盘镜像

6.使用本地源安装vsftpd服务

7.启动ftp服务

查看ftp是否开启

 8.复制光盘文件到ftp服务器的共享目录rhel6.5中

 9.验证ftp服务是否正常

在本虚拟机上打开浏览器,输入"ftp://本机IP地址"来测试FTP服务是否正常

10.安装TFTP服务器

        注意:为什么要安装TFTP服务器?这是因为在PXE client所在的ROM中,已经存在了TFTP 客户端。PXE 客户端 通过使用TFTP协议到TFTP Server上下载所需的文件。

修改配置文件

 修改配置文件内容如下

11.启用TFTP服务

12.准备客户端主机无盘启动时所需的Linux内核、初始化镜像文件

13.准备客户端主机无盘启动时所需的PXE引导程序、启动菜单文件

(1):安装syslinux软件包(支持PXE功能)

(2):复制PXE引导程序 

(3):建立启动菜单文件

修改文件内容

添加文件内容如下

14.安装DHCP服务

注意:安装DHCP服务是为了在启动PXE客户机时可以为该客户机提供动态IP

(1):安装DHCP服务

(2):拷贝dhcp配置例子文件

(3):修改dhcp的配置文件

 修改配置文件内容如下

将subnet后面的内容全部删掉,前面的内容全部保留

15.启动DHCP服务

注意:dhcp服务的配置文件应根据实际情况而写:

  • subnet后的网段地址(主机号为0)、子网掩码;
  • range后的起始与结束IP地址,都应根据dhcp服务器本机的IP地址而定
  • 也就是说:pxe无盘客户端的IP地址应与dhcp服务器本机的IP地址在同一地址段,如果不在同一网段,则网络中还需要配置路由器、配置dhcp中继代理方能实现IP地址的分配
  • next-server后面的IP地址为:tftp服务器的IP地址
  • 本实验环境:dhcp服务器、tftp服务器都是同一服务器即:192.168.10.1
  • 如果dhcp服务不能启动成功,则查看系统日志中关于dhcp服务的错误信息,根据提示再次修改dhcpd.conf文件,再尝试启动。
  • 查看日志操作如下:cat  /var/log/message  | grep  dhcp | more
  • 在subnet配置文件中,每行之后都有一个分号";"

16.验证PXE网络装机(在客户机上进行)

(1):新建一台RHEL6.5虚拟机作为客户端,内存1G内存,硬盘选择默认即可,网卡连接方式与服务器相同

(2):禁用vmware的dhcp功能(此步很重要)

(3):启动虚拟机,看到"boot"提示符,说明服务器端配置成功!(若第一次没有分发到IP,则尝试重新启动客户机)

出现boot后,直接回车然后选择语言等

(4):然后直至出现如下页面,选择URL 

 (5):URL选择后填写内容如下:ftp://本机IP/ftp文件路径(HTTP代理不填)

 

(6):出现如下页面则PXE网络装机成功。随后选择自己需要的软件进行安装即可

实现客户端的Kickstart无人值守安装:(在服务器上操作)

1.安装system-config-kickstart软件包

2.安装成功后打开Kickstart。应用程序—>系统工具—>Kickstart

3.必须设置root口令 

4.必须指定安装方法:FTP

            ftp服务器:ftp://192.168.10.1

            ftp目录:rhel6.5

5.必须设置分区

(1):清除主引导记录

(2):删除所有现存分区

(3):添加磁盘分区:

/boot  ext4  500M

swap           2048M

/      ext4 未使用的全部磁盘空间

 6.保存自动应答文件:/root/ks.cfg(使用Ctrl+S进行保存)

 7.启用自动应答文件

修改自动应答文件ks.cfg

修改文件内容如下 

8.验证

在另一台主机上进行Kickstart无人值守自动装机 

等待足够长的时间即可完成网络装机。

到此实验全部结束。

2019-06-06 16:29:07 weixin_40991510 阅读数 161
  • Linux集群

    本套视频内容丰富,分为集群化构建、缓存、存储、监控、安全、装机六大维度。服务构建步骤详细,手把手带着你上路;课后辅助资料全面,附录详细代码标注; 深度技术讲解,逐步为你剖析底层原理…… 集群化阶段,讲解LVS与keepalived结合构建企业级负载调度集群,可供以万计用户同时访问;缓存阶段,讲解大量生产环境经典业务案例,让你轻松解决压力难点;存储阶段,糅合讲解 NFS、MFS、ISCSI 三类企业级存储技术,使你从容面对各类存储业务需求,最多可达PB级别!监控阶段,“上阵父子兵”,Cacti、Nagios、Zabbix,一个都不能少!轻松搞定!装机阶段,PXE、Cobbler混合双打,多个机房多种配置轻松搞定……

    1392 人正在学习 去看看 佟刚

首先,要使用PXE安装操作系统,要先区分那是主节点,那是从节点。其中,主节点是用来配置从节点需要安装的操作系统的,包括操作系统类型(centos)、操作系统位数(64位)、磁盘划分、安装完系统后再安装的一些基础软件等。

另外, 最重要的一点就是,需要保证主节点和从节点的网络在同一局域网(网段)下。在具体部署的时候,使可以拿一台服务器或在笔记本上装一台虚拟机 ,以此为master节点,然后拿这台master去启动slave节点安装操作系统,这里我是以在笔记本上安装虚拟机的方式去实现的。

虚拟机vmware网络的连接方式分为三种:桥接,NAT,Host-only。注意:当我们安装完VMware WorkStation的时候,它会帮我们安装两块虚拟网卡,分别是vmnet1,和vmnet8。其中,vmnet1对应于Host-only, vmnet8对应于NAT。
什么是桥接方式连接,打个比喻,桥接就相当于兄弟一样是并列的,也就是说使用桥接时,虚拟机的IP网段和主机的网段是一样的。

NAT又叫网络地址转换, 是network address translate的简称,什么是NAT方式连接,NAT就相当于父子关系一样,也就是说使用NAT时,本地主机就相当于虚拟机的网关。

Host-only 模式下,主机和虚拟机之间的网络互访, 但虚拟机访问不了internet。

所以,我这里虚拟机配置的桥接模式,因为配置了桥接就可以自己(根据机房环境)设置IP地址了。可以选择你自己的有线网卡,当然,复制无线网卡也是可以的 。我这里选择的有线,这里需要明白一点,因为我笔记本上网本身是连的WiFi,无线用来上网,有线作为管理, 一点不冲突。

注意,桥接模式,选中复制物理连接状态 ;

选择有线网卡

配置有线网卡的ip,使得有线网卡ip与master节点和slave节点的ip在同一网段。配置好后,笔记本和虚拟机最好互ping下,能通为正常情况,如果出现如下异常情况,需要确认笔记本是否有插网线, 如果笔记本没有插网线,端口就没up,当然不会ping通。

最后,去机房装系统时,只要一根网线和显示屏等即可完成该机房的服务器安装。把网线与交换机和笔记本相连,服务器接好显示屏,就可以开始装了。

以戴尔服务器为例,开机或重启服务器后,按F12,选择PXE模式启动,等到加载出DHCP的字样,再等一会就会出现之前配置好的装机配置,选中,出现进度条后,就可以不用管了,可以开始把显示屏接到另外一台服务器上装另外一台了。

如果是宝德服务器,开机过程出现“宝德“两个大字的时候,按下”F7”键,选择setup。在网络配置里面打开网络配置功能,需在开机引导中修改开机引导顺序,如选择IBA GE Slot 0600 v1543为网卡1。

 

2019-11-22 16:20:36 weixin_44221035 阅读数 122
  • Linux集群

    本套视频内容丰富,分为集群化构建、缓存、存储、监控、安全、装机六大维度。服务构建步骤详细,手把手带着你上路;课后辅助资料全面,附录详细代码标注; 深度技术讲解,逐步为你剖析底层原理…… 集群化阶段,讲解LVS与keepalived结合构建企业级负载调度集群,可供以万计用户同时访问;缓存阶段,讲解大量生产环境经典业务案例,让你轻松解决压力难点;存储阶段,糅合讲解 NFS、MFS、ISCSI 三类企业级存储技术,使你从容面对各类存储业务需求,最多可达PB级别!监控阶段,“上阵父子兵”,Cacti、Nagios、Zabbix,一个都不能少!轻松搞定!装机阶段,PXE、Cobbler混合双打,多个机房多种配置轻松搞定……

    1392 人正在学习 去看看 佟刚

网络装机概述

网络装机优势

  • 规模化:同时装配多台主机
  • 自动化:装系统,配置各种服务
  • 远程实现:不需要光盘,U盘等物理安装介质
    在这里插入图片描述

什么是PXE网络

PXE Pre-boot eXecution Environment
预启动执行环境,在操作系统之前运行
可用于远程安装
工作模式

  • PXE client 集成在网卡的启动芯片中
  • 当计算机引导时,从网卡芯片中PXE client调入内存执行,获取PXE
    server配置,显示菜单,根据用户选择将远程引导程序下载到本机运行

PXE组件及过程分析

服务端

  • DHCP服务:分配IP地址,定位引导程序
  • TFTP服务:提供引导程序下载
  • HTTP服务(或FTP/NFS):提供YUM源的安装

客户端

  • 网卡芯片必须支持PXE协议
  • 主板支持从网卡启动
    在这里插入图片描述

一.部署DHCP服务

DHCP概述即原理
动态主机配置协议,由IETF(internet 网络工程师任务小组)组织制定,用来简化主机地址分配管理
主要分配一下入网参数

  • IP地址/子网掩码/广播地址
  • 默认网关地址,DNS服务器地址

DHCP地址分配的四次会话,以广播形式进行
DISCOVERY > OFFER > REQUEST > ACK
建议:一个网络中只能有一台DHCP服务

  1. 配置安装包
[root@svr7 ~]# yum install -y dhcp
  1. 修改DHCP文件
[root@svr7 ~]# vim /etc/dhcp/dhcpd.conf

末行模式输入:r /usr/share/doc/dhcp/dhcpd.conf.example
dd删除多余参数最后就只留这莫一丢丢,然后进行配置修改

#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
subnet 192.168.4.0 netmask 255.255.255.0 {		//注!此配置内不能出现中文,几遍注释中文也不可以
  range 192.168.4.100 192.168.4.200;			//配置分配ip地址范围
  option domain-name-servers 192.168.4.7;    	//配置DNS
  option domain-name "internal.example.org";	//dd干掉它!!!
  option routers 192.168.4.254;
  option broadcast-address 10.5.5.31;			//广播地址,dd干掉它!!!
  default-lease-time 600;						//租期时间600s
  max-lease-time 7200;							//最大租约时间7200s
  next-server 192.168.4.7;						//指定下一个服务器地址,此行为30年手打添加
  filename "pxelinux.0";	//指定网卡引导文件名称,此行为30年手打添加,"pxelinux.0":网卡引导文件(网络安装说明书)二进制文件,安装一个软件即可自动生成该文件)
}
  1. 重启服务
[root@svr7 ~]# systemctl restart dhcpd

二.搭建TFTP服务,提供众多的引导文件

TFTP:简单的文件传输协议,默认端口69
默认共享数据的路径:/var/lib/tftpboot

  1. 安装软件tftp-server
[root@svr7 ~]# yum install -y tftp-server
[root@svr7 ~]# systemctl restart tftp
  1. 部署pxelinux.0
[root@svr7 ~]# yum -y provides */pxelinux.0	//查找仓库中哪个软件生成该文件
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
my_yum/filelists_db                                      | 2.2 kB     00:00     
syslinux-4.05-13.el7.x86_64 : Simple kernel loader which boots from a FAT
                            : filesystem
源    :local_repo
匹配来源:
文件名    :/usr/share/syslinux/pxelinux.0



syslinux-tftpboot-4.05-13.el7.x86_64 : SYSLINUX modules in /var/lib/tftpboot,
                                     : available for network booting
源    :local_repo
匹配来源:
文件名    :/var/lib/tftpboot/pxelinux.0
[root@svr7 ~]# yum -y install syslinux
[root@svr7 ~]# rpm -ql syslinux | grep pxelinux.0	//查看软件安装清单并过滤出pxelinux.0
[root@svr7 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
  1. 在虚拟机A系统中显示光盘内容
[root@svr7 ~]# mount /dev/cdrom /mnt/	//挂载光盘镜像
mount: /dev/sr0 写保护,将以只读方式挂载
  1. 部署菜单文件
[root@svr7 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@svr7 ~]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
  1. 部署图形模块与背景图片
[root@svr7 ~]# cp /mnt/isolinux/vesamenu.c32 /mnt/isolinux/splash.png /var/lib/tftpboot/
  1. 部署启动内核(vmlinuz)与驱动程序(initrd.img)
[root@svr7 ~]# cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot/
  1. 修改菜单文件

末行模式:set nu #开启行号

[root@svr7 ~]# vim  /var/lib/tftpboot/pxelinux.cfg/default 
  1 default vesamenu.c32	//默认加载图形模块
  2 timeout 600	//读秒时间 1/10
 10 menu background splash.png	//背景图片
 11 menu title CentOS 7	//菜单标题显示内容
 62   menu label ^Install CentOS 7	//菜单的显示内容
 63   menu default	//读秒结束后默认选择
 64   kernel vmlinuz	//加载启动内核
 65   append initrd=initrd.img	//加载驱动程序

初步测试

  1. 重启所需服务

[root@svr7 ~]# systemctl restart dhcpd
[root@svr7 ~]# systemctl restart tftp

三.构建Web服务共享光盘的所有内容

  1. 安装软件
[root@svr7 ~]# yum install -y httpd
  1. 重启服务
[root@svr7 ~]# systemctl restart httpd
  1. 挂载镜像
[root@svr7 ~]# mkdir /var/www/html/centos
[root@svr7 ~]# mount /dev/cdrom /var/www/html/centos/

四.部署无人值守安装,生成应答文件

  1. 安装system-config-kickstart
[root@svr7 ~]# yum install -y system-config-kickstart
[root@svr7 ~]# vim /etc/yum.repos.d/local.repo
[development]
name=CentOS-$releasever - Base
baseurl="ftp://192.168.4.254/centos-1804"
enabled=1
gpgcheck=0
[root@svr7 ~]# LANG=en system-config-kickstart

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

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

  1. 利用Web服务共享应答ks文件
[root@svr7 ~]# cp /root/ks.cfg /var/www/html/
  1. 修改菜单文件
[root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
65   append initrd=initrd.img ks=http://192.168.4.207/ks.cfg
2019-08-05 19:19:53 qq_42298432 阅读数 120
  • Linux集群

    本套视频内容丰富,分为集群化构建、缓存、存储、监控、安全、装机六大维度。服务构建步骤详细,手把手带着你上路;课后辅助资料全面,附录详细代码标注; 深度技术讲解,逐步为你剖析底层原理…… 集群化阶段,讲解LVS与keepalived结合构建企业级负载调度集群,可供以万计用户同时访问;缓存阶段,讲解大量生产环境经典业务案例,让你轻松解决压力难点;存储阶段,糅合讲解 NFS、MFS、ISCSI 三类企业级存储技术,使你从容面对各类存储业务需求,最多可达PB级别!监控阶段,“上阵父子兵”,Cacti、Nagios、Zabbix,一个都不能少!轻松搞定!装机阶段,PXE、Cobbler混合双打,多个机房多种配置轻松搞定……

    1392 人正在学习 去看看 佟刚

PXE(预启动执行环境)是由inter公司开发的技术,可以让计算机通过网络来启动操作系统(前提是网卡支持pxe技术),主要用于在无人值守安装系统中引导客户端主机安装linux操作系统,kickstart是一种无人值守的安装方式,工作原理是预先把原本需要运维人员手工填写的参数保存成一个ks.cfg文件,当安装过程中需要填写参数是则自动匹配,kickstart生成的文件,所有只要kickstart文件包含了安装过程中需要人工填写的所有参数,从理论上来讲完全不需要人工干预。

PXE的工作过程

1.pxe Client 从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP;
2.DHCP服务器返回分配给客户端的ip*以及PXE文件的放置位置(该文件一般是放在TFTP服务器上);
3.PXE Client 向本网络中的TFTP服务器索取pxelinux.0文件;
4.PXE Client取得pxelinux.0文件后执行该文件;
5.根据pexlinux.0的执行结果,通过TFTP服务器加载内核和文件系统;
6.进入安装画面,此时可以通过选择HTTP/FTP/NFS方式之一进行安装;

在这里插入图片描述

Kickstart安装需求

1.网卡必须支持PXE引导;
2.客户端需要有与kickstart通信的IP地址,这个一般通过DHCP自动分配IP地址来实现;
3.提供引导所需的文件,内核文件,内核镜像文件等,此时一般通过tftp-server等实现。
4.kickstart文件,它主要实现自动化安装的过程,比如配置主机名,添加用户,安装系统后相关操作;
5.提供安装源,一般就是HTTP/HTTPS/NFS/FTP等方式;
综合上述需要的工具:dhcp+tftp+syslinux+kickstart+httpd

PXE服务器配置案例

环境介绍
服务器系统:Centos7.3
网卡地址:192.168.10.50
光盘镜像:CentOS-7-x86_64-DVD-1810.iso
安装工具:dhcp+ftp+syslinux+kickstart+httpd

配置步骤

1.挂载系统光盘到/mnt/,并搭建httpd共享yum源。

mount /dev/cdrom /mnt //挂载本地yum到mnt目录下面
mkdir /yum
cp -rf /mnt/* /yum/ //复制mnt下面的安装包到yum下面做httpd的共享仓库

2.使用yum安装需要的服务dhcp,tftpserver,syslinux, kickstart,httpd

yum -y install dhcp httpd tftp-server syslinux system-config-kickstart //使用yum安装需要的软件包

3.配置httpd服务并启动dhcpd

vim /etc/httpd/conf/httpd.conf //编辑httpd的主配置文件(在119~131行左右)

DocumentRoot "/yum"

#
# Relax access to content within /var/www.
#
<Directory "/yum">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

# Further relax access to the default document root:
<Directory "/yum">

修改完配置后保存退出,重启服务
systemctl restart httpd

4.配置dhcp服务器并启动

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf //复制模板文件到主配置文件或者进入文件在末行位置写:r /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
vim /etc/dhcp/dhcpd.conf //编辑主配置文件

subnet 192.168.40.0 netmask 255.255.255.0 {
  range 192.168.40.10 192.168.40.100;
  option domain-name-servers 114.114.114.114;
  option domain-name "baidu.com";
  option routers 192.168.40.1;
  option broadcast-address 192.168.40.255;
  default-lease-time 600;
  max-lease-time 7200;
 next-server 192.168.40.10; //IP地址不加引号,设置tfpt地址
  filename "pxelinux.0"; //设置pxe引导文件名称
}

重启dhcpd服务

systemctl restart dhcpd ##启动dhcpd服务

5.编辑tfpt配置文件开启tftp并重启服务

vim /etc/xinetd.d/tftp //编辑tftp配置文件
{
server_args = -s /var/lib/tftpboot //可以更改默认的存放路径。
disable = yes //将yes改为no

启动tftp服务

systemctl restart tftp //启动tftp服务程序

6.准备内核,初始化镜像,pxe引导,启动菜单二五年间复制到tftp目录,tftp的默认根目录为/var/lib/tftpboot/

内核和初始化文件:vmlinuz和initrd.img,文件光盘目录的/yum/images/pxeboot目录下面;
2.PXE引导文件:pxelinux.0由syslinux软件提供,目录在/usr/share/syslinux/目录下面;
3.启动菜单文件:在光盘/yum/isolinux/isolinux.cfg,复制后更名default;

cp {initrd.img,vmlinuz} /var/lib/tftpboot/  //将初始化文件和内核文件放到tftp目录下面
cp /usr/share/syslinux/pxelinux.0 ./ //将pxe引导文件复制到gftp的当前目录下面
mkdir pxelinux.cfg //在tftp的根目录下面创建启动菜单目录
cp /yum/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default  //将启动菜单模板复制到tftp根目录的pxelinux.cfg目录下,改名为default
vim default //编辑当前目录下面的启动菜单文件
------------修改一下的内容-----------
原1行 default vesamenu.c32
改1行 default linux

原64行 append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
改64行  append initrd=initrd.img inst.stage2=http://192.168.10.40/ ks=http://192.168.10.40/ks.cfg quiet
注意:第一行的linux的名字要和61行linux名字一样,否则会出错。

7.安装kickstart工具生成自动应答文件或者编辑一个自动应答文件,将其保存到共享文件/yum/下面。

vim /yum/ks.cfg //编辑自动应答文件
-----------添加一下内容------------
#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
keyboard 'us'  //设置键盘语言
rootpw --iscrypted $1$h1IxYj45$nq11vzBP03rGhraxbtgCL0 //设置管理员密码
url --url="http://192.168.10.40/"  //设置安装源的路径httpd
lang zh_CN  //设置安装语言为中文
firewall --disabled
auth  --useshadow  --passalgo=sha512
graphical
firstboot --disable  //设置防火墙为关闭
selinux --disabled  //设置selinx为关闭

network  --bootproto=dhcp --device=ens33  //设置网卡的ip获取类型和网卡的名称
reboot //设置安装成功之后自动重启
timezone Asia/Shanghai  //设置时区为亚洲上海
bootloader --location=mbr
clearpart --all
part / --fstype="xfs" --size=20000  //设置磁盘挂载位置和分配磁盘大小15G

%packages //到end结束是复制anaconda中的安装脚本
@desktop-debugging
@fonts
@gnome-desktop
@graphical-admin-tools
@graphics
@input-methods
@kde-desktop
@legacy-x
@remote-desktop-clients
@system-management
@x11
gnome-disk-utility
gnome-packagekit
setroubleshoot
vinagre
xterm

%end

8.重启 dhcpd httpd tftp 服务,然后关闭防火墙和selinux

systemctl restart dhcpd httpd tftp //重启dhcpd httpd tftp服务
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭selinxu

9.新建虚拟机将网络和服务器改为同一模式,开机验证是否成功!!!!

PXE常见故障

故障一:如果客户机开机可以获取到ip,但是提示pxe-e11:arp-timeout
解决办法:查看next-server的ip地址是否正确
故障二:如果使用system-config-kickstart工具选择软件包提示由于下载软件包失败
解决办法:将本地yum源的第一项 [***] 改为 [development]
故障三:如果在测试机快要加载完毕的时候出现Pane is dead
解决办法:看defalut文件第64行否则缺少内容。ks=http://IP地址。

没有更多推荐了,返回首页