方法:FTP+TFTP+DHCP+Kickstart+PXE
从网络引导系统的作法能够没必要从硬盘、软盘或者CD-ROM光盘,而是彻底经过网络来引导一台计算机。这对于安装来讲很方便,由于它意味着你能够坐在桌子旁边,没必要走到机器那里插入CD-ROM光盘或者软盘,就能够从网络上引导位于别处的一台机器。
PXE的做用就像是在网卡上ROM里的一小小操做系统,它经过一个标准API把自已的网络引导功能提供给系统的BIOS,就能够经过网络启动linux;PXE网络引导过程:一台主机广播一个设置了PXE选项的DHCP“发现”请求,而后一台DHCP服务器用一个包含有PXE选项的DHCP包来响应它(引导服务器的IP地址和引导文件的名字)。客户机经过TFTP下载它的引导文件,而后执行这个引导文件。
Red Hat用于执行自动安装的工具叫作kickstart,由system-config-kickstart工具生成kickstart的配置文件ks.cfg.
实验环境:准备两台虚拟机,一台做为测试环境(RHEL6,IP为192.168.10.1),另外一台做为RHEL6被安装端,设置网络引导安装。
安装所须要的服务及修改相应配置文件:
1.用yum来安装所须要的软件包,先来搭建yum光盘源:
[root@test1 ~]# mount /dev/cdrom /mnt
在/etc/yum.repos.d目录下建立一个以.repo结尾的文件:
[root@test1 ~]# vi /etc/yum.repos.d/serverl.repo
配置内容以下:
2.安装ftp服务以及开启服务,设置为开机自动启动。
[root@test1 ~]# yum install vsftpd –y
[root@test1 ~]# /etc/init.d/vsftpd start
[root@test1 ~]# chkconfig vsftpd on
3.安装TFTP,修改tftp配置文件及开启服务
[root@test1 ~]# yum install tftp –y
[root@test1 ~]# yum install tftp-server –y
修改配置文件里面的13,14行
接着从新启动xinetd服务,而后查看服务端口是否打开。
[root@test1 ~]# /etc/init.d/xinetd restart
OK,TFTP服务正常启动。Xinetd服务原本就是开机启动的,因此这里咱们再也不须要设置。
4.安装dhcp,修改配置文件及开启服务:
[root@test1 ~]# yum install dhcp –y
第9,10行是网络引导须要的配置,必需要有的。
接着启动DHCP,设置为开机启动
[root@test1 ~]# /etc/init.d/dhcpd start
[root@test1 ~]# chkconfig dhcpd on
准备工做完成,咱们开始配置Kickstart
[root@test1 ~]# mkdir /tftpboot
[root@test1 ~]# mkdir /tftpboot/pxelinux.cfg
[root@test1 ~]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/
----若是找不到syslinux目录,须要安装包yum installsyslinux –y
[root@test1 ~]# cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
[root@test1 ~]# cp /mnt/p_w_picpaths/pxeboot/initrd.img /tftpboot/
[root@test1 ~]# cp /mnt/p_w_picpaths/pxeboot/vmlinuz /tftpboot/
[root@test1 ~]# chmod 644 /tftpboot/pxelinux.cfg/default
而后修改/tftpboot/pxelinux.cfg/default的配置文件。
文件里面须要修改两行,修改第1行,后面的linux意思是寻找下面18行的label linux,而后修改下22行(即在后面添加ks=ftp://192.168.10.1/ks.cfg)。第22行的意思是使安装程序经过FTP服务器访问kickstart文件。
其中第1行:default linux表示指定默认入口名称;第2行:prompt 1中prompt用来设置是否等待用户选择,1表示等待用户控制;第18、23、27、31行label linux表示定义的引导入口,表示系统的不一样安装方式,如第18行定义的入口表示图形安装。
配置文件修改完了,要开始自动安装,安装程序必须能访问kickstart文件。有多种方法可访问kickstart文件,其中最经常使用的一种方法是经过网络服务器进行,例如:ftp服务器、WEB服务器或NFS服务器,这种方法很是易于部署,而且也使管理更改变得十分简单。也能够经过USB磁盘、CD-ROM或本地硬盘。若是USB或CD-ROM中的kickstart文件很是便于访问,只需将kickstart文件放置在用来开始安装的引导介质中。而使用DHCP服务器和TFTP及PXE配置起来更为复杂。
使安装程序指向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
以上有关default配置文件的修改就是经过ftp服务器方式来访问kickstart文件。接下来咱们制做kickstart的无人值守安装文件。要安装system-config-kickstart软件包
接下来咱们打开终端输入system-config-kickstart弹出来界面。
咱们设置下默认安装的语言,时区,根口令,而后勾选下面的安装后从新引导。而后选择安装方法。
咱们配置ftp服务器的安装方法。选择执行新安装。而后点击引导装载程序选项
参考我上面的选择。接着
到这一步,选择部分参考个人。布局这里,咱们本身设置下分区大小。
网络这里,默认没有,点击添加网络,设备名称为eth0,网络类型为dhcp
参考个人配置
防火墙和selinux根据本身需求选择开启或者禁用
在这里勾选一些包,默承认能没有勾选桌面。根据本身需求勾选。后面剩余的两项不须要配置。
安装脚本:在“预安装脚本”,“安装后脚本”对话框中,能够分别添加在安装前、安装后自动动行的可执行语句。此项设置使服务器自动化配置变得更加容易,例如能够在客户机在完成安装后自动设置YUM仓库,以下图所示,须要注意的是:应确保所编写的代码可以正确执行,以避免安装失败。
而后点击左上角的文件选择保存,选择下保存的路径,而后复制ks.cfg文件到/var/ftp目录下:
[root@test1 ~]#cp ks.cfg /var/ftp
注:ks.cfg就是无人值守安装时要用的Kickstart文件,该文件能够手动进行编辑,若是手动编辑Kickstart文件,则使用ksvalidator来验证该文件使用正确的关键字,但却没法验证URL路径、各个数据包或组等书写错误。Ksvalidator是system-config-kickstart数据包的一部分,所以必需要安装该软件包
---还记的/tftpboot/pxelinux.cfg/default文件中设置过ks=ftp://192.168.10.1/ks.cfg所以必须执行上面的一步
从新挂载RHEL6安装光盘到/var/ftp/pub目录下,开始执行另外一台机器的无人值守安装:
[root@test1 ~]#umount /dev/cdrom //原来是挂载到/mnt下的
[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功能停掉