PXE kickstart自动化部署系统安装

 更新时间:2022年3月19日 22:28  点击:421 作者:、重明

准备环境

系统:centos7.4.1708

ip地址:eth0:192.168.10.31;eth1:172.16.1.31(可以使用单网卡)

防火墙:关闭

selinux:关闭

工具需求:dhcp;tftp;syslinux;apache;pykickstart

第一步:安装DHCP服务

安装服务:

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

查看服务是否存在:

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

配置dhcp配置文件:

[root@kickstart ~]# cat >>/etc/dhcp/dhcpd.conf <<EOF
> subnet 192.168.10.0 netmask 255.255.255.0 {
> range 192.168.10.50 192.168.10.100;
> option subnet-mask 255.255.255.0;
> default-lease-time 21600;
> max-lease-time 43200;
> next-server 192.168.10.31;
> filename "/pxelinux.0";
> }
> EOF

启动dhcp服务:

[root@kickstart ~]# systemctl start dhcpd.service

查看状态:

[root@kickstart ~]# ss -utpln | grep dhcpd

udp    UNCONN     0      0         *:67                    *:*                   users:(("dhcpd",pid=1643,fd=7))

第二步:安装tftp服务

安装服务:

[root@kickstart ~]# yum -y install tftp-server

启动tftp服务:

[root@kickstart ~]# systemctl start tftp.socket

安装syslinux:不安装则找不到启动文件pxelinux.0

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

查找pxelinux.0文件的位置:

[root@kickstart ~]# rpm -ql syslinux | grep pxelinux.0
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0

复制pxelinux.0文件到tftp根目录

