天天看点

利用kickstart实现pxe的自动安装

利用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" &amp;gt;&amp;gt; /etc/sysconfig/network-scripts/ifcfg-eth0 

echo "NETMASK=255.255.255.0" &amp;gt;&amp;gt; /etc/sysconfig/network-scripts/ifcfg-eth0 

echo "NETWORK=192.168.10.0" &amp;gt;&amp;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

继续阅读