Centos7 实战Kickstart 批量系统部署

1、kickstart 使用背景介绍
大家想个问题,我们平时手动光盘安装一台linux系统的多久能完成?10分钟?半小时?1小时还是一上午?领导说小李明天到100台服务器你统一装成linux系统,周日交工。啊?100台?你是不是要哭了…… 于是乎,kickstart 自动化安装平台就诞生了,哇哈哈!
2、kickstart 原理
① PXE 客户端发送UDP广播请求
  PXE 客户端从自己的PXE网卡启动,通过PXE BootROM(自启动芯片)会以UDP(简单用户数据报协议)发送一个广播请求,向本网络中的DHCP服务器索取IP。
② DHCP服务器提供信息
  DHCP服务器收到客户端的请求,验证是否来至合法的PXE 客户端的请求,验证通过它将给客户端一个“提供”响应,这个“提供”响应中包含了为客户端分配的IP地址、pxelinux启动程序(TFTP)位置,以及配置文件所在位置。
③ PXE客户端请求下载启动文件
  客户端收到服务器的“回应”后,会回应一个帧,以请求传送启动所需文件。这些启动文件包括:pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img等文件。
④ TETP服务器响应客户端请求并传送文件
  当服务器收到客户端的请求后,他们之间之后将有更多的信息在客户端与服务器之间作应答, 用以决定启动参数。BootROM由TFTP通讯协议从tftp服务器 下载启动安装程序所必须的文件(pxelinux.0、pxelinux.cfg/default)。default文件下载完成后,会根据该文件中定义的引导顺序,启动Linux安装程序的引导内核。
⑤ 请求下载自动应答文件
  客户端通过pxelinux.cfg/default文件成功的引导Linux安装内核后,安装程序首先必须确定你通过什么安装介质来安装linux,如果是通过网络安装(NFS, FTP, HTTP),则会在这个时候初始化网络,并定位安装源位置。接着会读取default文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。
⑥ 客户端安装操作系统
  将ks.cfg文件下载回来后,通过该文件找到http镜像,并按照该文件的配置请求下载安装过程需要的软件包。
  http镜像和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。
  安装完成后,将提示重新引导计算机。

所有要使用kickstart安装平台,完整架构包括(dhcp、http、tftp、pxe)等

3、kickstart 平台搭建
基于yum安装dhcp、tftp、httpd服务,
yum install httpd httpd-devel tftp-server xinetd dhcpd -y

 1)配置tftp服务,开启tftp服务
 修改配置文件 /etc/xinetd.d/tftp 如下:
 cat>/etc/xinetd.d/tftp<<EOF
    service tftp
                    {
                    disable = no
                    socket_type = dgram
                    protocol = udp
                    wait = yes
                    user = root
                    server = /usr/sbin/in.tftpd
                    server_args = -u nobody -s /tftpboot
                    per_source = 11
                    cps = 100 2
                    flags = IPv4
                    }
        注:只需要disable=yes 改成 no 即可

2 )TFTP+PXE 配置
#挂载挂盘
mount /dev/cdrom /mnt/cdrom
#安装syslinux必备文件
yum install syslinux syslinux-devel -y
#创建配置文件目录并拷贝配置文件
mkdir -p /var/lib/tftpboot/pxelinux.cfg
\cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
\cp /usr/share/syslinux/vesamenu.c32 /var/lib/tftpboot/
\cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/
\cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/
\cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
\chmod 644 /var/lib/tftpboot/pxelinux.cfg/default
3)配置TFTPBOOT引导文件,
cat >>/var/lib/tftpboot/pexlinux.cfg/default <<EOF
default vesamenu.c32
timeout 10
display boot.msg
menu clear
menu background splash.png
menu title CentOS Linux 7
label linux
menu label ^Install CentOS Linux 7
menu default
kernel vmlinuz
append initrd=initrd.img inst.repo=http://192.168.10.128/centos7 quiet ks=http://192.168.10.128/ks.cfg
label check
menu label Test this ^media & install CentOS Linux 7
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet
EOF

注解:192.168.10.128是kickstart服务器地址,centos7是httpd共享linux镜像的目录,ks.cfg是kickstart主配置文件,timeout 超时时间,label linux 和label check 是linux开机启动显示的菜单,选择菜单后,对应里面的操作。
TFTP配置完毕,由于TFTP是非独立服务,需要依赖xinetd服务来启动,启动命令,systemctl start xinetd

4)HTTP+kickstart 配置
远程系统安装,客户端需要下载系统所需要的软件包,所以需要使用NFS或HTTPD把镜像文件共享出来。
mkdir -p /var/www/html/centos7
mount /dev/cdrom /var/www/html/centos

配置kickstart,可以使用system-kickstart 系统软件包来配置,ks.cfg配置文件如下:
cat >> /var/www/html/ks.cfg<< EOF
install
text
keyboard ‘us‘
rootpw www.jfedu.net
timezone Asia/Shanghai
url --url=http://192.168.10.128/centos7
reboot
lang zh_CN
firewall --disabled
network --bootproto=dhcp --device=ens33
auth --useshadow --passalgo=sha512
firstboot --disable
selinux disabled
bootloader --location=mbr
clearpart --all --initlabel
part /boot --fstype="ext4" --size=300
part / --fstype="ext4" --grow
part swap --fstype="swap" --size=512br/>%packages
@base
@core
%end
EOF
注解:执行动作为安装; 文本类型;键盘语言;登陆密码;时区;下载地址;重启;语言;关闭防火墙,指定启动类型,网卡名称;MBR引导分区;创建分区信息;安装包基于base和core。

