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

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

1) DHCP、TFTP安装

yum  install   -y   dhcp*  tftp*  xinetd 

首先配置tftp服务:

vi /etc/xinetd.d/tftp
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 =
cps =
flags = IPv4
}
只需要把disable = yes改成disable = no即可。

2)TFTP+PXE配置

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

要实现远程安装系统,首先需要在TFTPBOOT目录指定相关PXE内核模块及相关参数。配置步骤如下:
mount /dev/cdrom /mnt 挂载本地光盘
#如果系统是6.x,默认tftpboot目录在/var/lib/下,所以centos6.x需要做软链接到/根目录下。
ln -s /var/lib/tftpboot /
cp /usr/share/doc/syslinux/pxelinux. /tftpboot/
(yum install syslinux syslinux-devel -y)
cp /mnt/images/pxeboot/{vmlinuz,initrd.img} ./ 拷贝内核至tftpboot目录下
mkdir -p pxelinux.cfg &&cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
拷贝isolinux.cfg配置文件重命名,系统安装的时候会根据这个文件的配置启动相应的选项。
修改pexlinux.cfg/default内容如下:
default linux
prompt
timeout
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernel vmlinuz
append ks=nfs:192.168.0.113:/centosinstall/ks.cfg ksdevice=ens33 initrd=initrd.img
label text
kernel vmlinuz
append initrd=initrd.img text
label ks
kernel vmlinuz
append ks initrd=initrd.img
label local
localboot
label memtest86
kernel memtest
append –

解析:192.168.0.113是kickstart服务器,/centosinstall 是nfs共享linux镜像的目录,也是linux存放安装文件的路径,ks.cfg是kickstart主配置文件;设置timeout 10 /*超时时间为10S */;ksdevice=etho代表当我们有多块网卡的时候,要实现自动化需要设置从ens33安装。

TFTP配置完毕,由于是TFTP是非独立服务,需要依赖xinetd服务来启动,启动命令为:

chkconfig    tftp  --level 35 on  && service  xinetd  restart

3) NFS+KICKSTART配置

远程系统安装,客户端需要下载系统所需的软件包,所以需要使用NFS或者httpd把镜像文件共享出来。

