批量装机环境 配置PXE引导 kickstart自动应答 Cobbler装机平台

· 批量装机环境
· 配置PXE引导
· kickstart自动应答
· Cobbler装机平台

构建DHCP服务器
· Dynamic Host Configuration Protocol

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

· 主要分配以下入网参数

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

· DHCP地址分配的四次会话(以广播的新式进行,先到先得)
DISCOVERY(客户端发起请求给DHCP服务器)–>OFFER(DHCP服务器发给客户端IP地址)–>REQUEST(客户端回应给DHCP服务器)–>ACK(DHCP的最终确认)

  • 一个网络中只能有一台DHCP服务器,如果由多台DHCP服务器会可能会导致DHCP分配的IP地址发生冲突
1. 装包
yum -y install dhcp

2. 修改配置文件
vim /etc/dhcp/dhcpd.conf
将光标移动到最后一行,末行模式下
:r /usr/share/doc/dhcp*/dhcpd.conf.example		将文件/usr/share/doc/dhcp*/dhcpd.conf.example内容导入打开的文本文件中
	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 routers 192.168.4.254;				# 分配网关地址
	  default-lease-time 600;
	  max-lease-time 7200;
	}

3. 启动服务
systemctl restart dhcpd
  • DHCP初始化配置文件内容
    在这里插入图片描述

网络装机服务器简介

· 规模化 : 同时装备多台主机
· 自动化 : 装系统、配置各种服务
· 远程实现 : 不需要光盘、U盘等物理安装介质

什么是PXE网络

· PXE,Pre-boot eXecution Environment

  • 预启动执行环境,在操作系统之前运行
  • 可用于远程安装

· 工作模式

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

· 网络装机服务器 :

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

· PXE 组件及过程分析
在这里插入图片描述

批量装机思路

- 1. dhcp服务: IP地址、next-server、filename pxelinux.0		 # 给客户端一个IP地址,告诉客户端去tftp服务找pxelinux.0文件
- 2. tftp服务: pxelinux.0									# tftp服务提供pxelinux.0文件
- 3. pxelinux.0 : /var/lib/tftpboot/pxelinux.cfg/default(菜单文件)	# pxelinux.0文件指引客户端读取菜单文件
- 4. default : 图形模块、背景图片、内核、驱动程序、指定应答文件路径... 
     ftp://192.168.4.7/ks.cfg	
- 5. ks.cfg应答文件 : 语言、键盘类型、分区、安装方式url--
	 url = ftp://192.168.4.7/centos		安装操作系统

1. 配置DHCP服务

修改DHCP配置文件
vim /etc/dhcp/dhcpd.conf
	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 routers 192.168.4.254;				# 分配网关地址
	  default-lease-time 600;
	  max-lease-time 7200;
	  next-server 192.168.4.7;					# 下一个服务器的IP地址
  	  filename "pxelinux.0";					# 指明网卡引导文件名称
	}

pxelinux.0 : 网卡引导文件(网络装机说明书),一个二进制文件,安装一个软件可以获得

启动DHCP服务
systemctl restart dhcpd

2. 配置tftp服务(传输众多的引导文件)

  • tftp :简单的文件传输协议 默认端口:69
  • tftp :默认共享的主目录:/var/lib/tftpboot
1. 安装软件
yum -y install tftp-server

2. 无需配置,直接启动服务
systemctl restart tftp

3. 部署pxelinux.0文件
yum provides */pxelinux.0		 查询哪个包产生pxelinux.0文件
# Filename    : /usr/share/syslinux/pxelinux.0
# Filename    : /var/lib/tftpboot/pxelinux.0
yum -y install syslinux				安装syslinux软件包
rpm -ql syslinux | grep pxelinux.0		查询软件包安装清单
# /usr/share/syslinux/gpxelinux.0
# /usr/share/syslinux/pxelinux.0
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/	将光盘文件复制到默认共享的主目录
ls /var/lib/tftpboot/
# pxelinux.0

2.1 部署菜单文件(将光盘的菜单文件进行复制)

ls /mydvd/isolinux		
# boot.cat  grub.conf   isolinux.bin  memtest     TRANS.TBL     vmlinuz
# boot.msg  initrd.img  isolinux.cfg  splash.png  vesamenu.c32
mkdir /var/lib/tftpboot/pxelinux.cfg
ls /var/lib/tftpboot/
# pxelinux.0  pxelinux.cfg
cp /mydvd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default		将光盘文件复制并改名成default
ls /var/lib/tftpboot/pxelinux.cfg/
# default

2.2 部署图形模块(vesamenu.c32)与背景图片(splash.png)