配置DHCP服务,DHCP服务配置文件代码如下:
cat >> /etc/dhcp/dhcpd.conf<<EOF
ddns-update-style interim;
ignore client-updates;
next-server 192.168.10.128;
filename "pxelinux.0";
allow booting;
allow bootp;
subnet 192.168.10.0 netmask 255.255.255.0 {
#default gateway
option routers 192.168.10.2;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.10.180 192.168.10.200;
host ns {
hardware ethernet 00:1a:a0:2b:38:81;
fixed-address 192.168.10.128;}
}
EOF

    重启各个服务,启动新的客户端验证测试:
          systemclt  restart   httpd
        systemctl restart   dhcpd
        systemctl restart   xinetd 

   开启新的虚拟机,BIOS以网卡启动:

Centos7 实战Kickstart 批量系统部署

原文地址:http://blog.51cto.com/liwenjia/2153531

时间: 2024-11-29 08:16:52

Centos7 实战Kickstart 批量系统部署的相关文章

Centos7.2 kickstart批量装机

本次试用Centos7.2作为PXE服务端批量安装操作系统.之前尝试过使用centos6.x做为服务端批量安装操作系统.本人表示Centos7.2批量装机"坑"不少最终百度无果无奈去google最终完成此实验.故此做此博客来Mark下本次实验过程. 查看操作系统版本并且确定selinux和iptables已经关闭 [[email protected] ~]# cat /etc/redhat-release  CentOS Linux release 7.2.1511 (Core)  [

Linux系统中Kickstart+HTTP+DHCP+TFTP全自动批量安装部署

说明: Kickstart服务器系统:CentOS 5.10 64位 IP地址:192.168.21.128 需要安装部署的Linux系统:CentOS 5.10 64位 eth0(第一块网卡,用于外网)IP地址段:192.168.21.160-192.168.21.200 eth1(第二块网卡,用于内网)IP地址段:10.0.0.160-10.0.0.200 子网掩码:255.255.255.0 网关:192.168.21.2 DNS:8.8.8.8 8.8.4.4 所有服务器均支持PXE网络

Kickstart+HTTP+DHCP+TFTP全自动批量安装部署Linux系统

说明: Kickstart服务器系统:CentOS 6.5 64位 IP地址:192.168.0.250 需要安装部署的Linux系统:CentOS 6.5 64位 eth0(第一块网卡,用于外网)IP地址段:60.28.x.x eth1(第二块网卡,用于内网)IP地址段:192.168.0.128 子网掩码:255.255.255.128 网关:192.168.0.250 DNS:114.114.115.115 8.8.4.4 所有服务器均支持PXE网络启动 实现目的:通过配置Kickstar

记一次用PXE+kickstart批量为20台新服务器安装centos7

基于PXE+kickstart批量安装centos7: 本文是纯文字,后续会补充图片 1.环境: CentOS Linux release 7.4.1708 (Core)kernel:3.10.0-693.el7.x86_64 2.PXE.kickstart简介 PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动

linux部署pxe+kickstart批量安装linux操作系统实施方案

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

Cobbler全自动批量安装部署Linux系统

前言:这篇文章是系统运维www.osyunwei.com的作品,我只是根据实践了一下,出于对原作者的尊重附原文链接如下: 原文链接:http://www.osyunwei.com/archives/7606.html 根据文章的说明是可以完成所属功能的,不过原文章有点小问题,在本文中我已经修改过了,仅供大家参考,有问题大家交流,E-mail:[email protected] 安装之前的一点说明 Cobbler服务器系统:CentOS5.10 64位 IP地址:192.168.21.128 需要

kickstart 批量安装Linux系统

Kickstart 批量安装Linux系统 Kickstart的工作原理想必大家都知道了,通过pxe协议同时装配多台服务器.一般用的时候不多,但是要知道,用的时候才能得心应手,我的环境如下: 需要安装部署的Linux服务器: Redhat 6.4 64位 IP地址:192.168.30.34 网卡:p3p1 子网掩码:255.255.255.0 网关:192.168.30.1 DNS:202.106.0.20 或者 8.8.8.8 具体操作: 第一部分:在kickstart服务器系统操作 关闭S

解放劳动力—Cobbler批量自动化部署多版本系统

1 Cobbler  介绍 Cobbler 是一个 Linux 服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装.重装物理服务器和虚拟机,同时还可以管理 DHCP,DNS 等.Cobbler 可以使用命令行方式管理,也提供了基于 Web 的界面管理工具(cobbler-web),还提供了API 接口,可以方便二次开发使用.Cobbler 是较早前的 kickstart 的升级版,优点是比较容易配置,还自带 web 界面比较易于管理.Cobbler 内置了一个轻量级配置管理系统,但它也

centos7 rabbitmq系统部署

CentOS7 1.安装系统 基础设施服务器:Java平台.Linux远程管理.开发工具 2.打开网络连接: (1)cd  /etc/sysconfig/network-scripts/  #进入网络配置文件目录 (2)vi  ifcfg-eno16777736  #编辑配置文件,修改以下内容 (3)将onboot从no改为yes (4)退出编辑 (5)service network restart 3.关闭selinux (1)setenforce 0 (2)vi /etc/sysconfig