PXE高批量网络装机

拓展开机过程

服务器的引导方式(boot)

按下电源

自检(post)

读取bios中引导设备(光驱、硬盘、优盘、网卡)

加载引导程序

加载初始化镜像

加载内核

systemd(init):守护进程,systemctl start

进程树

PXE(Preboot eXecution Environment,预启动执行环境)并结合 Kickstart 配置实现无人值守自动安装

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

条件

  1. 客户机的网卡支持 PXE 协议(集成 BOOTROM 芯片),且主板支持网络引导,rarp(反向地址解析)
  2. 网络中有一台 PXE 服务器(dhcp服务器)以便为客户机自动分配地址、指定引导文件位置
  3. 服务器通过 TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载

一、搭建PXE远程安装服务器

将VMware的虚拟网卡的DHCP功能关掉

注意:本案例需要带有桌面环境的服务器

1:搭建PXE远程安装服务器(linux01上)

        CentOS7的网络安装源一般通过 HTTP、FTP 协议发布,另外也支持 NFS(NetworkFile System,网络文件系统)协议;若使用FTP协议发布安装源可以在服务器上部署一个YUM软件仓库

(1)构建vsftpd服务,并部署centos7安装源
[root@localhost ~]# rm -rf /etc/yum.repos.d/*.repo
[root@localhost ~]# vim /etc/yum.repos.d/centos7.repo
[development]
name=Red Hat Enterprise Linux
baseurl=file:///media/cdrom/
enabled=1
gpgcheck=0

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# yum -y install ftp vsftpd
[root@localhost ~]# mkdir /var/ftp/centos7
[root@localhost ~]# cp -rf/media/cdrom/* /var/ftp/centos7/
[root@localhost ~]# systemctl start vsftpd    

注意:Yum配置文件的id部分必须设置为[development],否则在kickstart中找不到软件包信息

(2)构建TFTP服务,并准备好引导程序、引导菜单、Linux内核、初始化镜像
[root@localhost ~]# yum -y install tftp-server
[root@localhost ~]# vim /etc/xinetd.d/tftp
service tftp
{
        …… 
        protocol                = udp            //TFTP 采用 UDP 传输协议
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot          //指定 TFTP 根目录
        disable                 = no            //是否禁用改为no
        ……
}
[root@localhost ~]# systemctl start tftp
##安装Linux内核、初始化镜像文件
[root@localhost ~]# cd /media/cdrom/images/pxeboot/
[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/   //拷贝内核和镜像  
##准备PXE引导程序
[root@localhost ~]# yum -y install syslinux    \\安装pxe程序
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/    \\拷贝引导程序pxelinux.0

备注:TRANS.TBL:文件名转换表文件,在制作ISO映像文件时在每个目录中生成的文件,记录每个目录中所包含的文件名

(3)构建DHCP服务
[root@localhost ~]# yum -y install dhcp
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.10.0 netmask 255.255.255.0 {
  option domain-name-servers ns1.internal.example.org;
  option domain-name "internal.example.org";
  option routers 192.168.4.1;
  option broadcast-address 192.168.4.255;
  default-lease-time 600;
  range 192.168.10.100 192.168.10.200;    ##地址池范围
  max-lease-time 7200;
  next-server 192.168.10.101;        ##图形桌面的IP地址
  filename "pxelinux.0";            ##指定引导范围
}
[root@localhost ~]# systemctl start dhcpd
(4)配置启动菜单文件
[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default   \\创建
default auto                    //指定默认入口名称
prompt 1                    //1 表示等待用户控制
label auto
    kernel vmlinuz
    append initrd=initrd.img method=ftp://192.168.10.101/centos7        ##图形安装(默认),地址为服务器地址

label linux text
    kernel vmlinuz
    append text initrd=initrd.img method=ftp://192.168.10.101/centos7        ##文本安装,地址为服务器地址

label linux rescue
    kernel vmlinuz
    append rescue initrd=initrd.img method=ftp://192.168.10.101/centos7        ##救援模式,地址为服务器地址
2:实现Kickstart无人值守安装
(1)安装system-config-kickstart软件包
[root@localhost ~]# yum -y install system-config-kickstart

(2)运行kickstart配置程序,按实验要求创建ks.cfg应答文件

      • 在图形桌面环境中,按Alt+F2组合键后输入system-config-kickstart并点运行,或者打开桌面菜单“应用程序”→“系统工具”→“kickstart”

1.基本配置及安装方法

2.分区信息

3.网络配置及防火墙配置

在“网络配置”界面中,添加一个网络设备“ens33”,将网络类型设为“DHCP”在“防火墙配置”界面中,可以选择禁用 SELinux、禁用防火墙

4.软件包选择

如果看不到软件包选择,需要将yum源配置文件中括号中的内容改为development

5.安装脚本

在“预安装脚本"界面、“安装后脚本"界面中,可以分别添加在安装前、安装后自动运行的可执行语句。此项设置使服务器的自动化配置变得更加容易

6.设置应答文件
将应答文件复制到centos7安装源所在的FTP目录下
[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default auto                    //指定默认入口名称
prompt 0                    //1 表示等待用户控制,这次改成0默认
label auto
    kernel vmlinuz
    append ks=ftp://192.168.10.101/ks.cfg initrd=initrd.img method=ftp://192.168.10.101/centos7        ##图形安装(默认),添加服务器地址的FTP下ks.cfg地址

label linux text
    kernel vmlinuz
    append text initrd=initrd.img method=ftp://192.168.10.101/centos7        ##文本安装

label linux rescue
    kernel vmlinuz
    append rescue initrd=initrd.img method=ftp://192.168.10.101/centos7        ##救援模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值