利用Kickstart实现无人值守安装Rhel6.0系统

所谓的无人值守安装,就是不需要管理员繁琐的插入系统光盘或者启动U盘,而是从网络引导进行安装。这里就说到了PXE了,PXE是由Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。并且要实现自动安装还需要一个工具,那就是kickstart。

总结:要实现无人值守安装需要以下条件。

  • 客户机网卡支持PXE协议,且主板支持网络引导,(这个现在的服务器都支持。

  • 网络中有一台DHCP服务器以便为客户机自动分配地址,指定引导文件位置。

  • 服务器需要配置TFTP服务,以便提供镜像文件的下载。

搭建PXE远程安装服务器

1、准备RHEL 6安装源

先配置yum源,然后安装ftp服务,因为我们需要使用ftp服务发布系统。

[root@localhost /]#yum -y install vsftpd

[root@localhost /]#cp -rf /media/* /var/ftp/rhel6

[root@localhost /]#service vsftpd start

2、安装并启用TFTP服务

 TFTP服务由tftp-server软件包提供,默认由xinetd超级服务进行管理,因此配置文件位于/etc/xinetd.d/tftp,修改配置如下:并启动xinetd服务。

[root@localhost /]#yum -y install tftp-server

[root@localhost /]#vim /etc/xinetd.d/tftp

[root@localhost /]#service xinetd start

3、准备Linux内核、初始化镜像文件

 用于PXE网络安装的Linux内核,初始化镜像文件可以从RHEL6系统光盘中获得,分别为vmlinuz和initrd.img,位于文件夹images/pxeboot中。找到这两个文件并将其复制到tftp服务的根目录下。

[root@localhost /]#cd /media/images/pxeboot/

[root@localhost pxeboot]#cp vmlinuz initrd.img /var/lib/tftpboot/

4、准备PXE引导程序,启动菜单文件

 用于PXE网络安装的引导程序为pxelinux.0,由软件包syslinux提供。安装好软件包syslinux,然后将文件pxelinux.0也复制到tftp服务的根目录下。

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

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

 启动菜单用来指导客户机的引导过程,包括 调用内核,如何加载初始化镜像。默认的启动菜单文件为default,应放置在tftp根目录的pxelinux.cfg子目录中,典型的启动菜单配置可参考以下操作,进行手动创建。

[root@localhost /]#mkdir /var/lib/tftpboot/pxelinux.cfg

[root@localhost /]#vim /var/lib/tftpboot/pxelinux.cfg/default

default auto       //指定默认入口名称

prompt 1           //1表示等待用户控制,0表示不等待用户。

label auto

   kernel vmlinuz

   append initrd=initrd.img devfs=nomount ramdisk_size=8192

label linux text

   kernel vmlinuz

   append text initrd=initrd.img devfs=nomount ramdisk_size=8192

label linux rescue

   kernel vmlinuz

   append rescue initrd=initrd.img devfs=nomount ramdisk_size=8192

 上述配置记录中定义了三个引导入口,分别为图形安装(默认),文本安装,救援模式。其中,prompt用来设置是否等待用户选择,label用来定义并分隔启动项,kernel和append用来定义引导参数。

引导入口的个数及内容根据需要自行定义,例如:如果要实现无人值守安装时只需要一个入口就够了,但是需要指定kickstart配置文件的路径

[root@localhost /]#vim /var/lib/tftpboot/pxelinux.cfg/default

default auto      

prompt 0        

label auto

 kernel vmlinuz

append ks=ftp://192.168.1.1/rhel6/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=8192

5、安装并启用DHCP服务

 由于PXE客户机通常是尚未装系统的裸机,因此为了如服务器取得联系并正确下载相关引导文件,需要预先配置好DHCP服务来自动分配地址并告知引导文件的位置。

[root@localhost /]#yum -y install dhcp

[root@localhost /]#vim /etc/dhcp/dhcp.conf

ddns-update-style none;

default-lease-time 21600;

max-lease-time 43200;

option domain-name         "benet.com";

option domain-name-service 202.106.0.20 202.106.148.1;

subnet 192.168.1.0 netmask 255.255.255.0 {

   option routers 192.168.1.1;

   option subnet-mask 255.255.255.0;

   range 192.168.1.100 192.168.1.200;

   next-server 192.168.1.1;   //指定TFTP服务器的地址

   filename "pxelinux.0";     //指定PXE引导程序的文件名

   }

[root@localhost /]#service dhcpd start

6、安装Kickstart工具

 在RHEL6系统中安装system-config-kickstart工具以后,即可通过图形化界面向导工具来配置安装应答文件。如果用户对自动应答文件的配置比较熟悉,也可以直接编辑RHEL6安装后自动创建的应答文件(/root/anaconda-ks.cfg),根据需要适当修订后使用。

[root@localhost /]#yum -y install system-config-kickstart

1)配置安装应答参数,即创建ks.cfg配置文件。

在命令行中输入system-config-kickstart即可打开kickstart的配置向导。

[root@localhost /]#system-config-kickstart

2)在打开的配置的向导中,展开基本配置选项可以设定安装语言、root口令、安装后重新引导。

3)展开安装方法选项,应正确指定RHEL6安装源。

4)在引导装载程序选项中,可以设置GRUB密码以及GRUB的安装目录。

5)在分区信息选择中,可以规划分区方案。

6)网络配置及防火墙配置

 在“网络配置”对话框中,添加一个网络设备“eth0”,将网络类型设为“DHCP”。

 在“防火墙配置”对话框中,可以禁用SElinux、禁用防火墙。

7)在“软件配置”对话框汇总,可以根据实际需要选择要安装的软件包分组。

8)在“预安装脚本”和“安装后脚本”对话框中,可以分别添加在安装前,安装后自动运行的可执行语句。

9)保存Kickstart配置文件,单击“文件”→“保存”菜单,指定目标文件夹,文件名,将配置好的应答参数保存为文本文件。

7、将配置好的Kickstart的配置文件拷贝到PXE安装服务器的FTP目录下,就可以实现基于网络的无人值守安装了。

[root@localhost /]#cp /root/ks.cfg /var/ftp/rhel6/


至此PXE安装服务器就算是配置完成了,现在只需要在客户端在BISO中将网卡调为网络启动即可安装系统了,注意:需要将PXE安装服务器的防火墙关闭


转自:http://cshbk.blog.51cto.com/5685776/1286727

你可能感兴趣的:(kickstart)