Kickstart自动化安装部署Centos系统平台的搭建

先上拓扑图吧

0、使用虚拟机做实验的规划
1、ip地址的规划,模板练习机器1对应10.0.0.11,依次类推
2、所有的服务器配置好epel源
3、所有的服务器都要做内核优化(基本)
4、每个实验都要有详细的文档
5、模拟实验故障,并做记录
6、所用系统均为centos6.5for 64bit 内核版本号为2.6.32-431

一、部署Kickstart自动化安装系统平台

第一部分:基本准备篇

实验环境为centos6.5for 64bit

经验:建议安装kickstart-server为mini desktop作为模板机,这样方便以后制作anaconda安装引导文件!

此版本为ftp版本的哦!

0、kickstart自动化部署服务器安装:

随着公司业务不断增加,经常需要采购新服务器,并要求安装Linux系统,并且要求Linux版本要一致,方便以后的维护和管理,每次人工安装linux系统会浪费掉更多时间,如果我们有办法能节省一次一次的时间岂不更好呢?

大中型互联网公司一次采购服务器上百台,如果采用人工手动一台一台的安装,一个人得搞坏N张光盘,得多少个加班加点才能完成这项”艰巨”的任务呢,我们可以看到全人工来完成这样的工作太浪费人力了,有没有自动化安装平台呢,通过一台已存在的系统然后克隆或者复制到新的服务器呢。Kickstart可以毫不费力的完成这项工作。

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

要使用kickstart安装平台,包括的完整架构为:Kickstart+DHCP+ftp+TFTP+PXE,从架构可以看出,大致需要安装的服务,例如dhcp、tftp、nfs、kickstart/pxe等。

PXE环境的配置预热
关闭防火墙和selinux
/etc/init.d/iptablesstop
chkconfigiptables off
setenforce0
sed-i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/sysconfig/selinux

1、首先要部署好DHCP服务器

第1步安装DHCP服务器软件
yum -y install dhcp
安装之后查看安装后生成了哪些文件
rpm -ql dhcp |less
小提示:配置之前要看下本机的ip地址,因为配置DHCP服务器的地址池是需要和本机的在同一网络地址段的哦
[[email protected]~]# ip a |grep gl
    inet 10.0.0.18/24 brd 10.0.0.255 scope globaleth0
第2步配置DHCP
DHCP默认配置文件为空,这里拷贝模板配置文件
/bin/cp/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
>/etc/dhcp/dhcpd.conf
拷贝以下内容
ddns-update-styleinterim;
ignoreclient-updates;
allowbooting;
allowbootp;
subnet10.0.0.0 netmask 255.255.255.0 {
#--- default gateway
optionrouters          10.0.0.254;
optionsubnet-mask      255.255.255.0;
optiontime-offset  -18000;
range  dynamic-bootp 10.0.0.3 10.0.0.200;
next-server10.0.0.18;
filename"pxelinux.0";
hostns {
hardwareethernet  00:0C:29:C8:12:84;
fixed-address10.0.0.12;}
}

注: 00:0C:29:C8:12:84为指定DHCP客户端的MAC地址

1、必须要存在的一个指令是subne,至少需要一个,后面跟网段以及子网掩码,然后以大括号扩起来,里面包含针对这个subnet的指令

2subnet {}里面所定义的网段,一定是要和本机所在的网段是一致的,Linux可以使用ifconfig来查看本机的ip地址信息

3subnet之外的设置都是针对全局的配置文件生效的subnet之外的设置都是针对全局的配置文件生效的

4range指定地址段的范围

5host指令,主要是根据客户端的MAC地址,进而绑定分配特定的ip

4步检测语法,启动DHCP服务,并加入开机自启动

/etc/init.d/dhcpd configtest
/etc/init.d/dhcpd restart  && chkconfig dhcpd on

5  测试DHCP客户端获取ip地址(可省略)

另外开启一台虚拟机,看能否获取到ip地址为10.0.0.12

