利用kickstart实现pxe的自动安装
你还在一台台的手动安装系统吗?
告诉你个偷懒的方法,你会喜欢的!
一、
pxe的概念
PXE(preboot execute environment),工作于C/S(客户机服务器)的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络操作系统的启动过程。
pxe优点
1、减少安装时间;
2、没有cannot find or load required file krnl386.exe问题;
3、没有tnt系列显卡16色问题;
4、没有添加了文件和打印共享就出错的问题;
5、没有修改工作站时间死机问题;
6、没有无法正常关机与重启的问题;
二、
实验原理
三、
实验要求:
实现计算机加电后自动安装linux操作系统;
计算机加电后能自动获得IP地址(192.168.10.0/24网段);
计算机加电后,通过FTP上的资源安装linux操作系统;
实现完全脱机安装系统;
利用后安装脚本配置系统主机名(格式:station+ip最后以为.a.com);
利用后安装脚本使系统获得的动态IP转换成静态IP;
启动时禁止sendmail服务和cups服务的启动;
四、
实验拓扑图:
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_13439650145W3r.png"></a>
五、
实验步骤
1、配置yum服务器
当使用pxe自动安装系统时,为了避免安装包的依赖性而影响脱机安装,所以必须使用yum服务器。
编辑yum配置文件
[root@localhost ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_13439650544zT1.png"></a>
2、安装DHCP服务器
DHCP服务器,为用户提供动态IP地址,是实现pxe安装的必要条件。
挂载光盘:
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@localhost ~]#
安装dhcp
[root@localhost ~]# yum install dhcp
3、配置DHCP服务器
[root@localhost ~]# vim /etc/dhcpd.conf
在底行模式中输入:
:r /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965114I6gc.png"></a>
4、启动DHCP服务
[root@localhost ~]# service dhcpd restart
Shutting down dhcpd: [ OK ]
Starting dhcpd: [ OK ]
5、开启TFTP
编辑tftp的超级守护进程:
[root@localhost ~]# vim /etc/xinetd.d/tftp
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965140JiVu.png"></a>
重启超级守护进程:
[root@localhost ~]# service xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
6、将驱动和内核拷贝到/tftpboot目录下
切换到tfpt根目录下:
[root@localhost ~]# cd /tftpboot
将pxe的驱动考到/tftpboot目录下:
[root@localhost tftpboot]# cp /usr/lib/syslinux/pxelinux.0 ./
将pxe的内核考到/tftpboot目录下
[root@localhost tftpboot]# cp /mnt/cdrom/images/pxeboot/vmlinuz ./
将pxe的跟硬件相关考到/tftpboot目录下
[root@localhost tftpboot]# cp /mnt/cdrom/images/pxeboot/initrd.img ./
[root@localhost tftpboot]#
在/tftpboot目录下创建一个目录pexlinux.cfg
[root@localhost tftpboot]# mkdir -pv pxelinux.cfg
mkdir: created directory `pxelinux.cfg'
将光盘上的引导文件拷贝到pexlinux.cfg目录下
用于脱机配置启动时一些其他的交互
[root@localhost tftpboot]# cp /mnt/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default
7、配置引导过程中的一些信息
[root@localhost tftpboot]# cd pxelinux.cfg/
[root@localhost pxelinux.cfg]# vim default
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965153B4QC.png"></a>
8、安装FTP服务器
FTP服务器,为用户提供的网络资源,用于为用户提供linux操作系统的安装包,实现网络安装。
[root@localhost ~]# yum install -y vsftpd
启动ftp服务
[root@localhost ~]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
9、将linux系统镜像拷贝到ftp的pub目录下
[root@localhost ~]# cp -r /mnt/cdrom/. /var/ftp/pub
[root@localhost ~]# du -sh /var/ftp/pub
2.9G /var/ftp/pub
拷贝成功
10、安装kickstart
[root@localhost ~]# yum install -y system-config-kickstart
11、配置kickstart
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965200RlyV.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965230bX3Z.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965267wrG5.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965291GGjE.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965315VEFG.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965330jV3s.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965351om64.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965366cKPm.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965383toyj.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965393tXsI.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_13439654052TV8.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965423W73E.png"></a>
<a href="http://blog.51cto.com/attachment/201208/115313132.png" target="_blank"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_13439654630fi5.png"></a>
后安装脚本代码:
ADDRESS=`ifconfig |grep -i bcast |awk '{print $2}'`
NUM=${ADDRESS##*.}
ADD=${ADDRESS##*:}
sed -i "s/HOSTNAME.*$/HOSTNAME=station$NUM.a.com/" /etc/sysconfig/network
sed -i "s/BOOTPROTO.*$/BOOTPROTO=none/" /etc/sysconfig/network-scripts/ifcfg-eth0
echo "IPADDR=$ADD" &gt;&gt; /etc/sysconfig/network-scripts/ifcfg-eth0
echo "NETMASK=255.255.255.0" &gt;&gt; /etc/sysconfig/network-scripts/ifcfg-eth0
echo "NETWORK=192.168.10.0" &gt;&gt; /etc/sysconfig/network-scripts/ifcfg-eth0
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965479coCb.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965495UHwr.png"></a>
12、编辑ks.cfg
[root@localhost ~]# vim /root/ks.cfg
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965508GG84.png"></a>
13、将kickstart形成的引导文件ks.cfg考到ftp的pub目录中
使得用户在连接到FTP后能够获得ks.cfg文件。
[root@localhost ~]# cp /root/ks.cfg /var/ftp/pub
六、
测试的结果
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965513Rn3I.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965521Kvyn.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_13439655313ii8.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965533EQUd.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965535wTwU.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965542QEkg.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965547gxL2.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_13439655548Ewj.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965561upow.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965571kbmX.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965587kki1.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965599dbBm.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965608xjgB.png"></a>
<a href="http://blog.51cto.com/attachment/201208/115345365.png" target="_blank"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965627JPnP.png"></a>
<a href="http://cexpert.blog.51cto.com/attachment/201208/3/5251990_1343965633KzVL.png"></a>
本文转自 cexpert 51CTO博客,原文链接:http://blog.51cto.com/cexpert/952570