热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

1分钟快速装机100台

目录一、pxe远程安装服务1、概念2、优点3、前提条件4、基本部署过程5、客户机和服务机的工作流程6、搭建PXE远程服务环境第一步:配置双网卡一个作

目录

一、pxe远程安装服务

1、概念

2、优点

3、前提条件

4、基本部署过程

5、客户机和服务机的工作流程

6、搭建PXE远程服务

环境

第一步:配置双网卡一个作用是dhcp,一个是使用网络源安装环境包

 第二步、安装并启用DHCP服务

第三步、安装并启用TFTP服务

第四步、准备PXE引导程序的pxelinux.0 ,引导客户端如何安装系统

第五步、配置启动菜单文件

第六步、安装ftp服务,准备centos7安装源

二、实现kickstart自动安装

1、概念

2、实现Kickstart无人值守安装

第一步、安装客户机,选择仅主机模式,和我们前面服务器设置的同一网段

 第二步、安装程序和添加ks引导参数

第三步、定义自动化安装步骤(服务器端)

 第四步、配置软件包,需要编辑ks.cfg文件,添加至最后

第五步、就是重新启动你要得客户机,它就会自己安装了

总结


今天分享的内容虽然不常用,但是个人感觉很有趣,我前面分享过如何装虚拟机,但是我们每装一台都需要很长时间,今天就给大家分享一下pxe批量装机的方法

一、pxe远程安装服务

1、概念

PXE是由Intel 公司开发的网络引导技术,工作在 client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。

PKE严格来说并不是一种安装方式,而是一种引导的方式。进行 PXE安装的必要条件是要安装
的计算机中包含一个 PXE支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot ExecutionEnvironment)协议使计算机可以通过网络启动。

协议分为 client 和 server端,PXE client 在网卡的 ROM中,当计算机引导时,BIoS把 PKEclient 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。

运行 PXE协议需要设置 DHCP服务器和TFTP服务器。DHCP服务器用来给PXE client(将
要安装系统的主机)分配一个IP地址, 由于是给 PXE client 分配IP地址,所以在配置 DHCP服务器时需要增加相应的PXE 设置。

此外,在 PxE client 的 ROM中,已经存在了TFTP Client。PXE Client通过TFTP 协议到TFTP Server 上下载所需的文件。

2、优点

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

3、前提条件

客户机的网卡支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。

网络中有一台DHCP 服务器以便为客户机自动分配地址、指定引导文件位置。

服务器通过TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。

其中,第一个条件实际上是硬件要求,目前绝大多数服务器和大多数PC 都能够提供此支持,只需在BIOS设置中允许从Network或者LAN启动即可。

4、基本部署过程

准备CentOS 7安装源(YUM仓库)

安装并启用TFTP服务

提供Linux内核、PXE引导程序等

安装并启用DHCP服务

配置启动菜单

5、客户机和服务机的工作流程

PXE客户机发出DHCP请求,向DHCP服务器申请IP地址

DHCP服务器响应PXE客户机的请求,自动从IP地址池中分配一个IP地址给PXE客户机,且告知PXE客户机:TFTP服务器的IP地址和PXE引导程序文件pxelinux.0,默认在TFTP共享目录/var/lib/tftpboot/下

PXE客户机向TFTP服务器发起获取pxelinux.0引导程序文件的请求

TFTP服务器响应PXE客户机的请求,将其共享的pxelinux.0文件传输给PXE客户机

PXE客户机通过网络来启动到系统安装主界面

PXE客户机向文件共享服务器(ftp、http、nfs等)发起获取centos或windows系统安装文件的请求

文件共享服务响应PXE客户机的请求,将共享的系统安装文件传输给PXE客户机

PXE客户机进入到安装提示向导界面,用户需要手动来完成系统安装的操作


6、搭建PXE远程服务


环境

一台作为pxe服务器,一台作为裸金属客户机,绑定同一块网卡,裸金属客户机vmnet1网卡取消勾选dhcp配置关闭selinux和防火墙

一台主机

配置双网卡一个作用是dhcp,一个是使用网络源安装环境包
DHCP部署
tftp-server——服务器通过TFTP(简单文件传输协议)提供引导镜像文件的下载

syslinux——用来提供pxe的引导程序
xinetdl——用来托管tftp
vsftpd——用来放置安装镜像,通过ftp访问镜像安装7) kickstart /用来无人值守安装
 

第一步:配置双网卡一个作用是dhcp,一个是使用网络源安装环境包

 

 

 第二步、安装并启用DHCP服务

[root@localhost ~]# yum install dhcp -y
[root@localhost ~]# cp -rfp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc
/dhcp/dhcpd.confcp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf subnet 192.168.28.0 netmask 255.255.255.0 {range 192.168.28.10 192.168.28.100;option routers 192.168.28.28;next-server 192.168.28.28; #指定tftp服务器的地址(*)filename "pxelinux.0"; #指定pxe引导程序的文件名(*)
}[root@localhost ~]# systemctl start dhcpd
[root@localhost ~]# systemctl status dhcpd
[root@localhost ~]# systemctl enable dhcpd
[root@localhost ~]# systemctl is-enabled dhcpd

第三步、安装并启用TFTP服务

