kickstart自动安装原理

  简单的讲就是:让系统在安装过程中从一个ks.cfg 配置文件中自动获取所有需要配置的参数。PXE(proboot execute environment,预启动执行环境)技术,基于C/S网络模式,需要nfs服务进行远程连接,在启动过程中,客户机要求分配IP,这里用到dhcp服务,客户端从服务端下载镜像,再由tftp协议下载启动配置,从而引导操作系统的安装。(以上网络服务可以由其他类似服务替代)

我的设备:centOS6.5

我的IP:192.168.152.148(以下设定需要根据自己的IP套

所有的配置均在服务机上。

1.挂载光盘

1)开启centos;

2)载入一个ISO映像文件:虚拟机-->设置-->CD/DVD-->使用ISO映像文件,保存确定。这里的ISO文件是安装centos的光盘

wKioL1epPomCvIpRAABQpRAyJ0k870.jpg-wh_50

3)挂载光盘,mount查看当前挂载。

[root@localhost ~]# mount/dev/sr0 on /media/CentOS_6.5_Final type iso9660 (ro,nosuid,nodev,uhelper=udisks,uid=500,gid=500,iocharset=utf8,mode=0400,dmode=0500)[root@localhost ~]# mount /dev/sr0 /mntmount: block device /dev/sr0 is write-protected, mounting read-only[root@localhost ~]# mounts,uid=500,gid=500,iocharset=utf8,mode=0400,dmode=0500)/dev/sr0 on /mnt type iso9660 (ro)

2.配置tftp服务

1)yum 安装,启动服务

[root@localhost ~]# yum -y install tftp*[root@localhost ~]# vim /etc/xinetd.d/tftpdisable             =  no   #进入配置文件,将disable 改为no,表示启用

2)把光盘文件和复制到tftp中,以供客户端下载

寻找系统安装引导文件

[root@localhost ~]# find / -name "pxelinux.0"

如果没有找到就要安装syslinux

[root@localhost ~]# yum -y install syslinux

重新寻找可发现目录

[root@localhost ~]# find /  -name  "pxelinux.0"/usr/share/syslinux/pxelinux.0

将此文件拷贝到/var/lib/tftpboot目录下

[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/

进入该目录

[root@localhost ~]# cd /var/lib/tftpboot/

将光盘文件复制到该目录下

[root@localhost tftpboot]# cp /mnt/p_w_picpaths/pxeboot/{vmlinuz,initrd.img}  .

在该目录下创建pxelinux.cfg目录,并将光盘文件复制进入,重命名为default

[root@localhost tftpboot]# mkdir pxelinux.cfg[root@localhost tftpboot]# cd pxelinux.cfg[root@localhost pxelinux.cfg]# cp /mnt/isolinux/isolinux.cfg  ./default

修改default文件,在label linux上面加一行,这是启动的时候引导的加载系统的菜单

label centos6.5kernel vmlinuzappend ks=nfs:192.168.152.148:/centosinstall/ks.cfg ksdevice=eth0 initrd=initrd.img

3)启动tftp

[root@localhost ~]# /etc/init.d/xinetd restartStopping xinetd:                                           [  OK  ]Starting xinetd:                                           [  OK  ]

3.配置nfs服务

1)yum 安装

[root@localhost ~]# yum -y install nfs*

2)修改配置文件/etc/exports

[root@localhost ~]# vim /etc/exports /centosinstall    *(rw,sync)

3)创建/centosinstall目录将光盘文件拷贝到此目录下

[root@localhost ~]# mkdir /centosinstall[root@localhost ~]# cd /centosinstall/[root@localhost centosinstall]# nohup cp /mnt/* . -a&           #后台拷贝

4)配置/centosinstall/ks.cfg文件;此文件是kickstart的配置文件,和/root目录下anaconda-ks.cfg类似,是系统安装的主要自定义配置文件,用户通过修改此文件来设定机器安装系统的配置、磁盘分区等,可以根据自己的需要配置,以@开头的是系统安装的软件包,可以适当删减

[root@localhost centosinstall]# vim ks.cfg              #复制以下内容#platform=x86, AMD64, or Intel EM64T#version=DEVEL# Firewall configurationfirewall --disabled# Install OS instead of upgradeinstall# Use NFS installation medianfs --server=192.168.152.148 --dir=/centosinstall# Root passwordrootpw  123456# System authorization informationauth  --useshadow  --passalgo=sha512# Use graphical installgraphicalfirstboot --disable# SELinux configurationselinux --disabled# Installation logging levellogging --level=info# Reboot after installationreboot# System timezonetimezone  Asia/Shanghai# Network informationnetwork  --bootproto=dhcp --device=eth0 --onboot=on# System bootloader configurationbootloader --location=mbr# Clear the Master Boot Recordzerombr# Partition clearing informationclearpart --allpart /boot --fstype=ext4 --size=500part pv.008002 --grow --size=1volgroup vg_kickstart6 --pesize=4096 pv.008002%packages@additional-devel@base@basic-desktop@compat-libraries@console-internet@desktop-debugging@desktop-platform@development@fonts@ftp-server@general-desktop@graphical-admin-tools@graphics@input-methods@internet-applications@internet-browser@kde-desktop@legacy-x@remote-desktop-clients@x11%end

5)开启服务

[root@localhost centosinstall]# /etc/init.d/nfs restart    Starting NFS services:                                     [  OK  ]Starting NFS quotas:                                       [  OK  ]Starting NFS mountd:                                       [  OK  ]Starting NFS daemon:                                       [  OK  ]Starting RPC idmapd:                                       [  OK  ]

4.配置dhcp服务

1)yum 安装

[root@localhost ~]# yum -y install dhcp*

2)修改配置文件/etc/dhcp/dhcpd.conf

[root@localhost ~]# vim /etc/dhcp/dhcpd.conf       #复制以下内容ddns-update-style interim;ignore client-updates;next-server 192.168.152.148;filename "pxelinux.0";allow booting;allow bootp;subnet 192.168.152.0 netmask 255.255.255.0{# --- default fatewayoption routers       192.168.152.1;option subnet-mask   255.255.255.0;range dynamic-bootp 192.168.152.100 192.168.152.200;host ns {hardware ethernet 00:1a:a0:2b:38:81;fixed-address 192.168.152.101;}}

3)启动服务

[root@localhost ~]# /etc/init.d/dhcpd restartStarting dhcpd:                                            [  OK  ]

5.启动客户机

虚拟机--> 文件--> 新建虚拟机--> 典型--> 稍后安装系统--...-->完成-->开启虚拟机

出现以下页面,说明客户机已经搜索到服务机

输入centos6.5  回车,出现以下画面

这时你的机器会有点卡,这里如果弹出选项或者报错,说明配置有问题,可以检查修改配置过程,重启服务,后Ctrl+c重启安装。如果no news,证明已经开始在配置网络、下载文件了。稍等几分钟,会出现下面画面

已经是自动化安装了,整个过程不需要任何选项,安装完毕即可。