使用 [PXE] 半自动装机 ------进阶 KICKstart 自动化装机

基本部署过程

1. 准备centos7 安装源(YUM仓库)
2. 启用TFTP服务,并提供内核文件、引导程序
3. 启用DHCP服务,用来分配地址、指出引导程序位置
4. 配置启动菜单

5.TFTP服务及引导文件
安装tftp-server软件包,启用tftp服务
准备内核文件vmlinuz、初始化镜像initrd.img
准备引导程序文件pxelinux.0
 


首先下载需要的软件包:   yum -y  install  tftp. vaftpd. DHCP


1:  PXE基础装机环境

步骤一: 通过HTTP  or   FTP  方式发布CentOS7 软件源  < 此环境使用FTP 发布 >

1)  快速构建 ftp 服务器  (若已构建 此步可省略)

1[root@rootlocahost ~]#   yum -y install vsftpd                      //装包
2[root@rootlocahost ~]#   systemctl start vsftpd                    //开启ftp服务

2)  准备yum仓库,分到别挂载ftp子目录 and 本地  

ftp网页存放路径:  /var/ftp

1[root@rootlocahost ~]#  mkdir /var/ftp/yindao//创建ftp子目录
2[root@rootlocahost ~]# mount /dev/cdrom  /var/ftp/yindao//挂载到ftp子目录
3[root@rootlocahost ~]# mount /dev/cdrom /本地目录

//挂载到本地

步骤二: 确保yum仓库ftp资源可用

从计算机访问ftp://服务端IP地址,  可以看到仓库资源

下载 并配置 TFTP

TFTP 主配置文件:   /etc/xinetd.d/tftp

进入tftp 并修改配置

1[root@rootlocalhost ~]#  yum -y install  tftp// 下载 FTFP 服务
2[root@rootlocahost ~]#  vi /etc/xinetd.d/tftp//进入tftp主配置文件
3server_args             = -s /var/lib/tftpboot//默认tftp根目录
4 disable                    = no//修改

1[root@rootlocahost ~]#  systemctl start tftp// 打开TFTP服务
2[root@rootlocahost ~]#  systemctl enable tftp//设置开机自启动tftp
3[root@rootlocahost ~]#  netstat -anultp |grep 69//查看是否开启

步骤三:将内核文件 vmlinuz   初始化镜像 initrd.img 引导程序文件 pxelinux.0 复制至 TFTP根目录即< /var/lib/tftpboot >

Vmlinuz 内核文件

vmlinuz是可引导的、压缩的内核。“vm”代表 “Virtual Memory”。Linux 支持虚拟内存,Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz是可执行的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。
vmlinux是未压缩的内核,vmlinuz是vmlinux的压缩文件

initrd.img 初始化镜像

类RedHat 系统从vmlinuz 核心引导后,会读取initrd.img 启动镜像。该文件中包含驱动模块等信息,是非常重要的文件。不同版本使用的格式不同    ( aaa  为本地目录 )

Syslinux 引导加载程序

syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。不仅支持采用BIOS结构的主板,而且从6.0版也开始支持采用EFI结构的新型主板

1[root@rootlocahost ~]#  yum -y install syslinux//安装 Syslinux 引导程序
2

[root@rootlocahost ~]#  cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

//将pxelinux.0 复制到tftp根目录

步骤四: 配置 DHCP 服务 为PXE客户机分配IP地址

DHCP服务器基本概念:

DHCP租期:允许客户机租用IP地址的时间期限,单位为秒
DHCP作用域:分配给客户机的IP地址所在的网段
DHCP地址池:用来动态分配的IP地址的范围
DHCP服务端:软件包dhcp、系统服务dhcpd

DHCP服务端配置文件:/etc/dhcp/dhcpd.conf

配置文件详解

#全局配置
#动态dns更新(禁用)
ddns-update-style  none; 
#默认租约时间(秒)  
default-lease-time  21600; 
#最大租约时间 
max-lease-time  43200; 
#为客户机指定解析主机名时的默认搜索域  
#option domain-name  "domain.org"; 
#dns服务器地址
#option domain-name-servers  202.106.0.20; 


#子网段声明配置
#声明网段   
subnet 192.168.10.0 netmask 255.255.255.0 { 
      #设置地址池                   
     range       192.168.10.50 192.168.10.60 
    #子网掩码        
     option subnet-mask        255.255.255.0;  
      #默认网关地址          
     option routers            192.168.10.1;                   
}


1) 配置 DHCP 服务端

