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 /mnt mount: block device /dev/sr0 is write-protected, mounting read-only [root@localhost ~]# mount s,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/tftp disable = 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.5 kernel vmlinuz append ks=nfs:192.168.152.148:/centosinstall/ks.cfg ksdevice=eth0 initrd=initrd.img
3)启动tftp
[root@localhost ~]# /etc/init.d/xinetd restart Stopping 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 configuration firewall --disabled # Install OS instead of upgrade install # Use NFS installation media nfs --server=192.168.152.148 --dir=/centosinstall # Root password rootpw 123456 # System authorization information auth --useshadow --passalgo=sha512 # Use graphical install graphical firstboot --disable # SELinux configuration selinux --disabled # Installation logging level logging --level=info # Reboot after installation reboot # System timezone timezone Asia/Shanghai # Network information network --bootproto=dhcp --device=eth0 --onboot=on # System bootloader configuration bootloader --location=mbr # Clear the Master Boot Record zerombr # Partition clearing information clearpart --all part /boot --fstype=ext4 --size=500 part pv.008002 --grow --size=1 volgroup 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 fateway option 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 restart Starting dhcpd: [ OK ]
5.启动客户机
虚拟机--> 文件--> 新建虚拟机--> 典型--> 稍后安装系统--...-->完成-->开启虚拟机
出现以下页面,说明客户机已经搜索到服务机
输入centos6.5 回车,出现以下画面
这时你的机器会有点卡,这里如果弹出选项或者报错,说明配置有问题,可以检查修改配置过程,重启服务,后Ctrl+c重启安装。如果no news,证明已经开始在配置网络、下载文件了。稍等几分钟,会出现下面画面
已经是自动化安装了,整个过程不需要任何选项,安装完毕即可。