Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 教程 > Linux教程 > 正文

PXE/kickstart实现远程自动安装RedHat Linux

时间:2014-09-05 19:50 来源:网络整理 作者:51ou.com 阅读:

 

由于环境限制,本实验通过使用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@51ou.com Server]# pwd
/media/RHEL_5.8 x86_64 DVD/Server
[root@51ou.com 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@51ou.com 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服务
# chkconfig tftp on
# service xinetd restart

[root@51ou.com Server]# rpm -ivh vsftpd-2.0.5-24.el5.x86_64.rpm
warning: vsftpd-2.0.5-24.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 897da07a
Preparing...                ########################################### [100%]
1:vsftpd                ########################################### [100%]
 
[root@51ou.com Server]# service vsftpd start
Starting vsftpd for vsftpd: [  OK  ]


5,配置PXE启动
1)拷贝相关启动文件到/tftpboot目录
[root@51ou.com tftpboot]# cd /media/"RHEL_5.8 x86_64 DVD"/images
[root@51ou.com images]# ls
README  TRANS.TBL  boot.iso  diskboot.img  minstg2.img  pxeboot  stage2.img  xen
[root@51ou.com images]# pwd
/media/RHEL_5.8 x86_64 DVD/images
[root@51ou.com images]# rsync -av ./pxeboot/ /tftpboot/
sending incremental file list
./
README
TRANS.TBL
initrd.img
vmlinuz

sent 14556904 bytes  received 91 bytes  29113990.00 bytes/sec
total size is 14554862  speedup is 1.00
2) 配置启动的配置文件,这里使用的kickstart启动
[root@51ou.com images]# mkdir -p /tftpboot/pxelinux.cfg

vi /tftpboot/pxelinux.cfg/default
linux
prompt 1
timeout 30
label linux
kernel vmlinuz
append initrd=initrd.img ks=nfs:10.4.124.238:/export/kickstart/ks.cfg


6 . 配置NFS
1)新建相关nfs的目录,其中linuxinstall为安装linux的介质文件夹,kickstart存放ks配置文件
[root@51ou.com ftp]# mkdir -p /export/linuxinstall
[root@51ou.com ftp]# mkdir -p /export/kickstart

2)配置nfs,并启动服务
vi /etc/exports
/export/linuxinstall    *(ro,sync)
/export/kickstart      *(ro,sync)
/tftpboot      *(ro,sync)

[root@51ou.com ftp]# service nfs restart
Shutting down NFS mountd: [FAILED]
Shutting down NFS daemon: [FAILED]
Shutting down NFS quotas: [FAILED]
Starting NFS services:  [  OK  ]
Starting NFS quotas: [  OK  ]
Starting NFS daemon: [  OK  ]
Starting NFS mountd: [  OK  ]
[root@51ou.com ftp]# export fs
[root@51ou.com ftp]# exportfs
/export/linuxinstall
<world>
/export/kickstart
<world>
3)拷贝安装介质到nfs目录              
cp -R ./* /export/linuxinstall/


7. kickstart配置

配置kickstart也可使用system-config-kickstart,更好的方法是借鉴已成功的安装配置文件/root/anaconda-ks.cfg

vi /export/kickstart/ks.cfg
install
nfs --server=10.4.124.238 --dir=/export/linuxinstall
key --skip
lang en_US.UTF-8
keyboard us
xconfig --startxonboot
network --device eth0 --bootproto dhcp
rootpw --iscrypted $1$iAzIiwqi$cgjEWl4lJW1fm3x9GhFhZ.
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --enforcing
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
reboot
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart --all --drives=sda
part /boot --fstype ext3 --size=100 --ondisk=sda
part pv.4 --size=0 --grow --ondisk=sda
volgroup vg00 --pesize=32768 pv.4
logvol / --fstype ext3 --name=lv00 --vgname=vg00 --size=8000
logvol swap --fstype swap --name=lv01 --vgname=vg00 --size=1000

%packages
@admin-tools
@base
@chinese-support
@core
@development-libs
@development-tools
@dialup
@editors
@gnome-desktop
@gnome-software-development
@games
@graphical-internet
@graphics
@java
@legacy-software-support
@office
@printing
@sound-and-video
@text-internet
@x-software-development
@base-x
kexec-tools
fipscheck
device-mapper-multipath
sgpio
python-dmidecode
imake
emacs
libsane-hpaio
mesa-libGLU-devel
xorg-x11-utils
xorg-x11-server-Xnest
xorg-x11-server-Xvfb


8.开始安装,启动时按F12。

 

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《PXE/kickstart实现远程自动安装RedHat Linux》技术文章,《PXE/kickstart实现远程自动安装RedHat Linux》详细使用和说明,有时《PXE/kickstart实现远程自动安装RedHat Linux》可能不完善、敬请谅解!如果《PXE/kickstart实现远程自动安装RedHat Linux》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片