使用kickstart实现Centos 自动化安装
Kickstart自动化安装简介:
规模化:同时装配多台 服务器
自动化 :安装系统,配置各种服务
远程实现:不需要光盘,U盘等安装介质
优势:
(1)流线自动化的安装
(2)快速大量的裸机部署
(3)强制建立的一致性(软件包,分区,配置,监控,安全性)
(4)减少人为的部署失误
使用Kickstart方法安装的过程:
(1). 创建一个kickstart文件
(2). 创建有kickstart文件的引导介质或者使这个文件在网络上可用;
(3). 筹备一个安装树
(4). 开始ks安装:anconda自身启动 –>选取ks安装模式–> 从ks文件读取配置 –> 最后安装
创建kickstart配置文件的方式:
(1). 文本编辑器(vim)等
(2). 用图形化界面配置:system-config-kickstat(需要安装system-config-kickstart.noarch包
PXE(preboot execute environment, )是由Intel公司开发的最新技术,工作client/server的网络 模式,支持工作通过网络从远端服务器 下载映像,并由此支持 通过网络启动操作系统 ,在启动过程中,终端要求服务器 分配IP地址,在用TFTP或MTFTP协议下载一个启动软件包到本机内存中执行,更有这个启动软件 包完成终端基本软件设置,从而引导预先安装在服务器终端 操作系统,PXE可以引导 多种操作系统.
- 预启动执行环境,在操作系统之前运行
- 可用于远程安装,构建无盘工作站
服务端:远程DHCP服务,用来分配地址,定位引导程序;
运行TFTP服务器,提供引导程序下载
客户端 :网卡支持PXE协议
主板支持 网络启动
基本部署过程:
- 准备rhel/centOS安装源(YUM仓库)
- 启动TFTP服务,并提供内核,引导程序
- 启动 DHCP服务,用来分配地址,指出引导程序位置
- 配置启动菜单
一.DHCP,TFTP安装
[[email protected] ~]# yum install -y dhcp* tftp*
首先配置tftp服务:
[[email protected] ~]# vim /etc/xinetd.d/tftp
2)TFTP+PXE配置
要实现远程安装系统,首先需要在tftpboot目录指定相关PXE相关内核模块机相关参数,配置步骤如下:
Ps:如果系统 是5.x,默认tftpboot目录已经自动创建到/根目录下
如果系统是6.x,则默认tftpboot目录在/var/lib/目录下,所以centos6.x需要做软链接到/目录下
[[email protected] ~]# yum install -y syslinux
[[email protected] ~]# find / -name "pxelinux.0"
/usr/share/syslinux/pxelinux.0
[[email protected] ~]# ln -s /var/lib/tftpboot/ /
[[email protected] ~]# cd /tftpboot/
[[email protected] tftpboot]# cp /usr/share/syslinux/pxelinux.0 .
[[email protected] tftpboot]# ls
pxelinux.0
[[email protected] tftpboot]# cp /media/cdrom/images/pxeboot/* .[A1]
[[email protected] tftpboot]# ls
initrd.img pxelinux.0 TRANS.TBL vmlinuz
[[email protected] tftpboot]# rm -rf TRANS.TBL
[[email protected] tftpboot]# ls
initrd.img pxelinux.0 vmlinuz
[[email protected] tftpboot]# mkdir -p pxelinux.cfg
[[email protected] tftpboot]# ls
initrd.img pxelinux.0 pxelinux.cfg vmlinuz
[[email protected] tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default
[[email protected] tftpboot]# vim pxelinux.cfg/default
ps:注解[A1]拷贝tftpboot目录下,也就是当前目录,也tftpboot目录
解析:192.168.20.150是kickstart服务器,/centosinstall是nfs共享 linux镜像 的目录,也就是linux存放安装文件的路径;ks.cfg是kickstart主配置文件;设置timeout 60 /*超时时间为10s */;
Ksdevel-etho代表当我们有多块网卡 的时候,要实现自动化需要设置从etho安装
TFTP配置完毕,由于 是tftp是非独立服务,需要依赖xinetd服务来启动
启动命令为
[[email protected] tftpboot]# chkconfig tftp --level 35 on
[[email protected] tftpboot]# service xinetd restart
二.NFS+kickstart配置
3)NFS+kickstart配置
远程系统安装 ,客户端需要下载系统所需的软件包,所以需要使用NFS或HTTPD把镜像文件共享出来
[[email protected] ~]# yum install nfs
[[email protected] ~]# echo "/centosinstall * (rw,sync)" >>/etc/exports
3)NFS+kickstart配置
远程系统安装 ,客户端需要下载系统所需的软件包,所以需要使用NFS或HTTPD把镜像文件共享出来
[[email protected] ~]# yum install nfs
[[email protected] ~]# echo "/centosinstall * (rw,sync)" >>/etc/exports
可以直接拷贝/root目录下anaconda-ks.cfg。重命名为ks.cfg,并把ks.cf拷贝到刚共享的/centosinstall目录下,赋予权限为chmod 777 ks.cfg
[[email protected] ~]# mkdir /centosinstall
[[email protected] ~]# cd /centosinstall/
[[email protected] centosinstall]# nohup cp /media/cdrom/* . -a &[A1]
ps:注解 [A1]后台复制
[[email protected] ~]# vim /centosinstall/ks.cfg
#kickstart file automatically generated by anaconda.
install
text
nfs --server=192.168.20.150 --dir=/centosinstall
key --skip
lang zh_CN,UTF-8
keyboard us
network --device eth0 --bootproto=dhcp --noipv6
rootpw 123456
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone Asia/shanghai
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
clearpart --all --initlabel
part /boot --fstype ext3 --size=200
part swap --size=1000
part / --fstype ext3 --size=10000
part /data --fstype ext3 --size=1 --grow
%packages
@base
@development-libs
@development-tools
mtools
pax
libxmu
%end
[[email protected] ~]# service xinetd restart
[[email protected] centosinstall]# service nfs restart
三.安装dhcp服务
[[email protected] ~]# yum install -y dhcp
[[email protected] ~]# vim /etc/dhcp/dhcpd.conf
OK到目前为止,kickstart服务端的配置已经全部配置完成!为了保证服务正常生效,我们最后一次重启一下三个服务!
[[email protected] ~]# /etc/init.d/dhcpd restart
[[email protected] ~]# /etc/init.d/xinetd restart
[[email protected] ~]# /etc/init.d/nfs restart
客户端验证,是否自动化安装部署系统
新建rheld虚拟机(ps:要保证系统和服务属于同一个网段)
输入用户名和密码(123456)即可登录系统
Ps:kickstart所有配置就此告一段落,真实环境需要注意,新服务器跟kickstart最后独立在一个网络,不要跟办公环境或者服务器机房混在一起,如果其他机器以网卡就会把它的系统重新装成linux系统,