[root@localhost ~]# yum install tftp-server -y
[root@localhost ~]# vim /etc/xinetd.d/tftp #主要改disableservice tftp
{socket_type = dgramprotocol = udpwait = no
//wait no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接,表示是否开启多线程一起工作,否则需要等待user = rootserver = /usr/sbin/in.tftpdserver_args = -s /var/lib/tftpboot
//指定TFTP根目录(引导文件的存储路径) -c允许上传disable = no //disable no表示开启TFTP服务 per_source = 11
//通过限制一个主机的最大连接数,从而防止某个主机独占某个服务,这里每个IP地址的连接数是11个cps = 100 2
//表示服务器最多启动100个连接,如果达到这个数目将停止启动新服务2秒。在此期间不接受任何请求flags = IPv4
}[root@localhost ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# cd /mnt/images/pxeboot/
[root@localhost pxeboot]# ls
initrd.img TRANS.TBL vmlinuz
[root@localhost pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/[root@localhost pxeboot]# systemctl start tftp
[root@localhost pxeboot]# systemctl status tftp
[root@localhost pxeboot]# systemctl enable tftp
[root@localhost pxeboot]# systemctl is-enabled tftp

第四步、准备PXE引导程序的pxelinux.0 ,引导客户端如何安装系统

[root@localhost ~]# yum install syslinux -y
[root@localhost ~]# rpm -ql syslinux |grep pxelinux
/usr/share/doc/syslinux-4.05/pxelinux.txt
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/gpxelinuxk.0
/usr/share/syslinux/pxelinux.0
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

第五步、配置启动菜单文件

[root@localhost ~]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# ls
initrd.img pxelinux.0 vmlinuz
[root@localhost tftpboot]# mkdir pxelinux.cfg
[root@localhost tftpboot]# ls
initrd.img pxelinux.0 pxelinux.cfg vmlinuz
[root@localhost tftpboot]# vim pxelinux.cfg/default
[root@localhost tftpboot]# cat pxelinux.cfg/default
default auto #指定默认入口名称 ,对应下面的label auto
prompt 1 #设置是否等待用户选择,1 表示等待用户控制,0表示不等待用 户控制,安装时会出现boot:如果按回车表示选择auto模式label auto #默认的图形安装kernel vmlinuz append initrd=initrd.img method=ftp://192.168.28.28/centos7label linux text #文本安装模式,出现boot:时输入linux textkernel vmlinuz append text initrd=initrd.img method=ftp://192.168.28.28/centos7label linux rescue #救援模式,出现boot:时输入linux rescuekernel vmlinuz append rescue initrd=initrd.img method=ftp://192.168.28.28/centos7

第六步、安装ftp服务,准备centos7安装源

[root@localhost ~]# yum install vsftpd -y
[root@localhost ~]# mkdir /var/ftp/centos7
[root@localhost ~]# cp -rf /mnt/* /var/ftp/centos7[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl status vsftpd
[root@localhost ~]# systemctl enable vsftpd
[root@localhost ~]# systemctl is-enabled vsftpd

二、实现kickstart自动安装

1、概念

KickStart是一种无人职守安装方式。KickStart的工.作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为 ks.cfg 的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart 生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。
这样,如果Kickstart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉
安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。
 

2、实现Kickstart无人值守安装


第一步、安装客户机,选择仅主机模式,和我们前面服务器设置的同一网段

 第二步、安装程序和添加ks引导参数

[root@localhost tftpboot]# yum install system-config-kickstart -y[root@localhost tftpboot]# vim pxelinux.cfg/default
[root@localhost tftpboot]# cat pxelinux.cfg/default
default auto
prompt 0 #自动label autokernel vmlinuz append initrd=initrd.img method=ftp://192.168.28.28/centos7 ks=ftp://192
.168.28.28/ks.cfglabel linux textkernel vmlinuz append text initrd=initrd.img method=ftp://192.168.28.28/centos7 ks=ftp:
//192.168.28.28/ks.cfglabel linux rescuekernel vmlinuz append rescue initrd=initrd.img method=ftp://192.168.28.28/centos7 ks=ft
p://192.168.28.28/ks.cfg

第三步、定义自动化安装步骤(服务器端)

 

 

 

 

 

 第四步、配置软件包,需要编辑ks.cfg文件,添加至最后

[root@localhost ftp]# cd /root
[root@localhost ~]# ls
anaconda-ks.cfg 公共 视频 文档 音乐
initial-setup-ks.cfg 模板 图片 下载 桌面
[root@localhost ~]# vim anaconda-ks.cfg

[root@localhost ~]# vim /var/ftp/ks.cfg #添加刚刚的配置到行尾systemctl restart vsftpd && systemctl restart dhcpd && systemctl restart tftp

第五步、就是重新启动你要得客户机,它就会自己安装了


总结

最后客户机安装的时候,因为我这边做的事例,所有需要配置同一网段,但是在公司里,我们基本都是在同一网段,所以我们只要开机就会自己安装系统了,是不是感觉100台也不够安装







推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 图片复制到服务器 方向变了_双服务器热备更新配置文件步骤问题及解决方法
    本文介绍了在将图片复制到服务器并进行方向变换的过程中,双服务器热备更新配置文件所出现的问题及解决方法。通过停止所有服务、更新配置、重启服务等操作,可以避免数据中断和操作不规范导致的问题。同时还提到了注意事项,如Avimet版本的差异以及配置文件和批处理文件的存放路径等。通过严格执行切换步骤,可以成功进行更新操作。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • Annotation的大材小用
    为什么80%的码农都做不了架构师?最近在开发一些通用的excel数据导入的功能,由于涉及到导入的模块很多,所以开发了一个比较通用的e ... [详细]
author-avatar
泉怪的皮毛_884
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有