RHEl6批量自动装机(PXE网络装机)

实验案例:RHEl6批量自动装机(PXE网络装机)

实验环境:随着公司业务的不断发展,服务器主机数量也随之叙述增长,对于功能变更或新采购的服务器,需要重新安装RHEL6操作系统。为了提高服务器的装机效率,要求基于PXE网络实现全自动地无人值守批量安装。

需求描述:

Ø服务器的IP 地址为192.168.4.254,所在网段为1 92.168 .4.0/24

Ø搭建PXE网络装机服务器,为新采购的10台服务器裸机安装RHEL操作系统

Ø新装的系统必须包括基本组件、开发工具、LAMP平台,默认语言为中文

Ø为新安装的系统自动配置YUM仓库,root密码设置为redhat

准备环境:准备两台虚拟机,一台作为测试环境(RHEL6IP192.168.4.254),另一台做为RHEL6被安装端,设置网络引导安装。

推荐步骤:

Step1:搭建PXE远程安装服务器

   1.构建VSFTPd服务,并部署RHEL 6安装源

1).yum来安装所需要的软件包,先来搭建yum光盘源:

[root@test1 ~]# mount /dev/cdrom/media

/etc/yum.repos.d目录下创建一个以.repo结尾的文件:

[root@test1 ~]# vi/etc/yum.repos.d/serverl.repo

配置内容如下:

    2).安装ftp服务以及开启服务,设置为开机自动启动。

[root@test1 ~]# yum  -y  install vsftpd

[root@test1 ~]# /etc/init.d/vsftpd start

[root@test1 ~]# chkconfig vsftpd on

:开启防火墙21端口

    [root@test1 ~]#iptables �CI INPUT �Cp  tcp --dport 21 �Cj ACCEPT

     [root@test1 ~]#service iptables save

   2.构建TFTP服务,并准备好引导程序、引导菜单内、linux内核、初始化镜像

3).安装TFTP,修改tftp配置文件及开启服务

[root@test1 ~]# yum -y install tftp  

[root@test1 ~]# yum -y install tftp-server

修改配置文件里面的1314

接着重新启动xinetd服务,然后查看服务端口是否打开。

[root@test1 ~]# /etc/init.d/xinetdrestart

[root@test1 ~]#chkconfig xinetd on

[root@test1 ~]#lsof  -i:69

:开启防火墙69端口

    [root@test1 ~]#iptables �CI INPUT �Cp  udp --dport 69 �Cj ACCEPT

     [root@test1 ~]#service iptables save

     TFTP服务正常启动。注:Xinetd服务本来就是开机启动的,所以不再需要设置。

  3.构建DHCP服务,以便为192.168.4.0/24网段分配地址,并设置TFTP参数

       4).安装dhcp,修改配置文件及开启服务:

[root@test1~]# yum -y install dhcp  

[root@test1~]#vim /etc/dhcp/dhcpd.conf

1314行是网络引导需要的配置,必须要有的。

接着启动DHCP,设置为开机启动

[root@test1~]# /etc/init.d/dhcpd start

[root@test1~]# chkconfig dhcpd on

:开启防火墙67端口

    [root@test1 ~]#iptables �CI INPUT �Cp  udp --dport 67 �Cj ACCEPT

     [root@test1 ~]#service iptables save

准备工作完成,我们开始配置Kickstart

[root@test1~]# mkdir /tftpboot

[root@test1~]# mkdir /tftpboot/pxelinux.cfg

[root@test1~]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/

----如果找不到syslinux目录,需要安装包yum  install  syslinux  �Cy

[root@test1~]# cp /media/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

[root@test1~]# cp /media/images/pxeboot/initrd.img /tftpboot/

[root@test1~]# cp /media/images/pxeboot/vmlinuz /tftpboot/

[root@test1~]#vim /var/lib/tftppboot/pxelinux.cfg/default

注解:

定义三个引导入口,分别图形安装(默认)/文本安装/救援模式/

Prompt用来设置是否等待用户选择

Label用来定义并分隔启动项

Kernelappend用来定义引导参数

引导入口的参数及内容根据需要自行定义.列如,实现无人值守安装只需要一个入口就够了

修改/tftpboot/pxelinux.cfg/default的配置文件。

