个人笔记-PXE-kickstart自动化部署系统

简介: 个人笔记-PXE-kickstart自动化部署系统

准备环境

系统: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 ~]# cd /var/lib/tftpboot/pxelinux.cfg/
[root@kickstart pxelinux.cfg]# ls
default
[root@kickstart pxelinux.cfg]# cp default default.bak

修改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区段,实验可只用一块网卡即可)


2019081415152244_.png

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

20190814153545377_.png

出现登录界面,安装成功


目录
相关文章
|
1月前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
59 3
|
1月前
|
机器学习/深度学习 人工智能 机器人
智能废物管理系统:城市垃圾的自动化处理
【10月更文挑战第24天】智能废物管理系统利用物联网、大数据、人工智能和自动化机器人等技术,实现城市垃圾从分类、收集到处理的全过程自动化,提高处理效率,优化资源配置,提升居民参与度,降低运营成本,推动城市可持续发展。
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的办公自动化管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的办公自动化管理系统附带文章源码部署视频讲解等
47 0
|
16天前
|
运维 监控 网络协议
自动化运维的魔法——打造高效、可靠的系统
【10月更文挑战第32天】在数字化时代的浪潮下,运维不再是简单的硬件维护和故障排除。它已经演变成一场关乎效率、稳定性和创新的技术革命。自动化运维,作为这场革命的核心,正引领着企业走向更加智能和高效的未来。本文将带你探索自动化运维的世界,揭示其背后的原理和实践,让你领略到自动化带来的无限可能。
24 0
|
1月前
|
运维 监控 安全
构建高效运维体系:从监控到自动化的全面指南在当今数字化时代,运维作为保障系统稳定性和效率的重要环节,其重要性不言而喻。本文将深入探讨如何构建一个高效的运维体系,从监控系统的搭建到自动化运维的实施,旨在为读者提供一套完整的解决方案。
本文详细介绍了高效运维体系的构建过程,包括监控系统的选择与部署、日志分析的方法、性能优化的策略以及自动化运维工具的应用。通过对这些关键环节的深入剖析,帮助运维人员提升系统的可靠性和响应速度,降低人工干预成本,实现业务的快速发展和稳定运行。
|
1月前
|
运维 Prometheus 监控
运维中的自动化实践每月一次的系统维护曾经是许多企业的噩梦。不仅因为停机时间长,更因为手动操作容易出错。然而,随着自动化工具的引入,这一切正在悄然改变。本文将探讨自动化在IT运维中的重要性及其具体应用。
在当今信息技术飞速发展的时代,企业对系统的稳定性和效率要求越来越高。传统的手动运维方式已经无法满足现代企业的需求。自动化技术的引入不仅提高了运维效率,还显著降低了出错风险。本文通过几个实际案例,展示了自动化在IT运维中的具体应用,包括自动化部署、监控告警和故障排除等方面,旨在为读者提供一些实用的参考。
|
2月前
|
存储 弹性计算 运维
自动化监控和响应ECS系统事件
阿里云提供的ECS系统事件用于记录云资源信息,如实例启停、到期通知等。为实现自动化运维,如故障处理与动态调度,可使用云助手插件`ecs-tool-event`。该插件定时获取并转化ECS事件为日志存储,便于监控与响应,无需额外开发,适用于大规模集群管理。详情及示例可见链接文档。
使用装饰器实现自动化日志系统
使用装饰器实现自动化日志系统
|
3月前
|
运维 监控 应用服务中间件
自动化运维:打造高效、稳定的系统环境
【8月更文挑战第30天】本文将探讨如何通过自动化运维技术,提升系统的稳定性和效率。我们将从基础概念出发,逐步深入到实践应用,分享一些实用的工具和技术,以及如何将这些工具和技术融入到日常的运维工作中。无论你是运维新手,还是有一定经验的老手,都能在这篇文章中找到有价值的信息。让我们一起探索自动化运维的世界,提升我们的工作效率,让系统运行得更加平稳。
|
2月前
|
运维 监控 负载均衡
高效运维管理:如何通过自动化提升系统可靠性
本文探讨了如何通过自动化提升系统可靠性,包括自动化监控、自动化部署、自动化测试和自动化故障恢复四个方面。通过实际案例展示了自动化在运维中的应用效果,强调了团队建设与培训的重要性以及持续改进与优化的策略。
35 0