Kickstart自动化安装平台
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自动化安装平台的更多相关文章
- Linux下使用Kickstart自动化安装平台架构
PXE工作于Client/Server的网络模式.在启动过程中,终端要求服务器分配IP地址,再用TFTP协议下载一个自动启动软件包到内存中执行. 要使用kickstart安装平台,包括完整的架构为:K ...
- kickstart+pxe+tftp+ntp(http)自动化安装平台的搭建
听说过"克隆"吗,对于这个科技术语20年前可能还很陌生,羊可以克隆,通过基因dna序列:机器同样可以克隆通过网络IP! 如下为自动化安装平台: PXE(preboot execut ...
- kickstart自动化安装--tftp+nfs+dhcp
使用kickstart实现Centos 自动化安装 Kickstart自动化安装简介: 规模化:同时装配多台 服务器 自动化 :安装系统,配置各种服务 远程实现:不需要光盘,U盘等安装介质 优势: ( ...
- Kickstart 自动化安装配置
自动化安装案例: 一 ,系统环境 # cat /etc/redhat-release CentOS release 6.6 (Final) #Hostname [root@boot ~]# hostn ...
- kickstart自动化安装
preboot execute environment预启动执行环境--intel开发的技术,计算机可以通过pxe协议从网络引导启动. 工作模式为客户端/服务器端的c/s模式 客户端从远端服务器下载镜 ...
- 103、kickstart自动化安装操作系统
103.1.前言: 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装. 常规的办法有: 光盘安装系统===>一个 ...
- pxe+kickstart自动化安装
什么是PXE? PXE(Pre-boot Execution Environment,预启动执行环境)是Intel公司开发的最新技术,工作于Client/Server模式.PXE是一种远程引导方式,要 ...
- CentOS7.2下PXE+kickstart自动化安装系统
一.实验环境 操作系统:CentOS Linux release 7.2.1511 (Core) 网卡地址:192.168.100.147/24 光盘镜像:CentOS-7-x86_64-Minima ...
- 好记性不如烂笔头-linux学习笔记2kickstart自动化安装和cacti
kickstart自动化安装的逻辑梳理 主要是安装tftp nfs dhcp 然后配置kickstart 原来就是先安装tftp 可实现不同机器的文件下载 然后在安装nfs 就是主服务器的文件系统 然 ...
随机推荐
- python中使用 C 类型的数组以及ctypes 的用法
Python 在 ctypes 中为我们提供了类似C语言的数据类型, 它的用途(我理解的)可能是: (1) 与 其他语言(如 C.Delphi 等)写的动态连接库DLL 进行交换数据,因为 pytho ...
- springboot shiro 项目前端页面访问问题总结
1.springboot前端页面默认需要放到指定的目录下才能访问 在/src/main/resource目录下的: /static /public /resources /META-INF/resou ...
- C#使用CH341 SPI模块读写SD卡
SD卡相关CMD命令 ;//卡复位 ; ;//命令9 ,读CSD数据 ;//命令10,读CID数据 ;//命令12,停止数据传输 ;//命令16,设置SectorSize 应返回0x00 ;//命令1 ...
- Spark环境准备
Ubuntu: 1.下载spark-2.2.1-bin-hadoop2.7.tgz,解压即可使用. 2.下载jdk-8u151-linux-x64.tar.gz,解压. 3.执行spark-2.2.1 ...
- centos 后台挂起运行python
用Xshell连接服务器运行python文件,当关闭终端或连接断开后相应的python文件也就不会继续运行了,要达到后台挂起运行就要使用 nohup 命令了. 用法如下: # -u 表示禁止缓存,将结 ...
- 为什么HTML中的多个空格或是回车在浏览器上只能显示出一个?
我们在学习HTML的时候可能书本或是老师会告诉我们一件事,就是在HTML中不管我们在两个文本之间加上多少连续的空格或是回车,到了浏览器里面只能显示出一个来.但是我们从来不知道为什么. 原因很简单,因为 ...
- 从Wos文本数据中获取摘要进行分析的一种方法
namespace 清理数据 { class Program { static void Main(string[] args) { string strDirName = "File&qu ...
- Docker安装使用battery historian
apt-get insatll docker.io battery historian ubuntu下使用 首先要确保是google浏览器,然后用命令行 google-chrome --proxy-s ...
- [UE4]让Spline具象化
接上一个实例 一.在TestSpline蓝图,切换到蓝图构造函数Constrction Script事件中,添加如下代码: 二.别忘记个Add Spline Mesh Component设置Stati ...
- TensorFlow实现回归
数据:fetch_california_housing(加利福尼亚的房价数据) 1.解析解法 import tensorflow as tf import numpy as np from sklea ...