cp /mydvd/isolinux/vesamenu.c32 /mydvd/isolinux/splash.png /var/lib/tftpboot	将两个光盘文件复制到默认共享目录
ls /var/lib/tftpboot/
# pxelinux.0  pxelinux.cfg  splash.png  vesamenu.c32

2.3 部署启动内核(vmlinuz)与驱动程序(initrd.img)

cp /mydvd/isolinux/vmlinuz /mydvd/isolinux/initrd.img /var/lib/tftpboot/		将两个光盘文件复制到默认共享目录
ls /var/lib/tftpboot/
initrd.img  pxelinux.0  pxelinux.cfg  splash.png  vesamenu.c32  vmlinuz

2.4 修改菜单文件内容

vim /var/lib/tftpboot/pxelinux.cfg/default
:set nu				显示行号
  1 default vesamenu.c32		默认加载运行图形模块
  2 timeout 600					读秒时间60秒,1/10秒

 10 menu background splash.png		背景图片
 11 menu title PXE 1996				菜单界面的标题(改名成PXE 1996)

 61 label linux						菜单的选择
 62   menu label ^Install CentOS 7		界面显示内容CentOS 7系统
 	  menu default					(在第62行后新增一行)读秒结束后默认的选择
 63   kernel vmlinuz				加载内核
 64   append initrd=initrd.img ks=ftp://192.168.4.7/ks.cfg	
#    	加载驱动   访问该服务器的ftp,将会获得一个ks.cfg文件(指定应答文件的获取方式)

 
我们本次测试只需要安装CentOS 7系统,把65行以下的其他选择全部删除即可
我们本次装机是通过网络实现的,第64行后面部分 inst.stage2=hd:LABEL=CentOS\x207\    x20x86_64 quiet 这些是光盘安装系统才会需要的,我们直接删除即可

2.5 初步测试

1. 重启dhcp服务和tftp服务
systemctl restart dhcpd
systemctl restart tftp

2. 关闭虚拟机本身的DHCP服务(防止虚拟机的dhcp服务器跟我们搭建的dhcp服务器产生冲突)

3. 新建一台没有操作系统的虚拟机,内存2G,网络类型选项vmnet1
内存不设置2G,网络装机有可能会装不上去
网络类型选项vmnet1(仅主机模式),虚拟机A的网络类型也是vmnet1(仅主机模式),这样设置主要是为了跟虚拟机A进行连接
  • 新建测试虚拟机的基本配置
    在这里插入图片描述

  • 启动虚拟机菜单页面显示
    在这里插入图片描述

如果界面有问题,那么我们排错思路:
1. 查看DHCP服务配置文件
filename "pxelinux.0"
2. 查看/var/lib/tftpboot目录内容
ls /var/lib/tftpboot/
# initrd.img  pxelinux.0  pxelinux.cfg  splash.png  vesamenu.c32  vmlinuz
3. 菜单文件名称
ls /var/lib/tftpboot/pxelinux.cfg/
# default

构建FTP服务(提供光盘内容)

  • FTP: 文件传输协议 默认端口:21
  • 默认共享数据的主目录 :/var/ftp
1. 安装软件包
yum -y install vsftpd
systemctl restart vsftpd

2. 建立挂载点
mkdir /var/ftp/centos
mount /dev/cdrom /var/ftp/centos
ls /var/ftp/centos

3. 测试
curl ftp://192.168.4.7/centos/

环境处理

  • 如果我们的Xshell一直启动不了图形界面,需要在电脑上先安装Xmanager;
  • Xshell 7连接Xmanager 7需要处理软件之间的依赖关系,需要先在虚拟机安装xorg-x11-xauth
yum -y install xorg-x11-xauth
  • centos7中的kickstart需要使用自己的包仓库(否则在配置程序时,无法加载软件包选择),这时我们只需要在/etc/yum.repo.d/目录下编辑一个名叫develop的仓库
vim /etc/yum.repos.d/development.repo
    [development]
	name=development
	baseurl=file:///mydvd		# 必须是yum仓库的挂载点
	gpgcheck=0

3. 实现无人值守安装,生成应答文件

  • 安装system-config-kickstart图形工具
yum -y install system-config-kickstart
system-config-kickstart			运行图形工具
  • 配置步骤
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 将生成应答文件保存到执行文件目录中
我们将文件保存到root目录下,查看目录内容
ls /root
# anaconda-ks.cfg  ks.cfg

cp /root/ks.cfg /var/ftp/		将应答文件保存到ftp的执行文件目录中
ls /var/ftp/
# centos  ks.cfg  pub

测试

  • 启动一台没有装操作系统的虚拟机,可以实现自动装机
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值