PXE kickstart自动化部署系统安装

目录
  • 准备环境
    • 第一步:安装DHCP服务
    • 第二步:安装tftp服务
    • 第三步:安装Apache网站服务
    • 第四步:编写ks文件
    • 第五步:创建客户机,测试安装

准备环境

系统: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自动化部署的资料请关注我们其它相关文章!

(0)

相关推荐

  • 详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统

    一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软

  • 使用PXE自动安装CentOS7.6的教程详解

    一.需求 基地新到300台服务器,需要自实施安装CentOS7.6版本操作系统,选择使用PXE进行批量安装. 二.准备工作 使用二层交换机连接未安装操作系统服务器,避免影响现网正常服务器. 上传操作系统镜像到服务器并安装PXE环境必备服务. 挂载镜像文件作为本地软件仓库. 环境准备 systemctl stop firewalld # 关闭防火墙 setenforce 0 # 临时设置SELINUX为宽松模式 sed -i '/^SELINUX=/s/.*/SELINUX=disabled/'

  • VMware实现PXE+kickstart无人值守安装Centos7系统的详细过程

    目录 PXE实现无人值批量部署服务器 1.1 什么是PXE 1.2 什么是KickStart 1. 3 安装的必要条件 二.PXE工作原理 2.1 工作原理 2.2 本次实验环境 2.3 执行PXE+KiskStart安装需要准备内容 三.安装步骤 3.1 配置YUM源 3.2 关闭防火墙.selinux 3.3 安装DHCP .tftp(tftp-server.xinetd) 3.3.1 安装dhcp.tftp-server.xinetd 3.3.2 配置DHCP服务 3.3.3 配置tftp

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

    目录 背景说明 配置DHCP 编辑DHCP文件(动态主机配置协议) tftp配置 syslinux配置 配置httpd 配置无人值守 背景说明 在数据中心,一次几十台甚至几百台服务器上线,系统安装将变得非常麻烦,系统安装好了,还会涉及很多配置,工作量都非常大.很多虚拟化平台如VMware,FusionCompute等安装一般通过ISO逐台安装,或者通过厂商工具来安装,比较麻烦. PXE is Pre-Boot Execution Environment # 预启动的执行环境 PXE 通过网卡引导

  • PXE kickstart自动化部署系统安装

    目录 准备环境 第一步:安装DHCP服务 第二步:安装tftp服务 第三步:安装Apache网站服务 第四步:编写ks文件 第五步:创建客户机,测试安装 准备环境 系统:centos7.4.1708 ip地址:eth0:192.168.10.31:eth1:172.16.1.31(可以使用单网卡) 防火墙:关闭 selinux:关闭 工具需求:dhcp:tftp:syslinux:apache:pykickstart 第一步:安装DHCP服务 安装服务: [root@kickstart ~]#

  • Gogs+Jenkins+Docker 自动化部署.NetCore的方法步骤

    环境说明 腾讯云轻量服务器, 配置 1c 2g 6mb ,系统是 ubuntu 20.14,Docker 和 Jenkins 都在这台服务器上面, 群晖218+一台,Gogs 在这台服务器上. Docker安装 卸载旧的 Docker sudo apt-get remove docker docker-engine docker.io containerd runc 更新 apt 包索引并安装包以允许 apt 通过 HTTPS 使用存储库 sudo apt-get update sudo apt

  • Node 自动化部署的方法

    当我们在更新迭代 Node 项目的时候,我们需要做以下几步: git push 将代码提交至代码仓库 在服务器中执行 git pull 拉取最新代码 pm2 start 运行你的代码 这样做固然没错,但是一旦项目更新迭代过快,就需要不断的重复着上面的步骤,在各种 bash 面板中来回切换,很是麻烦. 这时候,Webhooks 闪亮登场! 对于 Webhooks, Github 给出的解释是: Webhooks allow you to build or set up integrations w

  • Maven+Tomcat8 实现自动化部署的方法

    本文介绍了Maven+Tomcat8 实现自动化部署的方法,分享给大家,具体如下: 1.配置tomcat-users.xml 首先在Tomcat里配置deploy的用户(tomcat根目录/conf/tomcat-users.xml): <role rolename="tomcat"/> <role rolename="manager"/> <role rolename="manager-gui"/> <

  • 在Docker中自动化部署Ruby on Rails的教程

    基本的Rails应用程序 现在让我们启动一个基本的Rails应用.为了更好的展示,我使用Ruby 2.2.0和Rails 4.1.1 在终端运行: $ rvm use 2.2.0 $ rails new && cd docker-test 创建一个基本的控制器: $ rails g controller welcome index --,然后编辑 routes.rb ,以便让该项目的根指向我们新创建的welcome#index方法: root 'welcome#index' 在终端运行 r

  • 如何自动化部署项目?折腾服务器之旅~

    本篇文章讲的不是如何把一个项目部署上线,而是如何自动化上线. 开发了一个需求管理和发布系统. 通过这个系统,可以创建需求.创建发布计划.创建分支.部署到测试环境.部署到生产环境.正式上线.合并代码等. 一.功能设计 9.9元的阿里云服务器真的很慢,但还是足够折腾完这个项目. 用3个目录来模拟不同的环境. 目录 存放 project 存放所有的项目,比如本系统的前后端代码. pre-dir 预发环境,当然是用来测试的. pro-dir 生产环境,测试没问题,部署上线. 一图胜千言. 二.系统页面

  • window下使用Jenkins来做自动化部署的教程图解

    今天我们来说一下,如何使用Jenkins+powershell脚本,将我们的.NET CORE的脚本部署到对应的服务器上. 这里我们使用的源码管理工具是TFS.虽然源码管理器比较老旧,但是原理都差不多. 1.安装Jre,因为我们的Jenkins是基于java开发的,所以需要先在服务器上安装java的运行时环境 这个安装过程比较简单,百度下载JRE,然后安装,暂且不表. 下载地址:https://www.java.com/en/download/manual.jsp 2.下载并安装Jenkins,

随机推荐