[[email protected]~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

或者更为简单的就是直接使用kickstart的客户端即可

小结: dhcp搞定
第一安装yum -yinstall dhcp
第二配置dhcp中最重要的两个参数
next-server代表tftp服务器
filename
第三就是为了让kickstart客户端获取ip地址

2、部署tftp服务器

第一步:安装
yum -y install tftp-server syslinux
第二步复制配置文件并修改
cd /var/lib/tftpboot  &&cp /usr/share/syslinux/pxelinux.0 .
第四步修改tftp可用
sed -i ‘s/= yes/= no/g‘ /etc/xinetd.d/tftp
grep disable /etc/xinetd.d/tftp
第五步:启动,并设置开机自启动
/etc/init.d/xinetd start
chkconfig xinetd on && chkconfig tftp on
server_atgs = -s /var/lib/tftpboot //客户端到此目录下去获取或者上传数据
/etc/init.d/dhcpd restart && /etc/init.d/xinetd  restart

3、配置tftp+pxe

安装和配置tftp服务(准备简单的PXE环境)

要实现远程安装系统,首先要在tftpboot目录指定相关PXE内核模块及相关参数配置步骤如下

cd /var/lib/tftpboot/ && mount /dev/cdrom  /mnt/
cp -rvp /mnt/isolinux/* /var/lib/tftpboot/

cd /var/lib/tftpboot/ && mkdir pxelinux.cfg
cp /var/lib/tftpboot/isolinux.cfg/var/lib/tftpboot/pxelinux.cfg/default   
/etc/init.d/dhcpd restart && /etc/init.d/xinetd restart
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

注释说明:

3)客户端连接tftp-server去上传数据或者下载数据,都会从这个目录去获取
因此需要到这个目录下去放置一些数据
1)pexlinux.0文件(当客户端启动的时候就会启动此文件)
硬盘启动一般去加载的启动程序是grub;PXE网络启动的话,首先要加载的就是
pexlinux.0这个程序
2)此文件是有syslinux安装包提供的rpm -qsyslinux,若没安装
直接使用yum -y install syslinux安装即可
cd /var/lib/tftpboot/
rpm -q syslinux
find /usr/ -name "pxelinux.0"
/usr/share/syslinux/pxelinux.0
 
3)拷贝pexlinux.0文件到tftp的/var/lib/tftpboot根目录下
cp /usr/share/syslinux/pxelinux.0 .
ll
total 28
-rw-r--r-- 1 root root 26595 Oct 18 00:22 pxelinux.0
 
4)还需要在tftp的根目录下去放置一个叫做pxelinux.cfg目录配置文件
这个配置文件是有要求的,名字叫做是pxelinux.cfg这个目录里面的
cd /var/lib/tftpboot/ && mkdir pxelinux.cfg
cp isolinux.cfg pxelinux.cfg/default
cp: overwrite `pxelinux.cfg/default‘? y
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

5、配置ftp配置FTP服务(准备安装源)

挂载ISO镜像可以使用autofs来实现哦!

远程安装系统,客户端需要下载系统所需要的软件包,所以需要使用NFS或者HTTPD把镜像文件共享出来,这里介绍使用ftp的方式来挂载和安装

yum -y install vsftpd autofs
echo "/var/ftp/pub /etc/auto.ftp" >>/etc/auto.master
cat /etc/auto.ftp //添加下面两行内容
centos -fstype=iso9660,ro,loop :/data/CentOS-6.5-x86_64-bin-DVD1.iso
ubuntu -ftype=iso9660,ro,loop :/data/ubuntu-14.04.1-server-amd64.iso
mkdir /data

通过scp上传镜像文件到/data目录下
ll /data/CentOS-6.5-x86_64-bin-DVD1.iso
-rw-r--r-- 1 root root 4467982336 Apr 16  2014 /data/CentOS-6.5-x86_64-bin-DVD1.iso
[[email protected] ~]# ll /data/ubuntu-14.04.1-server-amd64.iso
-rw-r--r-- 1 root root 599785472 Oct 18 11:38/data/ubuntu-14.04.1-server-amd64.iso
/etc/init.d/vsftpd restart&& /etc/init.d/autofs restart
Shutting down vsftpd:                                      [  OK  ]
Starting vsftpd for vsftpd:                                [  OK  ]
Stopping automount:                                        [  OK  ]
Starting automount:                                        [  OK  ]

6、最简单PXE环境准备

1、   通过网络找到tftp服务器之后,还需要去找pxelinux.0这个文件(tftp引导程序)
2、   还需要读取isolinux里面的所有文件(通过光盘安装的时候就是读取这个里面的所有的文件)
3、   显示文件(boot.msg)
4、   重点vmlinuz内核文件
5、   重点initrd.img(初始化闪存文件),里面有驱动程序之类的
6、   isolinux.cfg配置文件
7、   pxelinux.cfg目录文件
8、拷贝isolinux.cfg到  pxelinux.cfg目录文件并改名为default

# cp isolinux.cfg pxelinux.cfg/default
cp: overwrite `pxelinux.cfg/default‘? y

pxelinux.0+vmlinuz+initrd.img+ISO镜像文件+default
上面介绍的只是能通过网络的形式来进行安装
如果需要使用全自动安装的方式则还需要借助kickstart文件来安装
1、   安装图形工具,并生成ks文件
2、   yum –yinstall system-config-kickstart
3、   system-config-kickstart
4、配置好kickstart文件之后,上传到ftp服务器的根目录下
5、修改default配置文件(告知ftp中ks.cfg的具体位置)

6、重启所有服务
/etc/init.d/dhcpd restart && /etc/init.d/xinetd restart
/etc/init.d/vsftpd restart && /etc/init.d/autofs restart

接下来就可以

最后的小结

附录0:本实验dhcp的配置文件

#cat/etc/dhcp/dhcpd.conf
拷贝以下内容
ddns-update-styleinterim;
ignoreclient-updates;
allowbooting;
allowbootp;
subnet10.0.0.0 netmask 255.255.255.0 {
#--- default gateway
optionrouters          10.0.0.254;
optionsubnet-mask      255.255.255.0;
optiontime-offset  -18000;
range  dynamic-bootp 10.0.0.3 10.0.0.200;
next-server10.0.0.18;
filename"pxelinux.0";
hostns {
hardwareethernet  00:0C:29:C8:12:84;
fixed-address10.0.0.12;}
}

附录1:本实验default的配置文件

[[email protected]~]# cat /var/lib/tftpboot/pxelinux.cfg/default
defaultvesamenu.c32
#prompt1
timeout600
 
displayboot.msg
 
menubackground splash.jpg
menutitle Welcome to CentOS 6.5!
menucolor border 0 #ffffffff #00000000
menucolor sel 7 #ffffffff #ff000000
menucolor title 0 #ffffffff #00000000
menucolor tabmsg 0 #ffffffff #00000000
menucolor unsel 0 #ffffffff #00000000
menucolor hotsel 0 #ff000000 #ffffffff
menucolor hotkey 7 #ffffffff #ff000000
menucolor scrollbar 0 #ffffffff #00000000
 
labellinux
  menu label ^Install or upgrade an existingsystem
  menu default
 kernel vmlinuz ks=ftp://10.0.0.18/ks.cfg
  append initrd=initrd.img
labelvesa
  menu label Install system with ^basic videodriver
  kernel vmlinuz
  append initrd=initrd.img xdriver=vesanomodeset
labelrescue
  menu label ^Rescue installed system
  kernel vmlinuz
  append initrd=initrd.img rescue
labellocal
  menu label Boot from ^local drive
  localboot 0xffff
labelmemtest86
  menu label ^Memory test
  kernel memtest
  append -

附录2:本实验ks.cfg的配置文件

[[email protected]~]# cat /var/ftp/ks.cfg
#platform=x86,AMD64, or Intel EM64T
#version=DEVEL
#Firewall configuration
firewall--disabled
#对外开放防火墙程序ssh。
#firewall--service=ssh
#Install OS instead of upgrade
#选择安装方式,ISO镜像安装源的具体位置,ISO源可以是url|http|nfs|ftp
install
#Use network installation
url--url="ftp://10.0.0.18/pub/centos"
#Root password 设定root用户的密码
rootpw--iscrypted $1$TNHk/xWh$dYdD65ClkqaAWd2BqmrnB0
#Networkinformaton
network--bootproto=dhcp --device eth0 --onboot=on
#System authorization information
auth  --useshadow --passalgo=sha512
#Use text mode install 文本|图形方式安装
text
firstboot--disable
#System keyboard
keyboardus
#System language
langen_US
#SELinux configuration
selinux--disabled
#Installation logging level
logging--level=info
#Reboot after installation重新安装完系统需要重启,完成初始化
reboot
#System timezone 时区亚洲/上海
timezone  Asia/Shanghai
#System bootloader configuration 引导记录安装在MBR上面
bootloader--location=mbr
#Clear the Master Boot Record
zerombr
#文本模式安装时需要对初始化磁盘。使用--initlabel可初始化磁盘。
#需要注意的是,如果用此ks.cfg安装CentOS6.X系列的系统时,需要自己再点一次初始化磁盘空间。
clearpart--initlabel --all --drives=sda
#Partition clearing information
clearpart--all --initlabel
#Disk partitioning information
#part/boot --fstype="ext4" --size=200
#part/ --fstype="ext4" --size=1
#partswap --fstype="swap" --size=1
#设置分区,此处将剩余空间分配给/目录,具体如何分区请按照个人详细情况划分。
part/boot --fstype=ext4 --size=200
part/ --fstype="ext4" --grow --size=10000
partswap --size=2048
 
%packages--nobase
@core
%end

附录三:DHCP的配置文件

[[email protected]~]# cat /etc/dhcp/dhcpd.conf
ddns-update-styleinterim;
ignoreclient-updates;
allowbooting;
allowbootp;
subnet10.0.0.0 netmask 255.255.255.0 {
#--- default gateway
optionrouters          10.0.0.254;
optionsubnet-mask      255.255.255.0;
optiontime-offset  -18000;
range  dynamic-bootp 10.0.0.3 10.0.0.200;
next-server10.0.0.18;
filename"pxelinux.0";
hostns {
hardwareethernet  00:0C:29:C8:12:84;
fixed-address10.0.0.12;}
}

附录四:vsftpd的配置文件

[[email protected]~]# cat /etc/auto.master
前面无用内容省略
+auto.master
/var/ftp/pub /etc/auto.ftp
[[email protected]~]# cat /etc/auto.ftp
centos-fstype=iso9660,ro,loop :/data/CentOS-6.5-x86_64-bin-DVD1.iso
ubuntu-ftype=iso9660,ro,loop :/data/ubuntu-14.04.1-server-amd64.iso

追风整理于2014/10/19第6次梳理

参考博文:

Centos 6.5 Kickstart自动化安装系统 - Hello.C - 博客园

http://www.cnblogs.com/Initart/articles/3731182.html

Linux下NFS的安装配置 - IT系统运维 - 追求卓越,成功就会出其不意找上门~~

http://blog.zhanxb.com/post/319/

Kickstart+Dhcp+Nfs+Tftp+Pxe 批量Linux服务器安装平台 - 吴光科-专注自动化运维 - 51CTO技术博客

http://wgkgood.blog.51cto.com/1192594/530304

Kickstart:实现RHEL的自动安装_博客专题_51CTO技术博客

http://blog.51cto.com/zt/98

时间: 2024-10-26 11:04:27

Kickstart自动化安装部署Centos系统平台的搭建的相关文章

自动化批量部署Linux系统(Kickstart+DHCP+NFS(http)+TFTP+PXE)

自动化批量部署Linux系统 (Kickstart+DHCP+NFS(http)+TFTP+PXE) 楓城浪子原创(除原理流程图外),转载请标明出处! 更多技术博文请见个人博客:https://fengchenglangzi.000webhostapp.com 微信bh19890922 QQ445718526.490425557 序: 本文主要介绍自动化部署操作系统,主要借助的工具包含(Kickstart+DHCP+NFS(http)+TFTP+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

kickstart自动化安装--tftp+nfs+dhcp

使用kickstart实现Centos 自动化安装 Kickstart自动化安装简介: 规模化:同时装配多台 服务器 自动化 :安装系统,配置各种服务 远程实现:不需要光盘,U盘等安装介质 优势: (1)流线自动化的安装 (2)快速大量的裸机部署 (3)强制建立的一致性(软件包,分区,配置,监控,安全性) (4)减少人为的部署失误 使用Kickstart方法安装的过程: (1). 创建一个kickstart文件 (2). 创建有kickstart文件的引导介质或者使这个文件在网络上可用: (3)

kickstart自动化安装过程(搜索整理)

Kickstart自动安装配置文档(NFS+http版本) 一.什么是PXE?PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术, 工作于Client/Server的网络模式.严格来说,PXE 并不是一种安装方式,而是一种引导方式.进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client.PXE (Pre-boot Execution Environment)协

Kickstart自动化安装

Kickstart自动化安装 首先需要安装软件: Yum install –y dhcp* tftp*  nfs-utils Yum install –y syslinux  (没有pxelinux.0需要安装syslinux) 1.配置tftp服务器: Vi /etc/xinetd.d/tftp 把 disable = yes 改为no 就可以了 2.TFTP+PXE配置 要实现远程安装系统,需要在tftpboot目录指定相关PXE内核模块及相关参数.配置步骤如下: Mount /dev/cd

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自动化安装CentOS6.5

使用Kickstart自动化安装CentOS6.5 作者:Todd Liu       时间:2018年5月28日 本文介绍PXE方式引导自动化安装CentOS6.5系统,主要用到的系统服务有DHCP.TFTP.Vsftpd和Kickstart.通过配置Kickstart自动化应答脚本,实现客户端批量.无人值守安装系统. 1. PXE介绍 PXE(Preboot Execution Environment,预启动执行环境)由Intel公司开发,工作于Client/Server的网络模式,支持客户

Cobbler+preseed自动化安装Ubuntu18/19系统

说明: #Cobbler 部署不在详细说明 # Ubuntu版本: 18.04.3 及19.10 # 测试机器: kvm 虚拟机 # 测试ip:192.168.3.63 #使用vnc 进行连接操作 cobbler distro 添加Ubuntu 最新系统支持 cp /var/lib/cobbler/distro_signatures.json /var/lib/cobbler/distro_signatures.json.bak vi /var/lib/cobbler/distro_signat

ubuntu16.04安装部署监控系统zabbix2.4

Ubuntu16.04安装部署监控系统Zabbix2.4 第一部分,php+mysql+nginx组件安装 1.系统更新 sudo apt-get update && sudo apt-get upgrade 2.安装php-fpm 检索系统当前自带的PHP版本:apt-cache search php-fpm 安装依赖包:sudo apt-get install make  bison g++ build-essential libncurses5-dev cmake 安装php-fpm