1[root@localhost ~]#  yum -y install dhcp//下载 dhcp 服务
2[root@localhost ~]#  vi /etc/dhcp/dhcpd.conf

//进入 dhcp 主配置文件

2)  建立dhcpd.conf 服务配置  

// next-server: 指定 TFTP 服务器地址

// fiilename:     指定要下载的引导程序文件

1[root@localhost ~]# vim /etc/dhcp/dhcpd.conf// j进入 DHCP 主配置文件并修改
2  subnet  192.168.10.0  netmask  255.255.255.0  {// 要分配的网段及掩码
3               range  192.168.10.10  192.168.10.20;// 分配地址的范围
4               next-server  192.168.10.1;//  指定 TFTP服务器地址
5               filename  "pxelinux";// 指定要下载的引导文件
6     }//  结束符号 与上面括号相对应

3) 启动服务 dhcpd 并设置开机自启动 查看端口号

1[root@localhost ~]#  systemctl  start  dhcpd//  开启 DHCP服务
2[root@localhost ~]#  systemctl  enable  dhcpd// 设置 DHCP服务自启动
3[root@localhost ~]#  netstat  -anput   |  grep  dhcpd// 确认 DHCP服务状态

步骤五: 配置启动菜单

1) 创建配置目录 并修改

[root@localhost ~]#  mkdir /var/lib/tftpboot/pxelinux.cfg// TFTP 根目录下创建文件
[root@localhost ~]#  vi /var/lib/tftpboot/pxelinux.cfg/default// 新建文件 并编辑
                                 default auto// 系统默认值      auto--默认
                                 prompt 1// 交互模式         1--交互 部分需手动操作
                                 label auto
                                  kernel vmlinuz// 指定 内核文件
                append initrd=initrd.img method=ftp://192.168.10.1/yindao// initrd.img--初始化镜像   method--指定安装源

验证PXE网络安装
注意:虚拟机实验中内存要调整为2G以上,否则报错!!
*为客户机安装系统
*调整BIOS设置,以便从网络引导
*自动获取IP地址,并指定RHEL 6安装源
*其余过程与本地安装相同


                                                


                                                             PXE +  kickstart   全自动化装机

基本原理:

kickstart无人值守技术
*创建应答文件,预先定义好各种安装设置
*免去交互设置过程,从而实现全自动化安装
*通过添加%post脚本,完成安装后的各种配置操作


步骤一: 首先需要下载 system-config-kickstart  软件包

1

[root@localhost ~]#  yum  -y  install  system-config-kickstart

//  下载软件包

步骤二: 创建应答文件 

使用 system-config-kickstart 命令创建应答文件, 会弹出图形配置界面


(1)基本配置
    @默认语言:中文简体
    @时区:Asia/Shanghai
    @root密码:123123
    @给root密码加密
    @安装后重启
  (2)安装方法
    @执行全新安装
    @ftp:ftp服务器 192.168.10.1
          ftp目录:centos
  (3)引导装载程序选项:安装新引导装载程序
  (4)分区信息:
    @ /boot 500MB
    @ /home 4GB
    @ /swap 2GB
    @ /     剩余所有空间
  (5)网络配置:
    添加网络ens33--dhcp模式
  (6)防火墙配置
    @ selinux 禁用
    @ 禁用防火墙
  
  (7)软件包选择(centos7系统不再提供软件包的选择

然后 文件-保存- /root/ks.cfg 


把最小化安装命令编辑到应答文件末尾 即 ks.cfg

末尾添加:
%packages
@^minimal
%end


1)  将应答文件部署在客户机可访问的位置
2)  修改启动菜单文件,调用应答文件        

1[root@localhost ~]#   cp /root/ks.cfg /var/ftp/ks.cfg//  将应答文件部署在客户机可访问的位置
2[root@localhost ~]#   vi /var/lib/tftpboot/pxelinux.cfg/default//  修改启动菜单
3                                      default auto
4                                      prompt 0// 交互模式  0--不需要手动安装 全自动化
5                                       label auto
6                                       kernel vmlinuz
7append initrd=initrd.img method=ftp://192.168.10.1/centos ks=ftp://192.168.10.1/ks.cfg
 
//  添加应答文件路径


     

验证自动安装
*虚拟机环境如果无法获得dhcp的ip,禁用VMware的dhcp服务
*将客户机以PXE方式引导
*之后会自动完成系统安装,并配置好软件仓库
*整个安装过程无需手动干预

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值