[root@kickstart ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

创建光盘挂载目录并挂载光盘:

[root@kickstart ~]# mkdir -p /var/www/html/centos7
[root@kickstart ~]# mount /dev/cdrom /var/www/html/centos7/
mount: /dev/sr0 is write-protected, mounting read-only

将光盘中isolinux下所有内容复制到tftp下:

[root@kickstart ~]# cp /var/www/html/centos7/isolinux/* /var/lib/tftpboot/

创建pxe配置文件存放目录:

[root@kickstart ~]# mkdir -p /var/lib/tftpboot/pxelinux.cfg

并将光盘中的pxe配置文件复制到新创建的目录中:

[root@kickstart ~]# cp /var/www/html/centos7/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

进入到目录中,将默认的配置文件进行备份:

[root@kickstart ~]# mkdir -p /var/www/html/centos7
[root@kickstart ~]# mount /dev/cdrom /var/www/html/centos7/
mount: /dev/sr0 is write-protected, mounting read-only

修改default文件:

[root@kickstart pxelinux.cfg]# vim default

(个人喜好,清空配置文件,编写简略版配置。清空光标后内容快捷键:dG)
配置文件如下:

[root@kickstart pxelinux.cfg]# cat default
#yyang centos7 ks install
default yyang-ks
timeout 5
prompt 0
label yyang-ks
  kernel vmlinuz
  append initrd=initrd.img inst.ks=http://192.168.10.31/ks_config/ks.cfg ksdevice=eth0 net.ifnames=0 biosdevname=0

(注:net.ifnames=0 biosdevname=0是把7版本的网卡换成eth名称)

第三步:安装Apache网站服务

安装服务:

[root@kickstart ~]# yum -y install httpd

启动服务;

[root@kickstart ~]# systemctl start httpd.service 

查看状态:

[root@kickstart ~]# ss -utpln | grep httpd
tcp    LISTEN     0      128      :::80                   :::*                   users:(("httpd",pid=2396,fd=4),("httpd",pid=2395,fd=4),("httpd",pid=2394,fd=4),("httpd",pid=2393,fd=4),("httpd",pid=2392,fd=4),("httpd",pid=2391,fd=4))

登录测试:http://192.168.10.31/centos7


看到以上内容说明网站服务配置成功

第四步:编写ks文件

(ks文件内容可参考anaconda-ks.cfg文件)
创建ks文件存放目录:

[root@kickstart ~]# mkdir -p /var/www/html/ks_config

进入目录,编写ks文件:

[root@kickstart ~]# cd /var/www/html/ks_config/
[root@kickstart ks_config]# vim ks.cfg

文件内容如下:(文件为参考anaconda-ks.cfg文件的简略编写版)

[root@kickstart ks_config]# cat ks.cfg 
#kickstart config for centos7 by yyang
lang en_US
keyboard us
timezone Asia/Shanghai
rootpw 123123
text
install
auth --enableshadow --passalgo=sha512
url --url="http://192.168.10.31/centos7"
bootloader --location=mbr
zerombr
clearpart --all --initlabel
part /boot --fstype xfs --size 1024 --ondisk sda
part swap --size 2048 --ondisk sda
part / --fstype xfs --size 1 --grow --ondisk sda
auth --useshadow --enablemd5
network --bootproto=dhcp --device=eth0 --onboot=on --ip=192.168.10.50 --netmask=255.255.255.0 --gateway=192.168.10.254 --nameserver=192.168.10.254 --hostname=yyang
network --bootproto=static --device=eth1 --onboot=on --ip=172.16.1.50 --netmask=255.255.255.0
reboot
firewall --disabled
selinux --disabled
skipx
%packages
@compat-libraries
@debugging
@development
vim
wget
tree
nmap
lrzsz
dos2unix
telnet
bash-completion
%end

安装ks文件检查工具:

[root@kickstart ks_config]# yum -y install pykickstart

检查ks文件是否正确:

[root@kickstart ks_config]# ksvalidator ks.cfg

(不显示任何内容代表正确)

第五步:创建客户机,测试安装

(注:新建虚拟机内存不低于2G)
(注:本人使用双网卡,且内网网卡使用的LAN区段,实验可只用一块网卡即可)

(出现这个页面,基本安装就不会出现什么问题了)

在这里插入图片描述

出现登录界面,安装成功

以上就是PXE kickstart自动化部署系统安装的详细内容,更多关于PXE kickstart自动化部署的资料请关注猪先飞其它相关文章!

原文出处:https://yyang.blog.csdn.net/article/details/99548017

[!--infotagslink--]

相关文章

  • zabbix v3.0安装部署全过程详解

    这篇文章主要介绍了zabbix v3.0安装部署全过程,文中通过一步步的步骤和图文介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。...2021-05-07
  • 部署PHP时的4个配置修改说明

    以下就是部署PHP时的4个配置修改说明,大家一个一个进行学习研究。1、short_open_tag 是什么呢? 决定是否允许使用代码开始标志的缩写形式(<&#63; &#63;> )。如果要和 XML 结合使用PHP,可以禁用此选项以便于嵌入使用<&#63;x...2015-10-21
  • 教你如何用Jenkins自动化部署项目(从零到搭建完成)

    这篇文章主要介绍了教你如何用Jenkins自动化部署项目(从零到搭建完成),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-08
  • JavaScript 实现自己的安卓手机自动化工具脚本(推荐)

    这篇文章主要介绍了 JavaScript 实现自己的安卓手机自动化工具脚本,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-05-14
  • Jenkins+tomcat自动发布的热部署/重启及遇到的问题解决办法(推荐)

    这篇文章主要介绍了Jenkins+tomcat自动发布的热部署/重启及遇到的问题解决办法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-10
  • docker部署confluence的完整步骤

    这篇文章主要介绍了docker部署confluence的完整步骤,这里的镜像并不是小编自己写的是基于他人打包的文中有详细介绍,需要的朋友可以参考下...2021-06-11
  • shell脚本多实例部署nginx的详细教程

    周一今天给大家分享shell脚本多实例部署nginx的详细教程,文章通过实例代码脚本给大家详细介绍,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧...2021-10-26
  • 使用Maven 搭建 Spring MVC 本地部署Tomcat的详细教程

    这篇文章主要介绍了使用Maven 搭建 Spring MVC 本地部署Tomcat,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-08-16
  • Tomcat首次部署web项目流程图解

    这篇文章主要介绍了Tomcat首次部署web项目流程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-12-11
  • react自动化构建路由的实现

    这篇文章主要介绍了react自动化构建路由的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-23
  • idea配置springboot热部署终极解决办法(解决热部署失效问题)

    这篇文章主要介绍了idea配置springboot热部署终极解决办法(解决热部署失效问题),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧...2020-07-22
  • 详解如何使用Docker部署Django+MySQL8开发环境

    这篇文章主要介绍了详解如何使用Docker部署Django+MySQL8开发环境,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-07-19
  • Docker部署Rancher的方法(无坑)

    这篇文章主要介绍了Docker部署Rancher的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-06
  • 你不知道的SpringBoot与Vue部署解决方案

    这篇文章主要介绍了你不知道的SpringBoot与Vue部署解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-09
  • .NET 5 部署在docker上运行的方法

    这篇文章主要介绍了.NET 5 部署在docker上运行的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-06
  • Springboot入门案例及部署项目的详细过程

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程,本文给大家分享一个入门案例使用Springboot1.5.9搭建,具体配置部署过程跟随小编一起看看吧...2021-07-12
  • C#创建、部署、调用WebService图文实例详解

    本文主要用详细的图文给大家介绍C#创建、部署、调用WebService的全部过程以及中间需要避免的问题。...2020-06-25
  • Python接口自动化浅析登录接口测试实战

    本文主要接好了python接口自动化的接口概念、接口用例设计及登录,跟随本文章来进行一个接口用例设计及登录接口测试实战,有需要的朋友可以参考下...2021-08-25
  • 自动化工具saltstack mine自定义收集minion信息

    本文我们来分享一下自动化配置和管理工具saltstack mine如何通过自定义收集minion的状态及应用场景的,对minion开发感兴趣的朋友可以看一下。 mine是做什么? 就...2016-11-25
  • ZooKeeper的安装及部署教程

    Zookeeper是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等,这篇文章主要介绍了ZooKeeper的安装及部署,需要的朋友可以参考下...2020-06-25