其他分享
首页 > 其他分享> > 0304、批量装机环境[1-3]、配置PXE引导[4]、kickstart自动应答[6]、Cobbler装机平台

0304、批量装机环境[1-3]、配置PXE引导[4]、kickstart自动应答[6]、Cobbler装机平台

作者:互联网

目录

一、构建DHCP服务器

1、安装软件包

2.修改配置文件 

二、网络装机服务器简介

三、配置DHCP服务

 四、配置tftp服务,传输众多的引导文件

1、安装软件

2、部署pxelinux.0文件

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

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

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

6、修改菜单文件内容

五、构建FTP服务,提供光盘内容

1.安装软件包

2.建立挂载点

3.测试

六、实现无人值守安装,生成应答文件

1、安装system-config-kickstart图形的工具

2、 利用FTP服务共享应答文件

3.修改菜单文件,指定应答文件获取方式

总结思路:   

复查:

测试:



  1. 开机启动项:计算机开机的时候,从什么地方读取操作系统数据?
    1. 硬盘
    2. U盘
    3. 光驱设备
    4. 网卡进行网络装机

一、构建DHCP服务器

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

主要分配以下入网参数:
IP地址/子网掩码/广播地址
默认网关地址、DNS服务器地址

DHCP地址分配的四次会话(以广播形式进行,先到先得)
DISCOVERY -->  OFFER  -->  REQUEST  --> ACK

一个网络中只能有一台DHCP服务器:
在虚拟机B构建网络装机时,关闭虚拟机A的DHCP服务,避免冲突

1、安装软件包

[root@svr7 /]# yum  -y   install   dhcp

2.修改配置文件 

[root@svr7 /]# vim    /etc/dhcp/dhcpd.conf
末行模式下 
 :r    /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   8.8.8.8;            #分配DNS
option  routers   192.168.4.254;                       #分配的网关地址
default-lease-time   600;
max-lease-time  7200;
}
[root@svr7 /]# systemctl   restart   dhcpd

二、网络装机服务器简介

规模化:同时装配多台主机

自动化:装系统、配置各种服务

远程实现:不需要光盘、U盘等物理安装介质

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

工作模式:
    PXE client 集成在网卡的启动芯片中

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

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

三、配置DHCP服务

[root@svr7 /]# vim   /etc/dhcp/dhcpd.conf
此处省略一万字……
  next-server    192.168.4.7;    #下一个服务器的IP地址
 
filename    "pxelinux.0";     #指明网卡引导文件名称
}

[root@svr7 /]# systemctl   restart   dhcpd
pxelinux.0:
网卡引导文件(网络装机说明书)
                     二进制文件,安装一个软件可以获得该文件

 四、配置tftp服务,传输众多的引导文件

tftp:简单的文件传输协议     默认端口:69
tftp默认共享的主目录:/var/lib/tftpboot

1、安装软件

[root@svr7 /]# yum   -y   install   tftp-server
[root@svr7 /]# systemctl  restart   tftp

2、部署pxelinux.0文件

]# yum   provides   "*/pxelinux.0"   #查询哪个包产生该文件
]# yum  -y  install   syslinux    #安装syslinux软件包
]# rpm -ql syslinux  |  grep  pxelinux.0 #查询软件包安装清单
]# cp  /usr/share/syslinux/pxelinux.0    /var/lib/tftpboot/
]# ls   /var/lib/tftpboot/
     pxelinux.0  

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

[root@svr7 /]# ls   /mydvd/isolinux/        #查看光盘内容
[root@svr7 /]# mkdir   /var/lib/tftpboot/pxelinux.cfg
[root@svr7 /]# ls  /var/lib/tftpboot/
[root@svr7 /]# cp  /mydvd/isolinux/isolinux.cfg     /var/lib/tftpboot/pxelinux.cfg/default
[root@svr7 /]# ls  /var/lib/tftpboot/pxelinux.cfg/

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

[root@svr7 /]# cp  /mydvd/isolinux/vesamenu.c32      /mydvd/isolinu /splash.png     /var/lib/tftpboot/

[root@svr7 /]# ls   /var/lib/tftpboot/
pxelinux.0     splash.png
pxelinux.cfg   vesamenu.c32

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

[root@svr7 /]# cp   /mydvd/isolinux/vmlinuz   /mydvd/isolinux/initrd.img   /var/lib/tftpboot/
[root@svr7 /]# ls    /var/lib/tftpboot/
initrd.img   pxelinux.0   pxelinux.cfg   splash.png   vesamenu.c32   vmlinuz

6、修改菜单文件内容

[root@svr7 /]# 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  NSD   PXE    Server       #菜单界面的标题
此处省略一万字……..
61 label  linux
62   menu label  ^Install  CentOS 7    #界面显示内容
63   menu  default           #读秒结束后默认的选项
64   kernel  vmlinuz          #加载内核
65   append  initrd=initrd.img    #加载驱动程序
以下全部删除                        

