超简单!!小白级 PXE 实现无人值守批量安装教程

__author__: Tresser

__date__: 2017/4/9 03:50

# 此文较长, 请细心看完, 一定可以成功!!

实验环境:

主机: CentOS 6.5 x86 虚拟机


准备工作:

1. 本地 yum 仓库

2. DHCP 服务器

3. TFTP 服务器

4. FTP/NFS/HTTP 服务器(这里我以 NFS 服务器为例)

5. ks.cfg 文件

6.创建 pxelinux 的配置文件 


1. 本地仓库的搭建:

mkdir -p /var/ftp/pub/Centos6/

umount /dev/sr0

mount /dev/sr0 /mnt/cdrom

cp -avr /mnt/cdrom/* /var/ftp/pub/Centos6/

这里, 我们先创建了一个 Centos6 的目录用来作为批量安装的仓库, 之后的主机将从这里获得需要安装的软件包和相关文件

然后, 重新挂载了光盘, 将光盘里的内容全部拷贝到 Centos6 这个目录里


2. DHCP 服务器的搭建:

只有当客户端获得IP地址之后才能从网络安装服务器获得所需的文件, 为了给客户端分配 IP, 需要 DHCP 服务.


yum -y install dhcp

chkconfig dhcpd on

vi /etc/dhcp/dhcpd.conf

service dhcpd restart

这里, 先用 yum 安装好 dhcp 包, 编辑该配置文件, 我的主机 IP 是 192.168.9.101, 所以, 请确保你的子网与你的主机在同一个网段(此处即 9.0网段)

最后两句话的作用必须要写, 稍后再做说明.


3. TFTP 服务器的搭建:

TFTP 用来传送一些琐碎的小文件, 或网络设备配置文件以及远程启动文件, 监听 udp:69 端口

在这个安装过程中用于提供客户启动需要的 pxelinux.0  vmlinuz  initrd.img 文件


yum -y install tftp tftp-server

vi /etc/xinetd.d/tftp

chkconfig tftp on

chkconfig xinetd on

service xinetd restart

netstat -antup | grep 69

这里, 先安装好 TFTP 软件包, 由于 TFTP 依赖于 xinetd, 所以修改完配置文件后启动 xinetd 即可, 使用 netstat 命令查看主机是否有

监听 69 端口


4. 搭建 NFS 服务器:

yum -y install nfs-utils

vi /etc/expoprts

service nfs restart

重启后可以自己测试下 nfs 服务器是否搭建成功

mount -t nfs 192.168.9.101:/var/ftp /mnt/nfs

SELinux 可能会报错, 处理办法可参照我之前的博文, 实在不会就把 SELinux 关了吧


5. ks.cfg 文件的生成:

设置 kickstart 就是设置对即将安装的新系统的配置, 客户端会读取 ks.cfg文件, 根据里面的配置来安装新系统

yum -y install  pykickstart

yum -y install system-config-kickstart

system-config-kickstart (图形界面需要!)





点击保存之后, 将生成的文件保存到 /var/ftp 下


6. pxelinux 的配置文件:

pxe 启动引导器pxelinux.0 在 syslinux 包中,  把它拷贝到 /var/lib/tftpboot/ 下, 客户机会从此目录读取该文件

yum -y install syslinux

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot

我们告诉客户端使用 vmlinuz 作为内核, 并且使用 initrd.img 作为初始的 ramdisk 镜像

cp /mnt/cdrom/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/

mkdir /var/lib/tftpboot/pxelinux.cfg

cd /var/lib/tftpboot/pxelinux.cfg

cp /mnt/cdrom/isolinux/isolinux.cfg ./default

通过这个 default 文件告诉客户机从什么内核引导, 以及在引导时向内核传递的任何选项,

vi default:

*ks 选项是 redhat/centos 独有的 kickstart 安装机制, 通过这个选项从主机的nfs获取数据


7. 重启各项服务:

记得在 /etc/dhcp/dhcpd.conf 添加上文提过的两行内容

next-server 选项指定初始启动文件存放的主机

filename 选项指定启动时载入的初始启动文件

service dhcpd restart

service nfs restart

service xinetd restart


测试 PXE 网络安装服务器:

新建一个空白虚拟机:


开启之后, 进入BIOS选择 PXE 引导启动(可略过)



至此, PXE 网络安装服务器已经完成!


总结---PXE启动过程:

1. 引导系统, 在 BIOS 中设置 PXE 启动引导

2. 客户端广播并得到了一个IP地址, 以及引导文件的名称和位置

3. 客户端联系TFTP服务器, 请求该引导文件, 并得到该文件

4. 引导文件启动, 在此联系TFTP服务器, 获得 default 文件, 该文件告诉客户端如何引导

    客户端根据 default 的指示, 获得指定的内核文件 vmlinuz 和 ramdisk 镜像

5. 使用内核与 ramdisk 镜像进行 kickstart 无人值守安装 



 


  • 7
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Blood_Seeker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值