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的光盘
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,证明已经开始在配置网络、下载文件了。稍等几分钟,会出现下面画面
已经是自动化安装了,整个过程不需要任何选项,安装完毕即可。