五、构建FTP服务,提供光盘内容

  FTP:文件传输协议    默认端口:21
  默认共享数据的主目录:/var/ftp

1.安装软件包

[root@svr7 /]# yum -y  install  vsftpd
[root@svr7 /]# systemctl  restart   vsftpd

2.建立挂载点

[root@svr7 /]# mkdir   /var/ftp/centos
[root@svr7 /]# mount   /dev/cdrom     /var/ftp/centos
mount: /dev/sr0 写保护,将以只读方式挂载
[root@svr7 /]# ls    /var/ftp/centos

3.测试

[root@svr7 /]# curl    ftp://192.168.4.7/centos/

六、实现无人值守安装,生成应答文件

1、安装system-config-kickstart图形的工具

[root@svr7 /]# yum -y install  system-config-kickstart
[root@svr7 /]# system-config-kickstart    #运行
system-config-kickstart程序需要Yum仓库的支持才能显示软件包的选择,必须要求Yum仓库的标识为[development]
[root@svr7 /]# vim   /etc/yum.repos.d/mydvd.repo 
[development]

name=centos7
baseurl=file:///mydvd         
enabled=1
gpgcheck=0
[root@svr7 /]# system-config-kickstart 

首先查看“软件包选择”是否可用

 —运行图形的工具system-config-kickstart 进行选择
[root@svr7 ~]#  system-config-kickstart

ftp://192.168.4.7/centos 

 重新划分新的分区:

 

[root@svr7 /]# ls   /root/ks.cfg    
/root/ks.cfg
[root@svr7 /]# vim   /root/ks.cfg

2、 利用FTP服务共享应答文件

[root@svr7 /]# cp   /root/ks.cfg    /var/ftp/
[root@svr7 /]# ls   /var/ftp/
centos  ks.cfg  pub
[root@svr7 /]# systemctl   restart    vsftpd
[root@svr7 ~]# curl  ftp://192.168.4.7/ks.cfg

3.修改菜单文件,指定应答文件获取方式

[root@svr7 /]#vim   /var/lib/tftpboot/pxelinux.cfg/default
……..此处省略一万字
label linux
menu label ^Install  CentOS  7
menu  default
kernel vmlinuz
append initrd=initrd.img  
 ks=ftp://192.168.4.7/ks.cfg

总结思路:   

1.dhcp服务 ---> IP地址、next-server、filename   "pxelinux.0"

2.tftp服务 --->  "pxelinux.0"

3.pxelinux.0 ---> 读取菜单文件/var/lib/tftpboot/pxelinux.cfg/default

4.default ---> vesamenu.c32、读秒时间、vmlinuz、initrd.img、ftp://192.168.4.7/ks.cfg

                            图形模块、背景图片、内核、驱动程序…..

5.ks.cfg应答文件 ---> 语言、键盘类型、分区、安装方式url --url="ftp://192.168.4.7/centos"

复查:

1、防火墙、SELinux关闭
[root@svr7 ~]# systemctl stop firewalld
[root@svr7 ~]# getenforce
Permissive
2、[root@svr7 ~]# vim /etc/dhcp/dhcpd.conf       检查--filename "pxelinux.0"; --是否书写正确

3、Tftp服务提供数据
[root@svr7 ~]# ls /var/lib/tftpboot/

initrd.img(驱动程序)       pxelinux.cfg (菜单文件所在目录)   vesamenu.c32(图形模块)

pxelinux.0(网卡引导文件)  splash.png(背景图片)    vmlinuz(内核)

4、 tftp服务提供数据菜单文件
  [root@svr7 ~]# ls /var/lib/tftpboot/pxelinux.cfg/default 

5、服务的启动
    [root@svr7 ~]# systemctl restart dhcpd
   
[root@svr7 ~]# systemctl restart tftp
    [root@svr7 ~]# systemctl restart vsftpd

6、虚拟机svr7网卡选择的网络类型
     KVM:private1
    

    VMware:  网络适配器  自定义(vmnet1)
    

 7.测试本机是否能够访问应答文件与光盘内容

[root@svr7 ~]# curl  ftp://192.168.4.7/ks.cfg

[root@svr7 ~]# curl  ftp://192.168.4.7/centos/

测试:

KVM测试:

 

 

 

 

 

 Vmware虚拟机测试:

1、重启相关的服务

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

2、关闭VMware软件的DHCP服务

 

 3、新建虚拟机,内存2G,网络类型选项vmnet1

 

 

 菜单界面的显示

标签:kickstart,lib,cfg,tftpboot,svr7,自动应答,装机,var,root
来源: https://blog.csdn.net/weixin_56619848/article/details/123641420