方法:FTP+TFTP+DHCP+Kickstart+PXE
一、 实验环境:准备两台虚拟机,一台作为测试环境(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
配置内容如下:
[root@test ~]# cat /etc/yum.repos.d/server.repo
[base]
name=base
baseurl=file:///media/Server
enabled=1
gpgcheck=0
2.安装ftp服务以及开启服务,设置为开机自动启动
[root@test ~]# yum -y install vsftpd
[root@test ~]# service vsftpd start
[root@test ~]# chkconfig vsftpd on
3.安装TFTP,修改TFTP的配置文件以及开启服务
[root@test ~]# yum -y install tftp
[root@test ~]# yum -y install tftp-server
修改配置文件里面的13,14行
接着重新启动xinetd服务,然后查看服务端口是否打开。
[root@test ~]# service xinetd retsart
OK,TFTP服务正常启动。xinetd服务本来就是开机自动启动,所以这里不需要在设置。
4.安装dhcp服务,修改配置文件及开启服务
[root@test ~]# yum -y install dhcp
第9,10行是网络引导所需要的配置文件爱呢,必须要有。
接着启动DHCP服务,设置为开机启动。
[root@test ~]# service dhcpd start
[root@test ~]# 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 -y install system-config-kickstart.noarch
[root@test ~]# cp /mnt/isolinux.cfg /tftpboot/pxelinux.cfg/default
[root@test ~]# cp /mnt/images/pxeboot/initrd.img /tftpboot/
[root@test ~]# cp /mnt/images/pxeboot/vmlinuz /tftpboot/
[root@test ~]# 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 文件
使安装程序指向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弹出来界面
我们设置下默认安装的语言,时区,根口令,然后勾选下面的安装后重新引导。然后选择安装方法。
我们配置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功能停掉
接下来启动你要安装的机器了(设置为网络引导安装,你就可以休息下,等待自己安装完成)