网络装机概述
网络装机优势
规模化:同时装配多台主机
自动化:装系统,配置各种服务
远程实现:不需要光盘,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服务
配置安装包
[root@svr7 ~]# yum install -y dhcp
修改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":网卡引导文件(网络安装说明书)二进制文件,安装一个软件即可自动生成该文件)
}
重启服务
[root@svr7 ~]# systemctl restart dhcpd
二.搭建TFTP服务,提供众多的引导文件
TFTP:简单的文件传输协议,默认端口69
默认共享数据的路径:/var/lib/tftpboot
安装软件tftp-server
[root@svr7 ~]# yum install -y tftp-server
[root@svr7 ~]# systemctl restart tftp
部署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/
在虚拟机A系统中显示光盘内容
[root@svr7 ~]# mount /dev/cdrom /mnt/ //挂载光盘镜像
mount: /dev/sr0 写保护,将以只读方式挂载
部署菜单文件
[root@svr7 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@svr7 ~]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
部署图形模块与背景图片
[root@svr7 ~]# cp /mnt/isolinux/vesamenu.c32 /mnt/isolinux/splash.png /var/lib/tftpboot/
部署启动内核(vmlinuz)与驱动程序(initrd.img)
[root@svr7 ~]# cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot/
修改菜单文件
末行模式: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 //加载驱动程序
初步测试
重启所需服务
[root@svr7 ~]# systemctl restart dhcpd
[root@svr7 ~]# systemctl restart tftp
三.构建Web服务共享光盘的所有内容
安装软件
[root@svr7 ~]# yum install -y httpd
重启服务
[root@svr7 ~]# systemctl restart httpd
挂载镜像
[root@svr7 ~]# mkdir /var/www/html/centos
[root@svr7 ~]# mount /dev/cdrom /var/www/html/centos/
四.部署无人值守安装,生成应答文件
安装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
利用Web服务共享应答ks文件
[root@svr7 ~]# cp /root/ks.cfg /var/www/html/
修改菜单文件
[root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
65 append initrd=initrd.img ks=http://192.168.4.207/ks.cfg
(责任编辑:IT) |