VMware虚拟机PXE安装RHEL6.4

时间:2022-12-24 07:58:15

       PXE(预启动执行环境)是RPL的升级品。它们的不同之处在于RPL是静态路由,而PXE是动态路由。其通信协议采用TCP/IP,与Internet连接高效而可靠。PXE最直接的表现是,在网络环境下工作站可以省去硬盘,但又不是通常所说的无盘站的概念,因为使用该技术的PC在网络方式下的运行速度要比有盘PC快3倍以上。当然使用PXE的PC也不是传统意义上的Terminal终端,因为使用了PXE的PC并不消耗服务器的CPU、RAM等资源,故服务器的硬件要求极低。简单说来,PXE服务器就是DHCP服务器+TFTP服务器。

(1)客户端开机后,PXE BootROM(自启动芯片)获得控制权之前执行自我测试,然后以广播形式发出一个请求FIND帧。
(2)如果服务器收到客户端所送出的要求,就会送回DHCP回应,包括用户端的IP地址、预设通信通道,以及开机映像文件;否则服务器会忽略这个要求。
(3)客户端收到服务器发回的响应后则会回应一个帧,以请求传送启动所需文件,并把自己的MAC地址写到服务器端的Netnames.db文件中。
(4)将有更多的消息在客户端与服务器之间应答,用于决定启动参数。BootROM由TFTP通信协议从服务器下载开机映像文档。客户端使用TFTP协议接收启动文件后,将控制权转交启动块以引导操作系统,完成远程启动
 

VMware虚拟机PXE安装RHEL6.4



主要是三个服务配置:dhcpd(客户机网络配置)、tftp(系统启动文件)、nfs(系统安装文件)

1.服务器虚拟机的网络用dhcp自动分发就行

#ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:67:DC:25  

          inet addr:192.168.217.132  Bcast:192.168.217.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fe67:dc25/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:137165 errors:0 dropped:0 overruns:0 frame:0

          TX packets:93461 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:158195379 (150.8 MiB)  TX bytes:7644725 (7.2 MiB)

 #ping www.baidu.com

看是否可以ping通


2.服务器安全机制(iptable、selinux)

service iptables stop

setenforce 0 (临时)

 

3.dhcp安装与配置

#yum install dhcp -y

 

配置文件修改

#vim /etc/dhcp/dhcpd.conf

 

#表示dhcp服务器和dns服务器的动态信息更新模式。这行必须要有dhcp服务器才能启动以来。

ddns-update-style interim;

#忽略客户端更新

ignore client-updates;

#定义能够PXE启动

allow booting;

#定义支持bootp

allow bootp;

#定义名为pxeclients的类

class "pxeclients"{

#匹配客户机发送来的请求含有字符串0-9共10个字符是PXEClient才响应请求

match if substring(option vendor-class-identifier,0,9) = "PXEClient";

#载启动文档的文件名

filename "RHEL6.4/pxelinux.0";

#TFTP Server的IP地址

next-server 192.168.217.132;

}

subnet 192.168.217.0 netmask 255.255.255.0 {

#设置默认路由为192.168.217.1

option routers 192.168.217.1;

#子网掩码

option subnet-mask 255.255.255.0;

#设定与格林威治时间的偏移值

option time-offset -18000; # Eastern Standard Time

#可分配IP范围

range dynamic-bootp 192.168.217.100 192.168.217.200;

#默认租约

default-lease-time 216000;

#最大租约

max-lease-time 432000;

 }


#service dhcpd start

#chkconfig dhcpd on

 

4.tftp安装于配置

TFTP是用来下载远程文件的最简单网络协议

#yum install tftp-server -y

 

修改tftp服务器的配置, 将disable= yes改为disable=no(开启tftp服务)

tftp服务器的根目录为/var/lib/tftpboot,安装时会自动创建

 

#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

        disable                 = no (修改)

        per_source              = 11

        cps                     = 100 2

        flags                   = IPv4

}

 

Tftp服务是不需要单独启动的,是作为xinetd服务的一个附属对象连带启动。

#service xinetd start

#chkconfig xinetd on

#netstat -a | grep tftp

显示结果为

udp 0 0 *:tftp *:*

表明服务已经开启,就表明tftp配置成功了。

 

5.安装配置nfs

#yum install nfs-utils -y

#vim /etc/exports

/myiso 192.168.217.0/24(rw,wdelay,crossmnt,insecure,root_squash,no_subtree_check,fsid=0)

 

对于NFSv4的,有一个杰出的文件系统,这是所有输出文件系统的根目录。这是指定的与FSID = root或FSID = 0这两个意思完全一样的东西。

fsid=0的字段,配置多个ip时候失败,单个的时候客户端就可以挂载成功

 

#exportfs -a (全部挂载(或卸载)/etc/exports文件内的设定,检测)

# service rpcidmapd start
# service nfs restart

#service nfs start

#chkconfig nfs on

 

6.在/var/lib/tftpboot目录中配置PXE启动需要的文件:

1)路径与dhcp配置中一致

mkdir -p /var/lib/tftpboot/RHEL6.4/pxelinux.cfg

2)把安装光盘isolinux/isolinux.cfg复制并重命名为/var/lib/tftpboot/RHEL6.4/pxelinux.cfg/default(find / -name isolinux 里面放的是启动菜单)

3)下载http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.10.tar.gz(或者直接yum安装 yum install -y syslinux), 解压,将syslinux-5.10/目录下面的几个文件复制到/var/lib/tftpboot/RHEL6.4目录下

Tips:syslinux是一个功能强大的引导加载程序,而且兼容各种介质。更加确切地说:SYSLINUX是一个小型的Linux操作系统,它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。

     syslinux-5.10/bios/core/pxelinux.0  (legcay(网络启动方式)启动,它是legcay的启动镜像)

     syslinux-5.10/com32/elflink/ldlinux/ldlinux.c32

     syslinux-5.10/com32/lib/libcom32.c32

     syslinux-5.10/com32/libutil/libutil.c32

     syslinux-5.10/com32/menu/vesamenu.c32  (BIOS引导菜单工具)

4) 从安装光盘复制文件到/var/lib/tftpboot/目录

#cd /media/RHEL_6.4\ x86_64\ Disc\ 1/isolinux

# cp initrd.img /var/lib/tftpboot/RHEL6.4/ (一个初始化文件,一个最小的系统镜像 )

# cp vmlinuz /var/lib/tftpboot/RHEL6.4/  (内核文件)

# cp splash.jpg /var/lib/tftpboot/RHEL6.4/  (安装时的背景图,不复制这个文件也可以,不过背景是黑的)

 

7.拷贝安装需要的镜像文件

#cd ..

#cp -pr images/ /myiso/

#包安装要的redhat6.4 iso镜像拷贝到 /myiso 

 

8.在空的虚拟机上安装 RHEL 6.4 操作系统

若出现PXE-E32:TFTP open timeout

则检测a.服务器网络是否通,

b.第2步有没有做(selinux和iptable),

c.在/var/lib/tftpboot里创建的文件名是否一致

 

在选择语言之后,出现如下界面,选择NFS文件安装

VMware虚拟机PXE安装RHEL6.4

这一步前会进行网卡的启动

VMware虚拟机PXE安装RHEL6.4

要等待一会出现如下界面,之后的配置就是普通安装过程

VMware虚拟机PXE安装RHEL6.4