人生处万类,知识最为贤。这篇文章主要讲述DHCP实现批量装机相关的知识,希望能为你提供帮助。
DHCP概述?动态主机配置协议,用来简化主机IP地址分配管理。简单来说就是批量为主机分配IP地址。
- 主要分配以下入网参数:
- DHCP地址分配的四次会话(以广播进行,先到先得)
- DISCOVERY --> OFFER --> REQUEST --> ACK
- 一个网络中,只能有一台DHCP服务器
租期 | 允许客户机租用IP地址的时间期限,单位为秒 |
作用域 | 分配给客户机的IP地址所在的网段 |
地址池 | 用来动态分配的IP地址的范围 |
- 自动分配方式(AA):服务器为主机指定一个永久性的IP地址,客户端主机第一次成功租用到IP地址后可永久使用;
- 动态分配方式(DA):给主机指定具有时间限制的IP地址,时间到期或机主放弃该地址,该地址可被其他主机使用;
- 手工分配方式(MA):客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机;
部署dhcpd地址分配服务?1.安装DHCP软件?
[root@lidabai ~]# yum install -y dhcp
2.修改主配置文件?
[root@lidabai ~]# vim /etc/dhcp/dhcpd.conf
:r /usr/share/doc/dhcp*/dhcpd.conf.example#导入模板文件
subnet 192.168.2.0 netmask 255.255.255.0#52行,分配的网段
range 192.168.2.100 192.168.2.200; #分配的IP地址范围(开始到结束)
option domain-name-servers114.114.114.114; #分配的DNS
option routers192.168.4.254; #分配的网关地址
default-lease-time 600; #60秒的读秒时间
max-lease-time 7200; #最长租赁时间
3.重启dhcpd服务?
[root@lidabai ~]# systemctl restart dhcpd
[root@lidabai ~]# systemctl enable dhcpd #设置为开机自启
[root@lidabai ~]# systemctl status dhcpd #查看服务状态
网络装机的优势?
- 规模化:同时装配多台主机
- 自动化:装系统、配置各种服务
- 远程实现:不需要光盘、U盘等物理安装介质
PXE网络 ?作用:预启动执行环境,在操作系统之前运行;可用于远程安装
工作模式?
PXE client 集成在网卡的启动芯片中
当计算机引导时,从网卡芯片中把PXE client调入内存执行,获取PXE server配置、显示菜单,根据用户选择将远程引导程序下载到本机运行。
?
PXE需要的服务组件:?
- DHCP服务:分配IP地址、定位引导程序
- TFTP服务:提供引导程序下载
- HTTP(或FTP/NFS)服务:提供yum安装源
- 网卡芯片必须支持PXE协议
- 主板支持从网卡启动
网络装机服务器的构建
修改DHCP服务配置?
[root@lidabai ~]# vim /etc/dhcp/dhcpd.conf
Subnet 192.168.2.0 netmask 255.255.255.0
……
next-server 192.168.2.7; #指定下一个服务器IP地址
filename "pxelinux.0"; #指定网卡引导文件名称
pxelinux.0:网卡引导文件,网络安装说明书,二进制,安装一个软件即可获得
可改名。Tftp可提供该引导文件。
重启dhcpd服务?
[root@lidabai ~]# systemctl restart dhcpd
部署TFTP服务器?【DHCP实现批量装机】TFTP:简单的文件传输协议, 提供众多的引导文件默认端口:69?
- 默认共享数据路径:/var/lib/tftpboot (放共享文件)
- 软件:tftp-server
- 服务:tftp
[root@lidabai ~]# yum install-y tftp-server
2.重启TFTP服务(tftp)
[root@lidabai ~]#systemctl start tftp-server
3.部署pxelinux.0文件?
[root@lidabai ~]# yum provides */pxelinux.0 #查询仓库中那个软件包产生
syslinux-4.05-13.el7.x86_64 : Simple kernel loader which boots from a FAT filesystem
[root@lidabai ~]# yum -y install syslinux
[root@lidabai ~]# rpm -ql syslinux | grep pxelinux.0 #查询安装清单
[root@lidabai ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
pxelinux.0---> 读取菜单文件
4.部署菜单文件?
[root@lidabai ~]# mount /dev/cdrom /mnt
[root@lidabai ~]# mkdir /var/lib/tftpboot/pxelinux.cfg#创建菜单文件存放路径
[root@lidabai ~]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
5.部署内核与驱动程序?
[root@lidabai ~]# cp /mnt/isolinux/vmlinuz /var/lib/tftpboot/
[root@lidabai ~]# cp /mnt/isolinux/initrd.img /var/lib/tftpboot/
内核(vmlinuz)
驱动程序(initrd.img)
6.部署图形模块与背景图片?
[root@lidabai ~]# cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/
[root@lidabai ~]# cp /mnt/isolinux/splash.png /var/lib/tftpboot/
图形模块(vesamenu.c32)
背景图片(splash.png)
7.修改菜单文件的内容?
[root@lidabai ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
1 | default vesamenu.c32 #默认加载运行图形模块
2 | timeout 600 #读秒的时间,1/10秒
10| menu background splash.png #背景图片(可自定义)
11| menu title NSD2006 PXE Server #标题内容
61| label linux
62| menu label ^Install CentOS 7 #菜单显示内容
63| menu default(默认值) #读秒结束的默认选项
64| kernel vmlinuz #加载运行内核
65| append initrd=initrd.img #加载运行驱动程序
以下删除!
总结思路:
- DHCP服务---> IP地址、next-server、filename
- TFTP服务---> pxelinux.0
- pxelinux.0---> 读取菜单文件/var/lib/tftpboot/pxelinux.cfg/default
- default---> 图形模块、驱动程序、背景图片…
- ks.cfg应答文件à语言、键盘类型、分区、安装方式
8.初步测试 ?
1. 重新启动相关服务(dhcpd、tftp)
2.防止DHCP服务冲突,关闭Vmware软件dhcp功能
编辑→虚拟网络编辑器→更改设置→取消使用本地DHCP服务
3.新建一台全新的虚拟机(内存2G,其他正常选择)
4.修改虚拟机的网络类型
部署FTP服务 ?共享光盘所有内容?
FTP:文件传输协议默认端口:21
默认共享数据的路径:/var/ftp
软件包:vsftpd?
安装软件包(vsftpd)?
[root@lidabai ~]# yum install -y vsftpd
创建挂载点?
[root@lidabai ~]# mkdir /var/ftp/centos
[root@lidabai ~]# mount /dev/cdrom /var/ftp/centos
测试
[root@lidabai ~]# curl ??ftp://192.168.4.7/centos/
Kickstart自动应答 ?
无人值守、自动应答:预先提供应答文件,定义各种安装设置,
实现自动化安装;添加%post脚本,可执行安装后的各种配置。
安装图形的工具,生成应答文件?
生成应答文件,实现无人值守安装?
[root@lidabai ~]# yum -y install system-config-kickstart
注意:此环境于GUI环境,最小化安装需要安装图形界面(可网上扩展)
system-config-kickstart程序需要Yum仓库的支持才能显示软件包的选择,
必须要求Yum仓库的标识为[development]
[root@lidabai ~]# vim /etc/yum.repos.d/mydvd.repo
[development]
name=centos7
baseurl=file:///mydvd
enable=1
gpgcheck=0
首先查看“软件包选择”是否可用
—运行图形的工具system-config-kickstart 进行选择(给客户端的配置)
文本中于工作中安装!!!?
分区规划
查看保存的应答文件
[root@lidabai ~]# ls /root/ks.cfg
利用FTP服务共享ks.cfg应答文件?
[root@lidabai ~]# cp /root/ks.cfg /var/ftp/
[root@lidabai ~]# ls /var/ftp/
[root@lidabai ~]# curl ftp://192.168.4.7/ks.cfg #测试访问
利用菜单文件指定ks.cfg应答文件位置
[root@lidabai ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
64 kernel vmlinuz #指定获取应答文件
65 append initrd=initrd.img ks=ftp://192.168.4.7/ks.cfg
Cobbler装机平台?功能同pxe类似
推荐阅读
- openlayers 根据起点和终点半径画圆弧
- linux之xargs使用技巧
- 10分钟弄懂云原生网络功能,快来瞧瞧!
- 图论(graph)相关算法总结
- 附相关资料VMware Workstation 安装 CentOS7
- 利用盛科设备搭建BGP+EVPN实现VXLAN二层通道
- 大于8路SDI输入带触摸屏互动会议录播系统
- netty系列之:在netty中使用UDP协议请求DNS服务器
- 万字讲解数仓治理及成本管理