PXe Server Install for Linux

1. 测试环境:
Windows 8 64bit 系统下运行 Virtualbox4.3.4
安装服务器虚拟机安装的是RHEL 6.4 64bit AUS update4
 
 
2. 安装服务器的配置
 
安装服务器只有一块NAT方式的网卡,缺省通过DHCP方式启动,Virtualbox虚拟DHCP会给其分配IP地址
# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:88:E8:62 
          inet addr:192.168.23.128  Bcast:192.168.23.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe88:e862/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2289 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1637 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:228126 (222.7 KiB)  TX bytes:432061 (421.9 KiB)
 
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:88:E8:62
TYPE=Ethernet
UUID=c77b25d7-8f0a-4f74-b8cb-c63d1e908edd
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
 
安装dhcp服务:
# yum install dhcp
 
修改配置文件:
# vi /etc/dhcp/dhcpd.conf 
 
ddns-update-style interim;

ignore client-updates;

allow booting;

allow bootp;

class "pxeclients"{

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

filename "RHEL6.4/pxelinux.0";

next-server 192.168.23.128;

}

subnet 192.168.23.0 netmask 255.255.255.0 {

option routers 192.168.23.1;

option subnet-mask 255.255.255.0;

option time-offset -18000; # Eastern Standard Time

range dynamic-bootp 192.168.23.100 192.168.23.200;

default-lease-time 216000;

max-lease-time 432000;

}
 
 
# service dhcpd start
 
如果启动失败,可以看一下系统日志,查找原因
# cat /var/log/messages
 
 
安装tftp服务器:
# yum install tftp-server
 
修改tftp服务器的配置, 将disable= yes改为disable=no
tftp服务器的根目录为/var/lib/tftpboot,yum安装时会自动创建
 
# vi /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
}
 
启动xinetd服务
# service xinetd start
Starting xinetd: [  OK  ]
 
关闭iptables服务:
# service iptables stop
iptables: Flushing firewall rules: [  OK  ]
iptables: Setting chains to policy ACCEPT: filter [  OK  ]
iptables: Unloading modules: [  OK  ]
 
这时如果创建一个空的RHEL 6.4虚拟机并且不设置启动光盘,VMware的虚拟BIOS会在找不到启动盘的情况下自动启动 PXE 安装。下图可以看到虚拟机已经从DHCP服务器获得IP地址
 VMware <wbr>虚拟机测试PXE安装RHEL <wbr>6.4操作系统
安装nfs服务器:
# yum install nfs-utils
 
配置nfs目录
# vi/etc/exports
/nfsroot *(rw,wdelay,crossmnt,insecure,root_squash,no_subtree_check,fsid=0)
 
使配置生效
#exportfs -a
 
# exportfs -v
/nfsroot        <world>(rw,wdelay,crossmnt,insecure,root_squash,no_subtree_check,fsid=0)
 
启动nfs服务
# service nfs start
Starting NFS services:  [  OK  ]
Starting NFS quotas: [  OK  ]
Starting NFS mountd: [  OK  ]
Stopping RPC idmapd: [  OK  ]
Starting RPC idmapd: [  OK  ]
Starting NFS daemon: [  OK  ]
 
 
在/var/lib/tftpboot目录中配置PXE启动需要的文件:
1) 创建目录/var/lib/tftpboot/RHEL6.4, RHEL6.4和/etc/dhcp/dhcpd.conf一致
 
2) 创建目录/var/lib/tftpboot/RHEL6.4/pxelinux.cfg
 
2) 把安装光盘isolinux/isolinux.cfg复制并重命名为/var/lib/tftpboot/RHEL6.4/pxelinux.cfg/default
 
    将syslinux-5.10/目录下面的几个文件复制到/var/lib/tftpboot/RHEL6.4目录下
     syslinux-5.10/bios/core/pxelinux.0
     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
 
4) 从安装光盘复制文件到/var/lib/tftpboot/目录
# cp /mnt/cdrom/isolinux/initrd.img /var/lib/tftpboot/RHEL6.4/.
# cp /mnt/cdrom/isolinux/vmlinuz /var/lib/tftpboot/RHEL6.4/.
# cp /mnt/cdrom/isolinux/splash.jpg /var/lib/tftpboot/RHEL6.4/.  (安装时的背景图,不复制这个文件也可以,不过背景是黑的)
 
3. 在空的虚拟机上安装 RHEL 6.4 操作系统
启动空的虚拟机, PXE会自动找DHCP服务器,在获取IP地址的时候也知道tftp服务的地址,下载相关文件启动Linux内核并显示下面菜单
VMware <wbr>虚拟机测试PXE安装RHEL <wbr>6.4操作系统
在出现下图时,选择NFS directory安装(支持ISO文件安装,速度会更快)
 
将安装光盘里的images目录复制到nfs目录下
# cp -pr /mnt/cdrom/images/ /nfsroot/
 
将RHEl 6.4的ISO文件复制到nfs目录下, 安装时系统会自动找到这个ISO文件,不需要指定ISO文件名
#cp /mnt/hgfs/os/rhel-server-6.4-x86_64-dvd.iso /nfsroot/
 
VMware <wbr>虚拟机测试PXE安装RHEL <wbr>6.4操作系统
NFS server name输入安装服务器(NFS服务器)的IP地址
VMware <wbr>虚拟机测试PXE安装RHEL <wbr>6.4操作系统
NFS安装方式配置没有问题的话,会出现下面的安装界面,以后一路安装和直接用光盘安装一样了。安装程序会自动读取ISO安装文件进行安装。
 
VMware <wbr>虚拟机测试PXE安装RHEL <wbr>6.4操作系统
参考网址:
Redhat官网上的步骤略有不同,用到的bootia32.efi或bootx64.efi可以在安装光盘的EFI/BOOT目录下找到
posted @ 2013-12-11 14:27  Ben@Li  阅读(417)  评论(0编辑  收藏  举报