文件里面需要修改两行,修改第1,后面的auto意思是寻找下面3行的label auto,然后修改下5行(即在后面添加ks=ftp://192.168.10.1/ks.cfg)。第5行的意思是使安装程序通过FTP服务器访问kickstart文件。

配置文件修改完了,要开始自动安装,安装程序必须能访问kickstart文件。有多种方法可访问kickstart文件,其中最常用的一种方法是通过网络服务器进行,例如:ftp服务器、WEB服务器或NFS服务器,这种方法非常易于部署,并且也使管理更改变得十分简单。也可以通过USB磁盘、CDROM或本地硬盘。如果USBCDROM中的kickstart文件非常便于访问,只需将kickstart文件放置在用来开始安装的引导介质中。而使用DHCP服务器和TFTPPXE配置起来更为复杂。

使安装程序指向kickstart文件的书写格式如下:

ks=ftp://server/dir/file  :ks=ftp://ftp服务器IP/ks.cfg

ks=http://server/dir/file :ks=http://http服务器IP/ks.cfg

ks=nfs:server:/dir/file   :ks=nfs:nfs服务器IP:/var/ftp/pub/ks.cfg

ks=hd:device:/dir/file   :ks=hd:sdb1:/kickstar-files/ks.cfg

ks=cdrom:/dir/file      :ks=cdrom:/kickstart-files/ks.cfg

[root@test1 ~]# chmod 644/tftpboot/pxelinux.cfg/default

Step2:创建安装应答文件

安装system-config-kickstart软件包

        Yum  -y install system-config-kickstart

运行kicstart配置程序,按实验要求创建ks-lamp.cfg应答文件

打开终端输入system-config-kickstart弹出来界面。

设置下默认安装的语言,时区,根口令,然后勾选下面的安装后重新引导。然后选择安装方法。


配置ftp服务器的安装方法。选择执行新安装。然后点击引导装载程序选项

如图:

设置下分区大小。

网络这里,默认没有,点击添加网络,设备名称为eth0,网络类型为dhcp

配置如图:

防火墙和selinux根据自己需求选择开启或者禁用

在这里勾选一些包,默认可能没有勾选桌面。根据自己需求勾选。选择开发中的开发工具附加开发

安装脚本:在“预安装脚本”,“安装后脚本”对话框中,可以分别添加在安装前、安装后自动动行的可执行语句。此项设置使服务器自动化配置变得更加容易,例如可以在客户机在完成安装后自动设置YUM仓库,如下图所示,需要注意的是:应确保所编写的代码能够正确执行,以免安装失败。

然后点击左上角的文件选择保存,选择下保存的路径,然后复制ks.cfg文件到/var/ftp目录下:

    [root@test1 ~]#cp ks.cfg  /var/ftp

将应答文件复制到RHEL 6安装源所在的FTP目录

    [root@test1 ~]#cp ks.cfg  /var/ftp

--- /tftpboot/pxelinux.cfg/default文件中设置过ks=ftp://192.168.10.1/ks.cfg因此必须执行上面的一步

重新挂载RHEL6安装光盘到/var/ftp/pub目录下,开始执行另一台机器的无人值守安装

[root@test1 ~]#umount/dev/cdrom     //原来是挂载到/media下的

[root@test1 ~]#mount /dev/cdrom/var/ftp/pub

注意:

建议关闭防火墙和selinux,如果没有关闭的话,tftp服务会有问题。不信可以试试。

设置防火墙:

#iptables  -F

#service  iptables save

关毕selinux功能:有如下两种方法可以实现

1)永久关闭selinux功能:修改/etc/sysconfig/selinux文件,将SELINUX=enforcing改为disable,要重启系统才生效

2)临时关闭selinux功能:#setenforce  0  不需要重启系统

若使用vmware虚拟机,要把vmware虚拟机软件所提供的DHCP功能停掉

接下来启动你要安装的机器了(设置为网络引导安装,等待安装完成)

注解: 从网络引导系统的做法可以不必从硬盘、软盘或者CDROM光盘,而是完全通过网络来引导一台计算机。这对于安装来说很方便,不必走到机器那里插入CDROM光盘或者软盘,就可以从网络上引导位于别处的一台机器。

PXE的作用就像是在网卡上ROM里的一小小操作系统,它通过一个标准API把自已的网络引导功能提供给系统的BIOS,就可以通过网络启动linuxPXE网络引导过程:一台主机广播一个设置了PXE选项的DHCP“发现”请求,然后一台DHCP服务器用一个包含有PXE选项的DHCP包来响应它(引导服务器的IP地址和引导文件的名字)。客户机通过TFTP下载它的引导文件,然后执行这个引导文件。

Red Hat用于执行自动安装的工具叫做kickstart,system-config-kickstart工具生成kickstart的配置文件ks.cfg.

Step3:验证PXE网络装机

   (10台裸机连接到PXE服务器所在网络,并确认能够通过网络引导)

打开10台裸机的电源,确认引导成功并自动安装好RHEL  6系统

对于pc裸机,一般不需要额外配置;若要为已有系统地主机重装系统,则要修改BIOS设置

”BOOT first”设为“NETWORK””LAN”,然后重启主机

如果服务器配置正确,网络连接,PXE支持等都没问题,则客户机重启后将自动配置IP 地址.

在提示串”boot:”后直接enter,将会进入默认的图形安装入口

提示配置tcp/ip,ipv4设置默认的DHCP获取方式,IPV6支持应取消

”URL setup”中指定RHEL6安装源的URL路径

确认后将自动通过网络下载安装文件,并进入图形安装程序


本文出自 “敏而好学” 博客,谢绝转载!

你可能感兴趣的:(PXE网络装机,RHEl6批量自动装机,郑彦茹)