使用kickstart实现Centos 自动化安装linux
Kickstart自动化安装简介:vim
规模化:同时装配多台 服务器centos
自动化 :安装系统,配置各类服务安全
远程实现:不须要光盘,U盘等安装介质服务器
优点:网络
(1)流线自动化的安装app
(2)快速大量的裸机部署编辑器
(3)强制创建的一致性(软件包,分区,配置,监控,安全性)优化
(4)减小人为的部署失误ui
使用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协议
主板支持 网络启动
基本部署过程:
【DHCP,TFTP安装】
[root@kickstart ~]# mkdir /media/cdrom [root@kickstart ~]# mount /dev/cdrom /media/cdrom/ [root@kickstart ~]# yum install -y dhcp* tftp* [root@kickstart ~]# grep disable /etc/xinetd.d/tftp | awk -F = '{print $2}' | sed -i 's#yes#no#g' /etc/xinetd.d/tftp no [root@kickstart ~]# grep disable /etc/xinetd.d/tftp disable = no
1:TFTP+PXE配置
要实现远程安装系统,首先须要在tftpboot目录指定相关PXE相关内核模块机制相关参数,配置步骤以下:
Ps:若是系统 是5.x,默认tftpboot目录已经自动建立到/根目录下
[root@localhost ~]# yum install -y syslinux [root@kickstart ]# find / -name "pxelinux.0" /usr/share/syslinux/pxelinux.0 [root@kickstart-server ~]# ln -s /var/lib/tftpboot/ / [root@kickstart-server ~]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/ [root@localhost tftpboot]# cp /media/cdrom/images/pxeboot/* /tftpboot/ #将系统内核拷贝tftpboot目录下 [root@kickstart ~]# ls /tftpboot/ initrd.img pxelinux.0 TRANS.TBL vmlinuz [root@localhost tftpboot]# rm -rf TRANS.TBL [root@localhost tftpboot]# ls initrd.img pxelinux.0 vmlinuz [root@localhost tftpboot]# mkdir -p pxelinux.cfg [root@localhost tftpboot]# ls initrd.img pxelinux.0 pxelinux.cfg vmlinuz [root@localhost tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default [root@localhost tftpboot]# vim pxelinux.cfg/default label centos6.5 kernel vmlinuz append ks=nfs:192.168.2.136:/Centos_install/ks.cfg ksdevice=eth0 initrd=initrd.img
详解:192.168.2.136 是kickstart服务器,
/Centos_install是nfs共享 linux镜像 的目录,也就是linux存放安装文件的路径;
ks.cfg是kickstart主配置文件;
Ksdevel-eth0表明当咱们有多块网卡 的时候,要实现自动化须要设置从eth0安装
[root@kickstart tftpboot]# chkconfig tftp on #TFTP配置完成以后,因为tftp不是独立服务,须要依赖xinetd服务来启动 [root@kickstart tftpboot]# service xinetd restart
2:NFS+kickstart配置
远程系统安装 ,客户端须要下载系统所需的软件包,因此须要使用NFS或HTTPD把镜像文件共享出来
[root@kickstart ~]# yum install -y nfs* [root@kickstart ~]# mkdir /Centos_install/ #建立NFS共享目录,要与default目录一致 [root@kickstart ~]# nohup cp -rf /media/cdrom/* /Centos_install/ & #后台拷贝 [root@kickstart ~]# echo "/Centos_install/ *(rw,sync)" >> /etc/exports #在NFS配置文件/etc/exports中加入如上语句:/Centos_install *(rw,sync),表示容许任何主机访问/Centos_install目录,有读写权限。 自定义ks.cfg,并赋予权限为chmod 777 ks.cfg [root@localhost ~]# vim /centosinstall/ks.cfg #这里ks.cfg须要注意一下,并无按照anaconda-ks.cfg内容修改,该配置兼容性 较强,通过优化处理~可上生产~ #kickstart file automatically generated by anaconda. install text nfs --server=192.168.2.136 --dir=/Centos_install/ #kickstart地址 key --skip lang zh_CN,UTF-8 keyboard us network --device eth0 --bootproto=dhcp --noipv6 rootpw 123456 #系统密码为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
#给配置文件权限,并重启服务 [root@kickstart Centos_install]# chmod 777 ks.cfg [root@kickstart-server ~]# service xinetd restart [root@kickstart-server centosinstall]# service nfs restart
3:[DHCP服务]
[root@localhost ~]# yum install -y dhcp
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.2.0 netmask 255.255.255.0 { range 192.168.2.100 192.168.2.200; #可分配起始IP-结束IP地址池 option routers 192.168.2.136; option subnet-mask 255.255.255.0; default-lease-time 21600; #设置默认的IP租用期限 max-lease-time 43200; #设置IP最大租用期限 next-server 192.168.2.136; #TFTP服务器IP地址 filename "pxelinux.0"; }
OK到目前为止,kickstart服务端的配置已经所有配置完成!为了保证服务正常生效,咱们最后一次重启一下三个服务!
[root@localhost ~]# /etc/init.d/dhcpd restart
[root@localhost ~]# /etc/init.d/xinetd restart
[root@localhost ~]# /etc/init.d/nfs restart
客户端验证,是否自动化安装部署系统
新建rheld虚拟机(ps:要保证系统和服务属于同一个网段)
输入用户名和密码(123456)便可登陆系统