pxe介绍:

PXE最直接的表现是,在网络环境下工作站可以省去硬盘,但又不是通常所说的无盘站的概念,因为使用该技术的pc在网络方式下的运行速度要比有盘PC快3倍以上。当然使用PXE的PC也不是传统意义上的TERMINAL终端,因为使用了PXE的PC并不消耗服务器的CPU,RAM等资源,故服务器的硬件要求极低。

工作原理:

当计算机引导时,BIOS把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行

基于PXE自动安装系统所需组件

1) syslinux

提供适用于不同的操作系统的各种bootloader文件,支持DOSFATfilesystems、Linux ext2/ext3 filesystems(EXTLINUX)、 PXEnetwork boots(PXELINUX)、ISO 9660 CD-ROMs (ISOLINUX);基于网卡引导的bootloader由其提供文件/usr/share/syslinux/pxelinux.0

2) tftp-server服务

基于UDP文件传输,一般该服务器仅用于PXE预引导加载环境。用于提供预引导加载文件pxelinux.0的读取。

3) DHCP服务器

DHCP动态主机配置协议会在预引导加载操作系统的时候动态自动分配一个IP地址,同时完成网络加载的主机的设定;需要在其地址池subnet配置中配置一下参数:

filename "pxelinux.0";

基于网卡引导时要加载的initial  boot file的文件名;

next-server  HOST;

要是一个tftp-servr,简单文件传输协议

4) file server(FTP, HTTP, NFS)

提供安装镜像文件

下面搭建一台pxe服务器: 实现centos7.2的安装

准备工作: 关selinux、firewalld、 配置本地源 、隔离网络{   配置一个IP地址(这个网段网络里不能有DHCP分配)}

1、关selinux和firewalld

[root@node06 ~]# setenforce 0

[root@node06 ~]# getenforce

Disabled

[root@node06 ~]#

[root@node06 ~]# systemctl stop firewalld

配置本地源

[root@node06 ~]#mkdir /backup

[root@node06 ~]#mv /etc/yum.repos.d/C* /backup

[root@node06 ~]#mount /dev/sr0 /mnt

[root@node06 ~]# cat /etc/yum.repos.d/centos.repo

[centos]

name=centos

baseurl=file:///mnt

enabled=1

gpgcheck=0

配置ip地址

[root@node06 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eno16777736

TYPE=Ethernet

BOOTPROTO=none

PEERDNS=yes

IPADDR=192.168.91.201

PREFIX=24

GATEWAY=192.168.91.1

DNS1=114.114.114.114

NAME=eno16777736

DEVICE=eno16777736

ONBOOT=yes

[root@node06 ~]#

2、安装软件

[root@pxe ~]# yum install -y dhcp tftp-server xinetd syslinux vsftpd

3、 通过FTP服务共享centos7u2光盘中所有文件

[root@pxe ~]# mkdir /var/ftp/centos7u2

[root@pxe ~]# cp -r /mnt/* /var/ftp/centos7u2/ &

[root@pxe ~]# systemctl start vsftpd

[root@pxe ~]# systemctl enable vsftpd

Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

[root@pxe ~]#

[root@pxe ~]# ss -antp | grep :21

LISTEN     0      32          :::21                      :::*                   users:(("vsftpd",pid=2658,fd=3))

4、配置DHCP服务

[root@pxe ~]# vim /etc/dhcp/dhcpd.conf

subnet 192.168.87.0 netmask 255.255.255.0 {

range 192.168.87.10 192.168.87.20;

next-server 192.168.87.101;

filename "pxelinux.0";

}

[root@pxe ~]# systemctl start dhcpd

[root@pxe ~]# systemctl enable dhcpd

Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.

[root@pxe ~]#

[root@pxe ~]# ss -anup | grep :67

UNCONN     0      0            *:67                       *:*                   users:(("dhcpd",pid=2768,fd=8))

5)、配置tftp服务

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

[root@pxe isolinux]# cp /mnt/isolinux/* /var/lib/tftpboot/

[root@pxe tftpboot]# pwd

/var/lib/tftpboot

[root@pxe tftpboot]# mkdir pxelinux.cfg

[root@pxe tftpboot]# cp isolinux.cfg pxelinux.cfg/default

[root@pxe tftpboot]# vim pxelinux.cfg/default

label linux

menu label ^Install CentOS7u2

kernel vmlinuz

append initrd=initrd.img inst.stage2=ftp://192.168.87.101/centos7u2 inst.repo=ftp://192.168.87.101/centos7u2

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

disable = no

[root@pxe ~]# systemctl restart xinetd

[root@pxe ~]# systemctl enable xinetd

[root@pxe ~]#

[root@pxe ~]# ss -anup | grep 69

UNCONN     0      0            *:69                       *:*                   users:(("xinetd",pid=3084,fd=5))

部署kickstart文件实现系统的自动安装

Kickstart 安装选项:    包含语言,防火墙,密码,网络,分区的设置等;

%Pre  部分: 安装前解析的脚本,通常用来生成特殊的ks配置,比如由一段程序决定磁盘分区等;

%Package 部分:安装包的选择,可以是 @base  这样的组的形式,也可以是这样 http-* 包的形式;

%Post  部分: 安装后执行的脚本,通常用来做系统的初始化设置。比如启动的服务,相关的设定等。

方法1) anaconda-ks.cfg

方法2) system-config-kickstart

# yum install -y system-config-kickstart

使用kickstart文件

1、拷贝到ftp根目录共享

2、编辑菜单文件

[root@pxe tftpboot]# vim pxelinux.cfg/default    -----> 看好红色标记

