日期:2014-05-16  浏览次数:20638 次

PXE/kickstart实现远程自动安装redhat linux
PXE/kickstart实现远程自动安装redhat linux

由于环境限制,本实验通过使用vmware模拟两台虚拟机实现。

服务器  10.4.124.238
安装服务器  10.4.124.252  通过dhcp分配到的地址

相关技术介绍
1,VMware的网络模型

vmware虚拟网络设备,功能具体如下。在使用NAT网络模式试验时,由于vmware本身具有dhcp功能,tftp功能总是失败,当修改为桥接网络(bridged)时,才正常安装
VMnet0:用于虚拟桥接网络下的虚拟交换机
VMnet1:用于虚拟Host-Only网络下的虚拟交换机
VMnet8:用于虚拟NAT网络下的虚拟交换机
VMware Network Adepter VMnet1:Host用于与Host-Only虚拟网络进行通信的虚拟网卡
VMware Network Adepter VMnet8:Host用于与NAT虚拟网络进行通信的虚拟网卡

2. 在PC上从网络启动Red Hat Linux安装程序的PXE协议,同时需要tftp服务
PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。
PXE协议的成功运行需要解决以下两个问题:
    既然是通过网络传输,那么计算机在启动时,它的IP地址由谁来配置;
    通过什么协议下载Linux内核和根文件系统
对于第一个问题,可以通过DHCP Server解决,由DHCP server来给PXE client分配一个IP地址,DHCP Server是用来给DHCP Client动态分配IP地址的协议,不过由于这里是给PXE Client分配IP地址,所以在配置DHCP Server时,需要增加相应的PXE特有配置。
至于第二个问题,在PXE client所在的ROM中,已经存在了TFTP Client。PXE Client使用TFTP Client,通过TFTP协议到TFTP Server上下载所需的文件。
TFTP根目录下有linux的相关内核启动文件bootstrap,这样可以就可以引导系统启动了

3. Red Hat Linux安装程序提供的网络安装功能(即指通过网络访问安装介质),需要nfs服务
ks.cfg文件中制定了安装介质的位置,如果没有此文件,需要手工指定。
4. Red Hat Linux 安装程序提供的无人值守安装功能
/tftpboot/pxelinux.cfg/default文件中定义了ks.cfg文件的位置,同时ks.cfg规定了安装过程中的选择配置信息,学习ks的最好方式是找到已已安装
append initrd=initrd.img ks=nfs:10.4.124.238:/export/kickstart/ks.cfg

安装过程

1,前期规划

通过vmware安装linux安装服务器,并设置ip地址为172.16.229.2,掩码255.255.255.0
需要安装以下rpm软件
nfs-utils-lib-*
nfs-utils- *
xinetd-*
tftp-server-*
dhcp-*
dhcp-devel-*
system-config-kickstart-*
2,准备安装介质,安装相关rpm包
也可直接使用光盘
cd /media/RHEL_5.8 x86_64 DVD/images

或者直接使用iso文件
mkdir /mnt/isorom
mount -o loop -t iso9660 /data/rhel-server-5.8-x86_64-dvd.iso  /mnt/isodrom

3,安装dhcp服务器

1)安装dhcp软件

[root@db21 Server]# pwd
/media/RHEL_5.8 x86_64 DVD/Server
[root@db21 Server]# rpm -ivh dhcp-3.0.5-31.el5.x86_64.rpm
warning: dhcp-3.0.5-31.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 897da07a
Preparing...                ########################################### [100%]
   1:dhcp                   ########################################### [100%]
[root@db21 Server]# rpm -qa dhcp
dhcp-3.0.5-31.el5
2)配置dhcp配置

# vi /etc/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 "pxelinux.0";
next-server 10.4.124.238;
}
subnet 10.4.124.224 netmask 255.255.255.224 {
option routers 10.4.124.238;
option subnet-mask 255.255.255.224;
option time-offset -18000; # Eastern Standard Time
range dynamic-bootp 10.4.124.251 10.4.124.252;
default-lease-time 21600;
max-lease-time 43200;
}
3)启动服务
service dhcpd restart

4,配置tftp
1)安装tftp软件包
2)编辑配置文件

# vi /etc/xinetd.d/tftp
将disable=yes改成disable=no

3)启动tftp服务
# chkconfi