mkdir   -p   /centosinstall
nohup cp -rf /mnt/* /centosinstall &
echo “/centosinstall *(rw,sync)” >>/etc/exports

在NFS配置文件/etc/exports中加入如上语句:/centosinstall    *(rw,sync),表示允许任何主机访问/centosinstall目录,有读写权限。

配置kickstart,可以使用system-kickstart系统软件包来配置,也可以直接拷贝/root/目录下anaconda-ks.cfg 重命名为ks.cfg,并把ks.cfg拷贝至刚共享的/centosinstall目录下,赋权限为chmod 777 ks.cfg

如下我这里采用配置文件内容如下:vi ks.cfg

# Kickstart file automatically generated by anaconda.
install
text
nfs --server=192.168.0.79 --dir=/centosinstall
key --skip
lang zh_CN.UTF-
keyboard us
network --device eth0 --bootproto=dhcp --noipv6
rootpw
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
zerombr
clearpart --all --initlabel
part /boot --fstype ext3 --size=
part swap --size=
part / --fstype ext3 --size=
part /data --fstype ext3 --size=--grow
reboot
%packages
@base
@core
@chinese-support

第一步install,以text字符界面,指定nfs共享IP和目录,设置安装后的服务器字符集、网络分配方式、密码;

然后设置防火墙状态,磁盘采用MBR方式引导,然后客户机分区的情况;%packages

后写入客户机系统需要安装的软件包,可以自己定制。更多详细的参数在此就不做过多的说明了,可以进一步学习。

4)在真实环境中,通常我们会发现一台服务器好几块硬盘,做完raid,整个硬盘有等10T,如果来使用kickstart自动安装并分区呢;一般服务器硬盘超过2T,如何来使用kickstart安装配置呢?这里就不能使用MBR方式来分区,需要采用GPT格式来引导并分区。

需要在ks.cfg末尾添加如下命令来实现需求:

%pre
parted  -s  /dev/sdb 
mklabel  gpt
%end

为了实现kickstart安装完系统后,自动初始化系统等等工作,我们可以在系统安装完后,自动执行定制的脚本,需要在ks.cfg末尾加入如下配置:

%post

mount  -t  nfs 192.168.0.79:/centos/init   /mnt

cd  /mnt/ ;/bin/sh  auto_init.sh

%end

5)    
DHCP配置及测试

Pxe+kickstart自动安装系统,需要用到DHCP分配的客户端的IP地址,这里直接上dhcpd.conf配置文件:

ddns-update-style
interim;

ignore
client-updates;

next-server 192.168.0.79;

filename "pxelinux.0";

allow
booting;

allow
bootp;

subnet
192.168.0.0 netmask 255.255.255.0 {

# --- default
gateway

option
routers          192.168.0.1;

option
subnet-mask      255.255.255.0;

range
dynamic-bootp 192.168.0.100 192.168.0.200;

host ns {

hardware
ethernet  00:1a:a0:2b:38:81;

fixed-address
192.168.0.101;}

}

最后重启所有服务,并关闭iptables和selinux,然后找一台新服务器,接入网线与kickstart服务器在一个交换机或通过中继能获取到IP的网络即可。

service    xinetd  
restart

service     nfs   
restart

service     dhcpd 
restart

真实环境需要注意,新服务器跟kickstart最后独立在一个网络,不要跟办公环境或者服务器机房网络混在一起,如果别的机器以网卡就会把它的系统重装成Linux系统。

Kickstart自动化安装平台的更多相关文章

  1. Linux下使用Kickstart自动化安装平台架构

    PXE工作于Client/Server的网络模式.在启动过程中,终端要求服务器分配IP地址,再用TFTP协议下载一个自动启动软件包到内存中执行. 要使用kickstart安装平台,包括完整的架构为:K ...

  2. kickstart+pxe+tftp+ntp(http)自动化安装平台的搭建

    听说过"克隆"吗,对于这个科技术语20年前可能还很陌生,羊可以克隆,通过基因dna序列:机器同样可以克隆通过网络IP! 如下为自动化安装平台: PXE(preboot execut ...

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

    使用kickstart实现Centos 自动化安装 Kickstart自动化安装简介: 规模化:同时装配多台 服务器 自动化 :安装系统,配置各种服务 远程实现:不需要光盘,U盘等安装介质 优势: ( ...

  4. Kickstart 自动化安装配置

    自动化安装案例: 一 ,系统环境 # cat /etc/redhat-release CentOS release 6.6 (Final) #Hostname [root@boot ~]# hostn ...

  5. kickstart自动化安装

    preboot execute environment预启动执行环境--intel开发的技术,计算机可以通过pxe协议从网络引导启动. 工作模式为客户端/服务器端的c/s模式 客户端从远端服务器下载镜 ...

  6. 103、kickstart自动化安装操作系统

    103.1.前言: 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装. 常规的办法有: 光盘安装系统===>一个 ...

  7. pxe+kickstart自动化安装

    什么是PXE? PXE(Pre-boot Execution Environment,预启动执行环境)是Intel公司开发的最新技术,工作于Client/Server模式.PXE是一种远程引导方式,要 ...

  8. CentOS7.2下PXE+kickstart自动化安装系统

    一.实验环境 操作系统:CentOS Linux release 7.2.1511 (Core) 网卡地址:192.168.100.147/24 光盘镜像:CentOS-7-x86_64-Minima ...

  9. 好记性不如烂笔头-linux学习笔记2kickstart自动化安装和cacti

    kickstart自动化安装的逻辑梳理 主要是安装tftp nfs dhcp 然后配置kickstart 原来就是先安装tftp 可实现不同机器的文件下载 然后在安装nfs 就是主服务器的文件系统 然 ...

随机推荐

  1. HanLP vs LTP 分词功能测试

    文章摘自github,本次测试选用 HanLP 1.6.0 , LTP 3.4.0 测试思路 使用同一份语料训练两个分词库,同一份测试数据测试两个分词库的性能. 语料库选取1998年01月的人民日报语 ...

  2. 关于mysql自增主键

    对于mysql表(其他数据库没测试过) 如果定义了自增主键,并且手动设置了主键的值,那么当再次自增创建数据的时候,回在设置的主键值的基础上进行自增. 如(id是主键): 起始插入(3,1),而后手动插 ...

  3. 安装lnmp1.5,搬迁Laravel项目到服务器笔记

    近期有个Laravel开发项目,需要搬到CentOS服务器做测试. 先说下项目的配置: Laravel版本5.5 --确定了php7.0以上: CentOS 7.0或以上. lnmp 1.5版 以下是 ...

  4. iOS业务模块化利用CocoaPod入门实践

    iOS业务模块化即是通过不同的工程管理不同的业务,通常应用在中大型项目中,这样做的好处主要有:1.多人开发时,防止工程文件冲突  2.能够为下个不同的项目抽取代码,话不多说,直接看步骤:括号内容为本例 ...

  5. ubuntu16.04上vue环境搭建

    $ sudo apt-get install python-software-properties $ curl -sL https://deb.nodesource.com/setup_8.x | ...

  6. js-语法

    js中slice方法(转) 1.String.slice(start,end)returns a string containing a slice, or substring, of string. ...

  7. webview之学习文章(待续)

    webview与js交互: Tencent/VasSonic(缓存优化方案) lzyzsd/JsBridge: pengwei1024/JsBridge: -----webview的框架 TheFin ...

  8. 深度学习(二)--深度信念网络(DBN)

    深度学习(二)--深度信念网络(Deep Belief Network,DBN) 一.受限玻尔兹曼机(Restricted Boltzmann Machine,RBM) 在介绍深度信念网络之前需要先了 ...

  9. jmeter接口测试-线程组设置(断言失败后用例停止执行)

    问题描述: jmeter跑接口用例的时候,其中一条用例的对断言失败后,后面的用例都不执行了! 解决思路1: 考虑应该有地方设置,在菜单栏找了半天没找到,百度也没有查到 解决思路2: jmeter源码导 ...

  10. 如何以system身份运行指定的程序?

    Local System(本地系统)是Windows操作系统内置的特殊账户.它拥有比Administartor更高的权限.smss.exe(会话管理器).csrss.exe(客户端/服务器运行时子系统 ...