label linux

menu label ^Install CentOS7u2

kernel vmlinuz

appendinitrd=initrd.imginst.stage2=ftp://192.168.87.101/centos7u2   inst.repo=ftp://192.168.87.101/centos7u2 ks=ftp://192.168.87.101/centos7.cfg

=========================================================

Kickstart参考示例

1) root密码

2) url安装源

3) 安装后脚本

centos7

install

keyboard 'us'

rootpw --iscrypted $1$Pycmorhc$UEfuito8Jp5yabiiDV.6U/

timezone Asia/Shanghai

url --url="ftp://192.168.2.128/centos7u2"

lang en_US

firewall --disabled

selinux --disabled

auth  --useshadow  --passalgo=sha512

text

skipx

network  --bootproto=dhcp --device=eth0

reboot

bootloader  --location=mbr

zerombr

clearpart --all --initlabel

part /boot --fstype="xfs" --size=1024

part swap --fstype="swap" --size=2048

part / --fstype="xfs" --grow --size=1

%packages

@^minimal

@core

httpd

vim-ehnah*

bash-com*

%end

%post

mkdir /etc/yum.repos.d/bak

mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak

wget ftp://192.168.2.128/centos7.repo -P /etc/yum.repos.d

%end

本文转自 北冥有大鱼  51CTO博客,原文链接:http://blog.51cto.com/lyw168/1957637,如需转载请自行联系原作者

自动化运维工具之pxe+kickstart相关推荐

  1. 轻量级自动化运维工具ansible之一:初步介绍及简单运用

    一.常见的自动化运维工具: OS Provisioning:PXE, Cobbler OS Config:puppet, saltstack, chef, func Task Exec:fabric, ...

  2. 自动化运维工具Ansible

    ansible简介: ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批 ...

  3. 自动化运维工具----ansible

    自动化运维工具----ansible ansible是新出现的运维工具是基于Python研发的糅合了众多老牌运维工具的优点实现了批量操作系统配置.批量程序的部署.批量运行命令等功能. 主要模块以及功能 ...

  4. 简单介绍自动化运维工具clip

    Clip是一款自动化运维工具,适用于海量服务器的管理场景,可以降低系统误操作风险,提高工作效率等.Clip将传统的IP管理纬度替换为String管理纬度,管理方式的改变使海量运维时更加的便捷.可靠与高 ...

  5. 轻量级自动化运维工具Fabric的安装与实践

    一.背景环境 在运维工作中,经常会遇到重复性的劳动,这个时候为了效率就必须要使用自动化运维工具. 这里我给大家介绍轻量级自动化运维工具Fabric,Fabric是基于Python语言开发的,是开发同事 ...

  6. mysql 自动化运维工具_MySQL使用工具Inception实现自动化运维

    MySQL使用工具Inception实现自动化运维 发布时间:2020-05-27 17:11:14 来源:51CTO 阅读:180 作者:三月 下面一起来了解下MySQL使用工具Inception实 ...

  7. 自动化运维工具Puppet(管理资源)

    接上文<自动化运维工具Puppet>http://kaliarch.blog.51cto.com/8966921/1973736 利用模块与模版管理agent端资源 一.模块管理 环境安装 ...

  8. mysql 自动化运维工具_部署MySQL自动化运维工具inception+archer

    *************************************************************************** 部署MySQL自动化运维工具inception+ ...

  9. python开发web运维工具_【实战小项目】python开发自动化运维工具--批量操作主机...

    有很多开源自动化运维工具都很好用如ansible/salt stack等,完全不用重复造轮子.只不过,很多运维同学学习Python之后,苦于没小项目训练,本篇演示用Python写一个批量操作主机的工具 ...

最新文章

  1. 51nod 1102 【单调栈】
  2. JAVA-初步认识-第十三章-多线程(验证同步函数的锁)
  3. Vue3.0 备受热捧!2020 前端开发进阶必读
  4. Spring中注册Bean的方式有哪些?
  5. mysql首字母排序_mysql 按字段的首字母排序及查询
  6. lingo17.0软件工具
  7. 最近发现的一个c# winform的一个很好用很强大的excel控件 reogrid控件
  8. vue项目中引入vuex------初试
  9. php生成手机桌面快捷方式,php三种创建桌面快捷方式
  10. zabbix server更换IP地址
  11. 计算机无法读取手机内存,手机内存卡不能读取如何解决
  12. 在线制作生成装逼工具微信小程序源码
  13. 2021年HSP律所代理品牌侵权案件合集,赶紧查看避免踩坑
  14. scratch双语教师课件文档手册 2.scratch模块介绍
  15. 阿里云Linux下python3的安装及环境配置(详细教程)
  16. Linux脚本:Bash脚本看这一篇就够了
  17. C#实现繁体简体转换方法总结|ASP.NET.分享
  18. 参考文献起止页码怎么写_参考文献书写格式
  19. php爬虫爬取校园新闻,python爬虫获取校园网新闻
  20. 三、matlab绘制三维坐标图

热门文章

  1. JSP程序设计实训(一)—— JSP概述
  2. linux内核radeon gpu源码解析1 —— 什么是radeon
  3. 外接显示器音频输出自动静音
  4. Vulkan Tutorial 4
  5. 2019 Java程序员(方向)
  6. 网络营销案例:一次成功的事件营销(QQ群)
  7. 360压缩for linux
  8. 无线网卡插上电脑没反应的解决办法
  9. 基于Linux的Spark安装与环境配置
  10. 自制app(游戏)Please Go之上传头像篇----萌新成长之路