感谢支持
我们一直在努力

RHEL6.0系统自动安装之PXE

一、原理篇


原理请基于博文“Ubuntu 10.04系统自动安装之PXE(局域网内) http://www.linuxidc.com/Linux/2012-07/65147.htm”


二、实战篇


1.准备工作


PXE server 系统是:rhel-server-6.0-i386,内核版本:2.6.32-71.el6.i686


镜像下载:https://content-web.rhn.redhat.com/rhn/isos/rhel-6.0/md5sum/291d234c93442405972689b4b41c14bc/rhel-server-6.0-i386-dvd.iso?__gda__=1289452095_01d4d0835d8bf9a5fe6f7b34caea76a6&ext=.iso


关闭防火墙:service iptables stop


关闭selinux:


#vim /etc/sysconfig/selinux


SELINUX=disabled


2.yum 环境的搭建


光盘文件copy:


#mount /dev/cdrom /mnt


#mkdir /home/var/isofile -p


#cp –r /mnt/* /home/var/isofile


yum的搭建:


#vim /etc/yum.repo.d/pxeserver.repo


[base]


name=base


baseurl=file:///home/var/isofile


gpgcheck=no


 


测试yum的搭建是否正确: #yum list


3.dhcp的安装与配置


#yum install dhcp


配置dhcp:


#vim /etc/dhcp/dhcpd.conf


subnet 192.168.0.0 netmask 255.255.255.0 { #dhcpserver 分配ip的子网192.168.0网段,必须和PXE server的一个网卡同一个网段
range 192.168.0.100 192.168.0.200; #为客户端分配ip范围
option domain-name “192.168.0.105”;
option domain-name-servers 192.168.0.105; #此项不写可能在自动安装时让您手动添加,这样达不到自动化的目的
option routers 192.168.0.111;
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.0.105; #指定tftp server的ip
filename “pxelinux.0”; #通过tftp找到pxelinux.0文件,并下载
}


启动并设置成开机启动:


#service dhcpd start


#chkconfig dhcpd on


4.apache的安装与配置


#yum install httpd


启动并设置开机启动:


#service httpd start


#chkconfig httpd on


做安装文件的软连接:


#ln –s /home/var/isofile /var/www/html/rhel6


保证通过浏览器访问:http://192.168.0.105/rhel6 可以看到安装文件(注意:iptables 和 selinux)

5.tftp的安装与配置以及syslinux的安装


#yum install tftp*


#vim /etc/xinetd.d/tftp


service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot #tftp服务目录
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}


启动tftp服务并设置开机启动:


#service xinetd start


#chkconfig xinetd on


 


安装syslinux,主要用其提供的pxelinux.0文件


#yum install syslinux


copy内核文件到/var/lib/tftpboot目录下:


# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/


#cp /home/var/isofile/isolinux/initrd.img /var/lib/tftpboot


#cp /home/var/isofile/isolinux/vmlinuz /var/lib/tftpboot


#cp /home/var/isofile/isolinux/vesamenu.c32 /var/lib/tftpboot


创建目录:


#mkdir /var/lib/tftpboot/pxelinux.cfg


#cp /home/var/isofile/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default


修改default文件:


#vim /var/lib/tftpboot/pxelinux.cfg/default


default vesamenu.c32
#prompt 1
timeout 1 #这个时间改为1,一秒后自动帮您选择install


display boot.msg


menu background splash.jpg
menu title Welcome to Red Hat Enterprise Linux 6.0!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000


label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.0.105/rhel6/ks.cfg #指明ks.cfg文件的位置


6.kickstart的安装与配置


#yum install system-config-kickstart


启动kickstark并生成ks.cfg文件到/root目录下:


#system-config-kickstart &


#mv /root/ks.cfg /var/www/html/rhel6


这一步可能遇到的问题:


a.yum 安装kickstart任然缺少依赖包


解决方法:


把yum源换成CentOS6.2的源,众所周知rhel和centos是兼容的;把pxeserver.repo文件内容换为:


#vim /etc/yum.repos.d/pxeserver.repo


[base]
name=CentOS-6.2 – Base
baseurl=http://mirrors.163.com/centos/6.2/os/$basearch/
gpgcheck=0
gpgkey=http://mirrors.163.com/centos/6.2/os/i386/RPM-GPG-KEY-CentOS-6


#released updates
[updates]
name=CentOS-6.2 – Updates
baseurl=http://mirrors.163.com/centos/6.2/os/$basearch/
http://mirrors.163.com/centos/6.2/os/$basearch/
gpgcheck=0
gpgkey=http://mirrors.163.com/centos/6.2/os/i386/RPM-GPG-KEY-CentOS-6


#packages used/produced in the build but not released
[addons]
name=CentOS-6.2 – Addons
baseurl=http://mirrors.163.com/centos/6.2/os/$basearch/
http://mirrors.163.com/centos/6.2/os/$basearch/
gpgcheck=0
gpgkey=http://mirrors.163.com/centos/6.2/os/i386/RPM-GPG-KEY-CentOS-6


#additional packages that may be useful
[extras]
name=CentOS-6.2 – Extras
baseurl=http://mirrors.163.com/centos/6.2/os/$basearch/
http://mirrors.163.com/centos/6.2/os/$basearch/
gpgcheck=0
gpgkey=http://mirrors.163.com/centos/6.2/os/i386/RPM-GPG-KEY-CentOS-6


#additional packages that extend functionality of existing packages


[centosplus]
name=CentOS-6.2 ¨C Plus
baseurl=http://mirrors.163.com/centos/6.2/os/$basearch/
http://mirrors.163.com/centos/6.2/os/$basearch/
gpgcheck=0
gpgkey=http://mirrors.163.com/centos/6.2/os/i386/RPM-GPG-KEY-CentOS-6


#contrib – packages by Centos Users
[contrib]
name=CentOS-6.2 – Contrib
baseurl=http://mirrors.163.com/centos/6.2/os/$basearch/
http://mirrors.163.com/centos/6.2/os/$basearch/
gpgcheck=0
gpgkey=http://mirrors.163.com/centos/6.2/os/i386/RPM-GPG-KEY-CentOS-6


这样就解决了


b.kickstart启动不了


因为kickstart启动要弹出一个图形化界面,如果你没有安装x windwow或者不支持桌面,那么kickstart就启动不了。


解决方法:安装桌面环境


#yum groupinstall “X Window System”


#yum groupinstall “Desktop”


再次#system-config-kickstart & 启动就ok了

三、测试篇


1.设置客户端网络启动,效果如下


RHEL6.0系统自动安装之PXE


RHEL6.0系统自动安装之PXE


RHEL6.0系统自动安装之PXE


easy吧,只要原理理解不管是http、nfs、ftp、cd-rom还是Hard Drive只要明白其原理,所有的操作系统实现自动安装就easy了。

赞(0) 打赏
转载请注明出处:服务器评测 » RHEL6.0系统自动安装之PXE
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