PXE高效批量网络装机

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

(1)构建vsftpd服务,并部署centos7安装源。

[root@localhost ~]# rm -rf /etc/yum.repos.d/*.repo

[root@localhost ~]# vi /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 ~]# vi /etc/xinetd.d/tftp

service tftp

{

        …… //省略部分信息

        disable                 = no

        …… //省略部分信息

}

[root@localhost ~]# systemctl start tftp

[root@localhost ~]# cd /media/cdrom/images/pxeboot/

[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/   \\拷贝内核和镜像

备注1:

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

备注2:

initrd.img的作用

initrd是“initial ramdisk”的简写。initrd一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态。initrd-2.4.7-10.img主要是用于加载文件系统及scsi设备的驱动。

  比如,使用的是scsi硬盘,而内核vmlinuz中并没有这个scsi硬件的驱动,那么在装入scsi模块之前,内核不能加载根文档系统,但scsi模块存储在根文档系统的/lib/modules下。为了解决这个问题,能够引导一个能够读实际内核的initrd内核并用initrd修正scsi引导问题。initrd-2.4.7-10.img是用gzip压缩的文档,initrd实现加载一些模块和安装文档系统等功能。

initrd映象文档是使用mkinitrd创建的。mkinitrd实用程式能够创建initrd映象文档。这个命令是RedHat专有的。其他Linux发行版或许有相应的命令。这是个很方便的实用程式。具体情况请看帮助:man mkinitrd下面的命令创建initrd映象文档。

如果不小心把/boot下的initrd文件删除了,用如下命令可以重建:

mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

[root@localhost ~]# yum -y install syslinux    \\安装pxe程序

[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/    \\拷贝引导程序pxelinux.0

[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg

[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default   \\创建

default auto

prompt 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

(3)构建DHCP服务,以便为192.168.10.0/24网段分配地址,并设置TFTP参数。

[root@localhost ~]# yum -y install dhcp

[root@localhost ~]# vi /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;

  filename "pxelinux.0";

}

[root@localhost ~]# systemctl start dhcpd

(4):创建虚拟机PXE网络安装系统

创建虚拟机时内存大一点(2G以上),否则会提示空间不足

2、 实现无人值守安装系统,创建安装应答文件

(1)安装system-config-kickstart软件包。

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

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

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

注意:

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

图形化界面配置后保存,文件名用默认的ks.cfg

[root@localhost ~]# grep -v ^# /root/ks.cfg

…… //省略部分信息

%post --interpreter=/bin/bash

rm -f /etc/yum.repos.d/*

echo '[base]

name=Red Hat Enterprise Linux

baseurl=ftp://192.168.4.254/centos7

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release' > /etc/yum.repos.d/centos7.repo

%end

%packages

@^minimal

%end

(3)将应答文件复制到centos7安装源所在的FTP目录下。

[root@localhost ~]# cp /root/ks.cfg /var/ftp/   

[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default

##添加红色部分,其余的删掉

default auto

prompt 0

label auto

  kernel vmlinuz

  append ks=ftp://192.168.10.101/ks.cfg initrd=initrd.img method=ftp://192.168.10.101/centos7

3、验证PXE网络装机

(1)将1台裸机连接到PXE服务器所在网络,并确认能够通过网络引导。

(2)打开裸机的电源,确认引导成功并自动安装好centos7系统。

新建虚拟机是内存大于2G,磁盘调的大一点,给个60G以上,

  • 34
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值