Linux批量装机(PXE)!

 

一 、PXE 简介
PXE:Pre-boot Excution Environment,预启动执行环境
PXE 是由 Intel 公司开发的网络引导技术,工作在 Client/Server 模式,允许客户机通过网
络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。
若要搭建 PXE 网络体系,必须要满足以下条件:
*客户机的网卡支持 PXE 协议(集成 BOOTROM 芯片),且主板支持网络引导。
*网络中有一台 DHCP 服务器,以便为客户机分配地址、指定引导文件位置
服务器通过 TFTP(Trivial File Transfer Protocol)简单文件传输协议提供引导镜像文件的
下载。

1:部署FTP服务

[root@localhost~]#systemctl stop firewalld             //关闭防火墙

[root@localhost~]#setenforce 0                             //关闭安全机制

[root@localhost~]#iptables -F                                //清除规则

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

[root@localhost ~]# rpm -q vsftpd                                 
vsftpd-3.0.2-25.el7.x86_64

[root@localhost ~]# mkdir /var/ftp/centos7                  

[root@localhost ~]# mount /dev/sr0 /var/ftp/centos7/

 

[root@localhost ~]# du /var/ftp/centos7/

2508 /var/ftp/centos7/EFI/BOOT/fonts
8464 /var/ftp/centos7/EFI/BOOT
8468 /var/ftp/centos7/EFI
57848 /var/ftp/centos7/images/pxeboot
66556 /var/ftp/centos7/images
58232 /var/ftp/centos7/isolinux
442744 /var/ftp/centos7/LiveOS
3892616 /var/ftp/centos7/Packages
14660 /var/ftp/centos7/repodata
4483316 /var/ftp/centos7/

2:启动FTP服务、并设置为开机自启动

[root@localhost ~]# systemctl start vsftpd               //启动vsftpd服务
[root@localhost ~]# systemctl enable vsftpd           //开机自动vsftpd服务
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@localhost ~]# echo $?                                   //检测上一步命令是否成功为0成功非0出错
0

3:部署TFTP服务

[root@localhost ~]# yum -y install tftp-server              //安装tftp服务

[root@localhost ~]# rpm -q tftp-server          

[root@localhost ~]# vim /etc/xinetd.d/tftp                   //修改配置文件开启TFTP服务

[root@localhost ~]# systemctl start tftp           //启动TFTP服务
[root@localhost ~]# systemctl enable tftp       //开机自启TFTP服务
Created symlink from /etc/systemd/system/sockets.target.wants/tftp.socket to /usr/lib/systemd/system/tftp.socket.
[root@localhost ~]# echo $?

0

[root@localhost ~]# netstat -anput | grep 69        //检测端口号
udp6        0      0       :::69     :::*      1/systemd

4:准备相关文件以及PXE引导程序

 

[root@localhost ~]# cd /var/ftp/centos7/isolinux/                //准备linux内核,初始化镜像文件
[root@localhost isolinux]# cp vmlinuz initrd.img /var/lib/tftpboot/
[root@localhost isolinux]# ll /var/lib/tftpboot/
总用量 57844
-rw-r--r--. 1 root root 52584760 8月 21 15:41 initrd.img
-rwxr-xr-x. 1 root root 6639904 8月 21 15:41 vmlinuz

5:准备lickstart配置文件
[root@localhost isolinux]# cd /root
[root@localhost ~]# cp /root/anaconda-ks.cfg  /var/ftp/ks.cfg
[root@localhost ~]# chmod 777  /var/ftp/ks.cfg

[root@localhost ~]# ll /var/ftp/ks.cfg
-rwxrwxrwx. 1 root root 1569 8月 21 15:41  /var/ftp/ks.cfg

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

此处只添加如下命令什么都不删除

url --url=ftp://192.168.200.112/centos7             //指定安装源
#cdrom

6:准备PXE引导程序,启动菜单文件

[root@pxe ~]# yum -y install syslinux

[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0  /var/lib//tftpboot/
[root@localhost ~]# ls /var/lib/tftpboot/
initrd.img pxelinux.0 vmlinuz
[root@localhost ~]# cp /var/ftp/centos7/isolinux//isolinux.cfg  /var/lib/tftpboot/
[root@localhost ~]# chmod 664 /var/lib/tftpboot/isolinux.cfg
[root@localhost ~]# ll /var/lib/tftpboot/
总用量 57876
-rw-r--r--. 1 root root 52584760 8月 21 15:41 initrd.img
-rw-rw-r--. 1 root root 3032 8月 21 15:52 isolinux.cfg
-rw-r--r--. 1 root root 26759 8月 21 15:49 pxelinux.0
-rwxr-xr-x. 1 root root 6639904 8月 21 15:41 vmlinuz

7:创建PXE启动菜单
[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# mv /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot//pxelinux.cfg/default

[root@localhost ~]# ll -R /var/lib/tftpboot/
/var/lib/tftpboot/:
总用量 57872
-rw-r--r--. 1 root root 52584760 8月 21 15:41 initrd.img
-rw-r--r--. 1 root root 26759 8月 21 15:49 pxelinux.0
drwxr-xr-x. 2 root root 21 8月 21 15:54 pxelinux.cfg
-rwxr-xr-x. 1 root root 6639904 8月 21 15:41 vmlinuz

/var/lib/tftpboot/pxelinux.cfg:
总用量 4
-rw-rw-r--. 1 root root 3032 8月 21 15:52 default

8:修改PXE启动菜单,指定安装源位置PXE和ks.fg文件位置

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

此处只修改与添加不删任何东西

第一行修改:default linux

第二行添加:prompt 0

第三行修改:timeout 600

label linux
menu label ^Install CentOS 7
kernel vmlinuz
第六十五行修改:append initrd=initrd.img ks=ftp://192.168.200.112/ks.cfg

9:部署DHCP服务

9.1:安装DHCP服务

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

[root@localhost ~]# rpm -q dhcp
dhcp-4.2.5-68.el7.centos.1.x86_64

9.2:修改DHCP配置文件

[root@localhost ~]# cat /usr/share/doc/dhcp*/dhcpd.conf.example > /etc/dhcp/dhcpd.conf
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf

内容只剩如图所示其余全部删除

ption domain-name "pxe.yunban.cn";
option domain-name-servers 192.168.200.112;        //此处填写本机ip

default-lease-time 21600;                          //默认租约6小时
max-lease-time 43200;                              //最长租约12小时
subnet 192.168.200.0 netmask 255.255.255.0 {
range 192.168.200.120 192.168.200.200;             //ip池120到200,新建虚拟机在ip池中随机选择
next-server 192.168.200.112;
filename "pxelinux.0";
}                                                  //此处不加分号结尾

[root@bogon ~]# systemctl restart dhcpd

开启客户端测试

******内存改为2G,CD/DVD为自动检测(目的让新虚拟机自动获取IP及NETMASK地址)



 

转载于:https://www.cnblogs.com/cxm123123form/p/11390668.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值