方法:FTP+TFTP+DHCP+Kickstart+PXE
准备两台虚拟机,一台作为测试环境(RHEL6,IP为192.168.10.2),另一台作为RHEL6被安装端,设置网络引导安装。网卡连接方式要一样,我这里选的都是hostonly。
安装所需要的服务及修改相应配置文件:
1.用yum来安装所需要的软件包,先来搭建yum光盘源:
[root@test1~]# mount /dev/cdrom /mnt
2.在/etc/yum.repos.d目录下创建一个以.repo结尾的文件:
[root@test1~]# vi /etc/yum.repos.d/serverl.repo
配置内容如下:
[local]
name=local
baseurl=file:///mnt/
enable=1
gpgcheck=0
3.修改yum全局配置文件/etc/yum.conf
将第八行
gpgcheck=1改为gpgcheck=0
安装ftp服务以及开启服务,设置为开机自动启动。
[root@test1~]# yum install vsftpd
[root@test1~]# /etc/init.d/vsftpd start
[root@test1~]# chkconfig vsftpd on (配置开机自动启动)
安装TFTP,修改tftp配置文件及开启服务
[root@test1~]# yum install tftp
[root@test1~]# yum install tftp-server
[root@redhat111~]# vim /etc/xinetd.d/tftp
#default: off
#description: The tftp server serves files using the trivial filetransfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-awareprinters, \
# and to start the installation process for some operating systems.
servicetftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
======================
只需修改13和14行
接着重新启动xinetd服务,然后查看服务端口是否打开。
[root@redhat111 ~]# /etc/init.d/xinetd restart
[root@redhat111~]# netstat -lnp | grep 69
udp 0 0 0.0.0.0:69 0.0.0.0:* 8950/xinetd
OK,TFTP服务正常启动。Xinetd服务本来就是开机启动的,所以这里我们不再需要设置。
[root@test1~]# yum install dhcp
修改配置文件
[root@redhat111~]# vim /etc/dhcp/dhcpd.conf
ddns-update-styleinterim;
ignoreclient-updates;
subnet192.168.10.0 netmask 255.255.255.0 {
optionrouters 192.168.10.2;
optionsubnet-mask 255.255.255.0;
optiontime-offset -18000; # Eastern Standard Time
rangedynamic-bootp 192.168.10.10 192.168.10.99;
default-lease-time21600;
max-lease-time43200;
filename"pxelinux.0";
next-server192.168.10.2; ###无人值守服务器ip
}
========================
倒数第二、三行是网络引导需要的配置,必须要有的。
接着启动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目录,需要安装包yuminstall system-config-kickstart.noarch)
[root@test1~]# cp/mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default [root@test1~]# cp/mnt/images/pxeboot/initrd.img /tftpboot/
[root@test1~]# cp/mnt/images/pxeboot/vmlinuz /tftpboot/
[root@test1~]# chmod 644/tftpboot/pxelinux.cfg/default
然后修改下默认的配置文件。
==============
[root@redhat111~]# vim /tftpboot/pxelinux.cfg/default
defaultlinux
#prompt1
timeout600
displayboot.msg
menubackground splash.jpg
menutitle Welcome to Red Hat Enterprise Linux 6.0!
menucolor border 0 #ffffffff #00000000
menucolor sel 7 #ffffffff #ff000000
menucolor title 0 #ffffffff #00000000
menucolor tabmsg 0 #ffffffff #00000000
menucolor unsel 0 #ffffffff #00000000
menucolor hotsel 0 #ff000000 #ffffffff
menucolor hotkey 7 #ffffffff #ff000000
menucolor scrollbar 0 #ffffffff #00000000
labellinux
menulabel ^Install or upgrade an existing system
menudefault
kernelvmlinuz
appendinitrd=initrd.img ks=ftp://192.168.10.2/ks.cfg
labelvesa
menulabel Install system with ^basic video driver
kernelvmlinuz
appendinitrd=initrd.img xdriver=vesa nomodeset
labelrescue
menulabel ^Rescue installed system
kernelvmlinuz
appendinitrd=initrd.img rescue
labellocal
menulabel Boot from ^local drive
localboot0xffff
======================================
文件里面需要修改两行,修改第1行,后面的linux意思是寻找下面18行的labellinux,然后修改下22行。
【如果你要做成有人值守安装,取消22行的ks=ftp://192.168.10.2/ks.cfg
然后在/目录下新建一个目录rhel6,将光盘里面的文件cp到/rhel6目录里面,配置下nfs共享。就可以网络有人值守安装了。(可以自行做测试)】
先按照配置文件修改下其中的两行,后面我们会解释添加的ftp路径干啥。
配置文件修改完了,
接下来我们制作无人值守安装文件。
在图形化界面运行system-config-kickstart弹出来界面。(要在图形环境下运行,不可以在远程终端中执行)
图形配置kickstart
我们设置下默认安装的语言,时区,根口令,然后勾选下面的安装后重新引导。然后选择安装方法。
我们配置ftp服务器的安装方法。选择执行新安装。然后点击引导装载程序选项,ftp服务器填写自己的ftp服务器ip,
添加分区方式,最为简单的就是一个根分区和一个交换分区。
网络这里,默认没有,点击添加网络,设备名称为eth0,网络类型为dhcp
防火墙和selinux根据自己需求选择开启或者禁用
在这里勾选一些包,默认可能没有勾选桌面。根据自己需求勾选。后面剩余的两项不需要配置。
然后点击左上角的文件选择保存,选择下保存的路径(默认会保存在运行图形kickstart是的工作目录),然后
复制ks.cfg文件到/var/ftp目录下:
[root@test1~]#cp ks.cfg /var/ftp
---还记的/tftpboot/pxelinux.cfg/default文件中设置过ks=ftp://192.168.10.2/ks.cfg因此必须执行上面的一步
重新挂载RHEL6安装光盘到/var/ftp/pub目录下,开始执行另一台机器的无人值守安装:
[root@test1~]#umount /dev/cdrom //原来是挂载到/mnt下的
[root@test1~]#mount /dev/cdrom /var/ftp/pub
接下来新建一个虚拟机,直接启动就可以安装了。
注意:
1、建议关闭防火墙和selinux,如果没有关闭的话,tftp服务会有问题。不信的话可以试试。关闭防火墙,否则启动不了
Iptables-F ,
2、注意网卡模式要设置一致