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)
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
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;
}
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
}
{
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 ]
Starting xinetd: [ OK ]
关闭iptables服务:
# service iptables stop
iptables: Flushing firewall rules: [ OK ]
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Unloading modules: [ OK ]
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地址
安装nfs服务器:
# yum install nfs-utils
配置nfs目录
# vi/etc/exports
/nfsroot *(rw,wdelay,crossmnt,insecure,root_squash,no_subtree_check,fsid=0)
/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)
/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 ]
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内核并显示下面菜单
在出现下图时,选择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/
NFS
server name输入安装服务器(NFS服务器)的IP地址
NFS安装方式配置没有问题的话,会出现下面的安装界面,以后一路安装和直接用光盘安装一样了。安装程序会自动读取ISO安装文件进行安装。
参考网址:
Redhat官网上的步骤略有不同,用到的bootia32.efi或bootx64.efi可以在安装光盘的EFI/BOOT目录下找到