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

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

    972 人正在学习 去看看 佟刚

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-11-22 16:20:36 weixin_44221035 阅读数 98
  • Linux集群

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

    972 人正在学习 去看看 佟刚

网络装机概述

网络装机优势

  • 规模化:同时装配多台主机
  • 自动化:装系统,配置各种服务
  • 远程实现:不需要光盘,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
2018-12-17 09:18:56 lm236236 阅读数 94
  • Linux集群

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

    972 人正在学习 去看看 佟刚

PXE(preboot execute environment,预启动执行环境)
如果只有一两台电脑要装系统,我们可以使用光盘或者U盘装系统,假如有成百上千台电脑需要装操作系统,如果还用光盘U盘的方式去安装,那是非常非常麻烦的,但是还好有PXE启动,配合kickstart就可以实现通过网络来给众多电脑装操作系统了。

一、配置PXE

1.配置yum源,配置dhcp服务 客户端开机后没有IP,请求服务端,dhcp服务器分配给客户端IP,之前的章节都有关于yum源以及dhcp的章节,这里不再做解释。
2.systemctl stop firewalld.service 关闭火墙,防止客户端访问不到服务器的文件`
3.yum install syslinux tftp-server -y 安装tftp-server提供tftp服务,为pxe客户端提供文件。安装syslinux是为了使用pxelinux.0文件。

[root@pxe ~]# systemctl stop firewalld.service
[root@pxe ~]# yum install syslinux tftp-server.x86_64 -y

4.cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 把pxelinux.0通过tftp共享出来,以便客户端可以读取此文件,pxelinux.0引导文件引导vmlinux和initrd两个启动文件。
5.vim /etc/xinetd.d/tftp 将disable设置为no,允许tftp服务开启 xinetd是tftp的守护文件 要开启tftp服务,需要xinetd同意,rhel7.0之后的版本可以直接重启tftp服务,rhel7.0之前的版本需要先设置xinetd然后重启xinetd服务。
6.systemctl restart xinetd.service 重启xinetd服务。可以通过chkconfig命令查看tftp是否开启
7.vim /etc/dhcp/dhcpd.conf 修改dhcp的配置文件,因为客户端需要通过dhcp服务将服务器的pxelinux.0共享来读取这个文件
30 subnet 172.25.254.0 netmask 255.255.255.0 {
31 range 172.25.254.60 172.25.254.80;
32 option routers 172.25.254.108;
33 next-server 172.25.254.108; tftp所在的服务器的IP
34 filename “pxelinux.0”; 共享文件的名称
35 }
8.systemctl restart dhcpd.service

[root@pxe ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@pxe ~]# vim /etc/xinetd.d/tftp 
[root@pxe ~]# systemctl restart xinetd.service 
[root@pxe ~]# vim /etc/dhcp/dhcpd.conf 
[root@pxe ~]# tail -n 5 /etc/dhcp/dhcpd.conf 
  range 192.168.1.50 192.168.1.80;
  option routers 192.168.1.120;
  next-server 192.168.1.120;
  filename "pxelinux.0";
}
[root@pxe ~]# systemctl restart dhcpd.service 

9.将真实主机的镜像挂载到/mnt下,为了后面拷文件

[root@foundation75 Desktop]# mount rhel-server-7.3-x86_64-dvd.iso /mnt
mount: /dev/loop0 is write-protected, mounting read-only
[root@foundation75 Desktop]# df
Filesystem                         1K-blocks     Used Available Use% Mounted on
..........                            ......................................
/dev/loop0                           3704296  3704296         0 100% /mnt
[root@foundation75 Desktop]# cd /mnt
[root@foundation75 mnt]# ls
addons  EULA  images    LiveOS      Packages       repodata                 RPM-GPG-KEY-redhat-release
EFI     GPL   isolinux  media.repo  release-notes  RPM-GPG-KEY-redhat-beta  TRANS.TBL
[root@foundation75 mnt]# cd isolinux/      这个目录下的文件都是需要用到的
[root@foundation75 isolinux]# ls
boot.cat  grub.conf   isolinux.bin  memtest     TRANS.TBL    vesamenu.c32
boot.msg  initrd.img  isolinux.cfg  splash.png  upgrade.img  vmlinuz

10.cd /var/lib/tftpboot/ mkdir pxelinux.cfg 按照提示文件(/usr/share/doc/syslinux-4.05/pxelinux.txt)在tftp服务的共享目录下创建此目录

[root@pxe ~]# cd /var/lib/tftpboot/
[root@pxe tftpboot]# mkdir pxelinux.cfg

11.按照提示文件:将镜像的文件isolinux.cfg拷贝到/var/lib/tftpboot/pxelinux.cfg/下,并且重命名为default mv isolinux.cfg default,把镜像的所有文件拷到/var/lib/tftpboot/下

[root@pxe tftpboot]# cd pxelinux.cfg/
[root@pxe pxelinux.cfg]# scp root@192.168.1.20:/mnt/isolinux/isolinux.cfg .
The authenticity of host '192.168.1.20 (192.168.1.20)' can't be established.
ECDSA key fingerprint is c4:d7:0d:5e:96:29:ab:dc:47:77:5a:cf:3e:ce:2c:cd.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.20' (ECDSA) to the list of known hosts.
root@192.168.1.20's password: 
isolinux.cfg                                100% 3166     3.1KB/s   00:00    
[root@pxe pxelinux.cfg]# ls
isolinux.cfg
[root@pxe pxelinux.cfg]# mv isolinux.cfg default
[root@pxe pxelinux.cfg]# ls
default
[root@pxe pxelinux.cfg]# cd ..
[root@pxe tftpboot]# scp root@192.168.1.20:/mnt/isolinux/* .
root@192.168.1.20's password: 
boot.cat                                    100% 2048     2.0KB/s   00:00    
boot.msg                                    100%   84     0.1KB/s   00:00    
grub.conf                                   100%  321     0.3KB/s   00:00    
initrd.img                                  100%   43MB  42.6MB/s   00:01    
isolinux.bin                                100%   24KB  24.0KB/s   00:00    
isolinux.cfg                                100% 3166     3.1KB/s   00:00    
memtest                                     100%  186KB 186.4KB/s   00:00    
splash.png                                  100%  186     0.2KB/s   00:00    
TRANS.TBL                                   100% 2438     2.4KB/s   00:00    
upgrade.img                                 100%   48MB  48.0MB/s   00:00    
vesamenu.c32                                100%  150KB 149.5KB/s   00:00    
vmlinuz                                     100% 5265KB   5.1MB/s   00:00    
[root@pxe tftpboot]# ls
boot.cat   initrd.img    memtest       splash.png   vesamenu.c32
boot.msg   isolinux.bin  pxelinux.0    TRANS.TBL    vmlinuz
grub.conf  isolinux.cfg  pxelinux.cfg  upgrade.img

12.vim default 修改default文件内容,当客户端进入预启动界面选择安装选项后,实际上界面什么也看不到,依然是一团黑,但这并不是代表没有操作,只是隐藏了显示的内容,如果想要显示,只需进入此文件删掉64行的quiet即可

 61 label linux
 62   menu label ^Install Red Hat Enterprise Linux 7.3
 63   kernel vmlinuz
 64   append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.3\x20Server.x86_64
 65 

客户端:
打开虚拟机管理:virt-manager
以server虚拟机作为例子,将server虚拟机的引导选项设置为网络引导的优先级最高,然后重启虚拟机就可以看到效果。
在这里插入图片描述

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

二、批量安装操作系统

前面已经做了PXE了,然后只需设置默认选项为install选项,配合kickstart就可以自动批量操作系统了,如果觉得预安装的选择界面等待时间过长,可以将时间改短。如果觉得背景不美观,也可以换背景图片。
1.修改默认选项:

[root@pxe pxelinux.cfg]# ls
default
[root@pxe pxelinux.cfg]# pwd
/var/lib/tftpboot/pxelinux.cfg
[root@pxe pxelinux.cfg]# vim default 

将68行的menu default移动到install的选项,即移动到63行,这样本来默认选项为检测后安装变成了第一个直接安装,跟改后的default61-70行的内容为:

61 label linux
 62   menu label ^Install Red Hat Enterprise Linux 7.3    预安装选项第一个
 63   menu default
 64   kernel vmlinuz
 65   append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.3\x20Server.x86_64
 66 
 67 label check
 68   menu label Test this ^media & install Red Hat Enterprise Linux 7.3  预安装选项第二个
 69   kernel vmlinuz
 70   append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.3\x20Server.x86_64     rd.live.check quiet

2.修改等待时间
default文件的第二行表示的是修改等待时间10代表一秒,默认600,也就是60秒。这里我更改为5秒,也就是50。

  2 timeout 50

3.修改背景图片

default文件的第10行表示背景图片,可以自行修改,但需要格式正确。

 10 menu background splash.png

4 、配置kickstart
要配置kickstart,首先还得装http服务,需要把生成的ks.cfg脚本放到共享目录下,让客户端可以执行。然后安装kickstart

[root@pxe tftpboot]# yum install httpd -y
[root@pxe tftpboot]# systemctl start httpd
[root@pxe tftpboot]# yum install system-config-kickstart.noarch -y
[root@pxe ~]# system-config-kickstart     如果是远程连接,需要加-X连接到图形化界面

这时会进入kickstart的配置界面,这里的配置看以前的kickstart章节,这里不再重复。配置完成后将文件保存到/var/www/html/下

[root@pxe ~]# cd /var/www/html/
[root@pxe html]# ls
ks.cfg

在图形化界面并不能完全配置好,因此,还需要修改ks.cfg文件

11 timezone Asia/Shanghai
38 %packages
 39 @base                                  基础软件包
 40 @core                                  核心软件
 41 @fonts                                 字形字体
 42 @gnome-desktop                         桌面
 43 @input-methods                         输入法
 44 @x11
 45 vnc                                    vnc
 46 lftp                                   lftp服务      
 47 %end
 48 
 49 %post
 50 cat > /etc/yum.repo.d/yum.repo << EOF

配置完kickstart之后当然还需要将kickstart和PXE联系起来

[root@pxe html]# cd /var/lib/tftpboot/pxelinux.cfg/
[root@pxe pxelinux.cfg]# ls
default
[root@pxe pxelinux.cfg]# vim default 

 65   append initrd=initrd.img repo=http://192.168.1.20/mnt ks=http://192.168.1.120/ks.cfg
                               repo表示yum源                ks表示ks.cfg脚本所在位置

重启服务

[root@pxe pxelinux.cfg]# systemctl restart dhcpd.service 
[root@pxe pxelinux.cfg]# systemctl restart httpd.service 

打开虚拟机管理器,创建一个新的虚拟机,用PXE创建
在这里插入图片描述
在这里插入图片描述
后面都是默认。
在这里插入图片描述
当出来上方这个图片时就表示自动批量安装操作系统成功了。

2019-06-11 23:41:42 wwl012345 阅读数 349
  • Linux集群

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

    972 人正在学习 去看看 佟刚

一、相关概念

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无人值守自动装机 

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

到此实验全部结束。

2014-10-11 11:48:03 KNIFE_PAN 阅读数 1357
  • Linux集群

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

    972 人正在学习 去看看 佟刚

对于一些电脑无法设置bios从U盘启动,同时电脑也没有光驱,(例如我现在用的工业电脑,bios无法设置U盘启动,并且无光驱)进行操作系统的安装时可通过网络模式安装


所需工具:

1.深度远程启动管理器  

2.小小强Pe工具箱PXE版


第一步:

找一台可以开机的电脑,安装 小小强Pe工具箱PXE版V4.0 安装目录选择默认目录C:\ZJQPXE

第二步

将 .深度远程启动管理器.rar解压到刚才的C:\ZJQPXE目录下,找到NetbootM.exe,单击运行

再菜单中单击配置,找到选项配置,工作目录和引导文件按照下图配置。点击确定即可


第三步

进入C:\ZJQPXE找到USER文件夹,如下图,

在记事本中打开startmode.cmd,修改SET STARTMODE=SHARE (如果不进行设置,winpe只加载内核,不会加载其他附加工具)

第四步

下载一个你要安装的操作系统的镜像文件,例如windows7.gho,放到 C:\ZJQPXE\WXPE\外置程序\   目录下,让后将外置程序目录设置共享,设置方法,右击完整程序文件夹

选择属性--共享

点击共享,设置共享为everyone


至此服务端就配置完成。

第五步

在你要安装的系统的客户机上进入bios,选择pxe启动。

在你的客户机启动过程中会通过dhcp请求ip,这时服务器就会分配给他,当然你的客户机和服务器要在同一局域网内。接下来你可以看到你的客户机已经进入pe了,这时,在pe中你就可以通过ghost安装你所下载的操作系统了。


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