PXE如何实现自动化部署Linux系统介绍

 更新时间:2021年12月20日 08:57:34   作者:胖胖的Linux之路  
大家好,本篇文章主要讲的是PXE如何实现自动化部署Linux系统介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览

背景说明

在数据中心,一次几十台甚至几百台服务器上线,系统安装将变得非常麻烦,系统安装好了,还会涉及很多配置,工作量都非常大。很多虚拟化平台如VMware,FusionCompute等安装一般通过ISO逐台安装,或者通过厂商工具来安装,比较麻烦。

PXE is Pre-Boot Execution Environment # 预启动的执行环境
PXE 通过网卡引导的技术
1.BISO支持
2.网卡支持
3.需要在BIOS中开启;服务器BMC界面打开
部署一台服务器,在服务器上安装DHCP+tftp (DHCP提供动态获取IP)
网卡DCHP获取信息
DHCP除了分配ip地址 还能提供引导程序的名字和tftp的server的地址
引导程序加载到内存,根据配置文件来引导

思路:

配置yum源
关闭防火墙和selinux
安装dhcp,tftp-server,htppd,syslinux包
配置dhcp,tftp-server,并启动服务
安装system-config-kickstart包,并生成ks无人值守脚本
配置引导菜单

配置DHCP

挂载光盘

mount /dev/cdrom /media

配置yum源

. `vim dvd.repo
	[development]         #定义后期选包
	name=centos
	baseurl=file:///media
	gpgcheck=0
	enabled=1`

编辑DHCP文件(动态主机配置协议)

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf   #拷贝模板,覆盖掉conf文件
vim   /etc/dhcp/dhcpd.conf    #全局配置和子配置二选一,
   全局配置 # option definitions common to all supported networks...
  7 option domain-name "example.org";
  8 option domain-name-servers ns1.example.org, ns2.example.org;
  9 
 10 default-lease-time 600;
 11 max-lease-time 7200;
 12 next-server 192.168.100.10;   #指定tftpserver在哪里
 13 filename "/pxelinux.0";     #网络引导程序文件

 #  子配置  A slightly different configuration for an internal subnet.
 47 #子网配置
 48 subnet 192.168.100.0 netmask 255.255.255.0 {
 49   range 192.168.100.11 192.168.100.30;       #DHCP地址池的范围
 50   option domain-name-servers 192.168.100.2;  #DNS地址   (可以设置)
 51   option domain-name "example.com"; #域名地址
 52   option routers 192.168.100.1;     #网关地址
 53   option broadcast-address 192.168.100.255;  #广播地址
 54   default-lease-time 600;      #租约期  获取到的ip存活多长时间
 55   max-lease-time 7200;  #租约期到期,在的话就还可以用,不在自动回收
 56 }

tftp配置

[root@pxeserver ~]# vim /etc/xinetd.d/tftp 

# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no     ##yes修改为no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

syslinux配置

yum provides "*/pxelinux.0"     ##查找此文件属于那个软件包
yum install -y syslinux         #安装syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/    #复制pxelinux.0文件到tftp根目录下面
mkdir -p /var/lib/tftpboot/pxelinux.cfg      #安放default配置文件
cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default    ##开机文件cp到pxeLinux.cfg目录下
cp /media/isolinux/* /var/lib/tftpboot/        #cp安放iso文件,default来读取(安装菜单会显示)
此时还没有系统
配置default文件
menu separator # insert an empty line
menu separator # insert an empty line
 
label linux
  menu label ^Install CentOS 7.5   #菜单目录
  kernel vmlinuz      #内核文件
  append initrd=initrd.img ks=http://192.168.100.10/ks/ks.cfg

配置httpd

yum install -y httpd
systemctl start httpd
systemctl enable httpd
mkdir -p /var/www/html/centos
cp -rfv /media/* /var/www/html/centos/
[root@pxe-server ~]# cat /etc/yum.repos.d/dvd.repo 
[development]         #定义后期选包
name=centos
baseurl=http://192.168.100.10/centos
gpgcheck=0
enabled=1

配置无人值守

yum install -y system-config-kickstart
system-config-kickstart      #启动

ks.cfg文件具体配置如下:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
软件包可以根据自己的需求选着,我这里选着最小化安装,so就选着了一个Base包
根据自己的需求写脚本来实现功能

到此这篇关于PXE如何实现自动化部署Linux系统介绍的文章就介绍到这了,更多相关PXE自动化部署Linux内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • linux中的软连接和硬连接详解

    linux中的软连接和硬连接详解

    大家好,本篇文章主要讲的是linux中的软连接和硬连接详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Centos7上Mesos和Marathon的安装和配置

    Centos7上Mesos和Marathon的安装和配置

    这篇文章主要介绍了Centos7上Mesos和Marathon的安装和配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • win7下VMware虚拟机安装linux7.2上网配置教程

    win7下VMware虚拟机安装linux7.2上网配置教程

    这篇文章主要为大家详细介绍了win7下VMware虚拟机安装linux7.2上网配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • Linux下为PHP添加扩展库的方法

    Linux下为PHP添加扩展库的方法

    我刚刚开始学习lnmp环境,对php编译的参数基本上都不知道,在网上看了很多教程,看到在编译PhP的时候都还了很多参数,也在网上查了这些参数是什么意思,但是却不知道,哪些参数必须要加上,哪些参数不需要加
    2012-09-09
  • 详解如何在阿里云服务器部署程序并用域名直接访问

    详解如何在阿里云服务器部署程序并用域名直接访问

    这篇文章主要介绍了详解如何在阿里云服务器部署程序并用域名直接访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 简单谈谈centos7中配置php

    简单谈谈centos7中配置php

    windows server2008下搭建PHP运行环境,用IIS+PHP或者phpstudy,或wamp。今天试了试,在linux下搭建php运行环境。感觉还不错。
    2018-06-06
  • LNMP系列教程之一 添加域名建立站点

    LNMP系列教程之一 添加域名建立站点

    今天我在昨天安装过后的教程基础之后,添加我们需要的站点建立网站。虽然我们昨天在添加主域名的时候已经添加了域名,但远远是不够的,我们需要添加不同的域名建立多个网站
    2012-09-09
  • Linux系统中Tomcat环境配置方式

    Linux系统中Tomcat环境配置方式

    这篇文章主要介绍了Linux系统中Tomcat环境配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • APACHE 配置文件中文版 httpd.conf FOR Apache 2.2.13

    APACHE 配置文件中文版 httpd.conf FOR Apache 2.2.13

    APACHE配置文件中文版 httpd.conf FOR Apache 2.2.13 ,综合网上2.0版本的翻译,加入自己的理解,补充完善。
    2009-11-11
  • Ubuntu 18.04安装 pyenv、pyenv-virtualenv、virtualenv、Numpy、SciPy、Pillow、Matplotlib

    Ubuntu 18.04安装 pyenv、pyenv-virtualenv、virtualenv、Numpy、SciPy

    virtualenv 是一个创建隔绝的Python环境的工具。这篇文章主要介绍了Ubuntu 18.04安装 pyenv、pyenv-virtualenv、virtualenv、Numpy、SciPy、Pillow、Matplotlib的教程,需要的朋友可以参考下
    2019-11-11

最新评论