您的位置:首页 > 理论基础 > 计算机网络

RHEL 5 PXE+DHCP+NFS+SFTP无人职守网络安装配置 推荐

2012-12-21 15:30 561 查看
直接进入正题,此次安装服务器数目过多,时间要求紧,同时DVD光盘有限,所以考虑使用网络方式的安装。

由于已经安装过,所以现在是回忆思路,同时看看配置文件,同时也知道有前辈已经做过教程,我也是将自己的经验分享一下。
首先说说此次安装需求:
所有服务器配置相同,硬盘配置相同,都是2*300G,使用RAID卡配置RAID 1
所以最后的结果就是每个服务器都是使用了300G的空间,所以我在虚拟机中划分的硬盘大小为300G。
然后根据如下情况进行分区:
/ 20G
swap 32G
/u01 所有剩余
由于害怕以后的扩展,所以将/u01划分了LVM。
同时所有的包全部安装,这种情况对于redhat 5以上的版本,是个压力,大约需要点击10分钟。
配置结束,按照此种情况开始安装虚拟机。
安装这个虚拟机之后,首先需要来到安装之后的/root目录下面。查找一个文件anaconda-ks.cfg
一定会有的,这个文件就是记录了所有的安装信息,可以使用写字板或者一些文字软件打开看一下里面具体内容,或者直接在系统中使用cat anaconda-ks.cfg 查看
当查看之后,建议将此文件备份一下,因为之后需要更改此文件

步骤一:配置DHCP服务器,由于开始安装的服务器是全包进行安装,所以这里直接配置dhcp服务器的配置文件即可。如下:
[root@localhost vsftpd]# cat /etc/dhcpd.conf

ddns-update-style interim;

ignore client-updates;
subnet 192.168.0.0 netmask 255.255.255.0 {
# --- default gateway

option routers 192.168.0.1; //网关配置

option subnet-mask 255.255.255.0; //子网掩码设置

filename "pxelinux.0"; //启动文件名称,这里这样就可以,不建议写绝对路径

next-server 192.168.0.128; //指定tftp服务器位置

# option nis-domain "domain.org";

# option domain-name "domain.org";

option domain-name-servers 192.168.0.128;

# option ntp-servers 192.168.1.1;

# option netbios-name-servers 192.168.1.1;

# --- Selects point-to-point node (default is hybrid). Don't change this unless

# -- you understand Netbios very well

# option netbios-node-type 2;
range dynamic-bootp 192.168.0.131 192.168.0.254; //设定DHCP分配IP段

default-lease-time 21600;

max-lease-time 43200;

# we want the nameserver to appear at a fixed address

# host ns {

# next-server marvin.redhat.com;

# hardware ethernet 12:34:56:78:AB:CD;

# fixed-address 207.175.42.254;

# }
}

如上代码所示:黄色标注部分需要根据实际情况进行修改。

如上面所示,根据这里的情况,接下来就需要配置tftp服务器。
首先建立目录/tftpboot
[root@localhost vsftpd]# mkdir /tftpboot
接下里建立/tftpboot/pxelinux.cfg目录
[root@localhost tftpboot]# mkdir pxelinux.cfg
建立好之后是如下情况
[root@localhost /]# ls /tftpboot/ -al

total 9844

drwxr-xr-x 4 root root 4096 Dec 20 13:45 .

drwxr-xr-x 28 root root 4096 Dec 21 12:48 ..

drwxr-xr-x 2 root root 4096 Dec 21 12:20 pxelinux.cfg
接下来,先将/ur/lib/syslinux/pxelinux.0文件拷贝至/tftpboot目录下
[root@localhost /]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

这里解决了在dhcpd配置文件中配置的pxelinux.0,可是又是如何找到pxelinux.0文件的呢?这里使用的是tftp协议,既然使用了tftp,那么就需要配置tftp

步骤二:配置tftp
使用vi编辑/etc/inietd.d/tftp文件
[root@localhost /]# vi /etc/xinetd.d/tftp

# default: off

# description: The tftp server serves files using the trivial file transfer \

# protocol. The tftp protocol is often used to boot diskless \

# workstations, download configuration files to network-aware printers, \

# and to start the installation process for some operating systems.

service tftp

{

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/in.tftpd

server_args = -u nobody -s /tftpboot //这里-s指定了tftp的根目录为/tftpboot目录

disable = no //特别要注意的是这里,属性一定要改为no

per_source = 11

cps = 100 2

flags = IPv4

}
编辑之后保存退出
虽然找到了pxelinux.0,但是它是按照什么来进行启动的呢?
这里可以看一下从网络启动的过程pxelinux.0启动的时候,会有一定的寻找步骤
是按照如下进行寻找:
C0A80016-> C0A8001-> C0A800-> C0A80-> C0A8-> C0A-> C0-> C->default
注:可能有些人与这个不一样,因为前面的C0A80016是根据客户端的IP地址的16进制转化过来。
当寻找的时候,会在/pxelinux.cfg目录下逐步寻找上面所列文件
那么就需要配置/tftpboot/pxelinux.cfg/default
可能很多人安装之后不存在这个文件,别着急,可以直接手动创建该文件
[root@localhost /]# touch /tftpboot/pxelinux.cfg/default

然后vi编辑该文件
[root@localhost /]# vi /tftpboot/pxelinux.cfg/default

default linux

prompt 1

timeout 1 //此处设置的是1秒,也就是说在boot提示符出现之后1秒,自动使用默认方式启动
#display boot.msg //默认应该就是注释

label linux

kernel vmlinuz //这里是设置内核,既然已经涉及到,那么记下来就需要拷贝内核文件了

append ks=ftp://192.168.0.128/ks.cfg initrd=initrd.img //设置ks文件的位置。
label text

kernel vmlinuz

append initrd=initrd.img text

编辑结束之后,保存。这里已经涉及到了内核,那么我们就需要将内核等文件拷贝出来,需要拷贝如下文件:
vmlinuz

boot.msg
initrd.img
上面三个文件在Linux系统安装光盘中即可找到:

该文件存在于Linux安装光盘的isolinux目录下。将上诉三个文件拷贝至/tftpboot目录下
目前tftpboot目录下文件情况为:
[root@localhost /]# ls /tftpboot/

boot.msg initrd.img pxelinux.0 pxelinux.cfg vmlinuz
现在已经寻找到ks.cfg文件,也就是应答文件,所以我们接下来就要配置该文件

步骤三:配置ks.cfg
很多人都说没有这个文件,那么还记得在开始安装了系统之后拷贝出来的那个文件了吗?
也就是在/root目录下面的anaconda-ks.cfg,我们只需要将这个文件重命名,然后更改一些配置即可
下面查看在 /tftpboot/pxelinux.cfg/default文件中配置
[root@localhost /]# cat /tftpboot/pxelinux.cfg/default

default linux

prompt 1

timeout 1

#display boot.msg

label linux

kernel vmlinuz

append ks=ftp://192.168.0.128/ks.cfg initrd=initrd.img

label text

kernel vmlinuz

append initrd=initrd.img text
可以看到,我们配置的ks.cfg,是放在了ftp的根目录下面
所以我们需要拷贝anaconda-ks.cfg至ftp根目录,即/var/ftp目录下,并命名为ks.cfg
[root@localhost /]# cp /root/anaconda-ks.cfg /var/ftp/ks.cfg

下面开始编辑ks.cfg
[root@localhost /]# vi /var/ftp/ks.cfg

# Kickstart file automatically generated by anaconda.
install
#cdrom //cdrom启动,而我们需要使用网络启动,在前面加#注释

nfs --server 192.168.13.130 --dir=/linuxos/install //nfs方式安装,配置安装目录

#url --url=ftp://192.168.0.128/pub //ftp方式,根据情况选择
key --skip

lang en_US.UTF-8

keyboard us

xconfig --startxonboot

network --device eth0 --bootproto dhcp

reboot //reboot参数的作用是能够让安装程序结束之后自动重启
rootpw --iscrypted $1$mmTMN.q5$TRdTvYcf/8FXfkgBsM72r1

firewall --disable //配置防火墙

authconfig --enableshadow --enablemd5

selinux --disabled // 配置selinux

timezone Asia/Chongqing

bootloader --location=mbr --driveorder=sda --append="rhgb quiet"

# 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 --linux --initlabel --drives=sda //配置分区
part / --fstype ext3 --size=20480

part swap --size=32768

part pv.9 --size=100 --grow

volgroup VolGroup00 --pesize=32768 pv.9

logvol /u01 --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=253920
%packages

@admin-tools

@authoring-and-publishing

@base

@chinese-support

@core

@dns-server

@development-libs

@development-tools

@dialup

@editors

@engineering-and-scientific

@ftp-server

@gnome-desktop

@gnome-software-development

@games

@graphical-internet

@graphics

@java

@java-development

@kde-desktop

@kde-software-development

@legacy-network-server

@legacy-software-development

@legacy-software-support

@mail-server

@mysql

@network-server

@news-server

@office

@openfabrics-enterprise-distribution

@sql-server

@printing

@ruby

@server-cfg

@sound-and-video

@system-tools

@text-internet

@web-server

@smb-server

@x-software-development

@base-x

system-config-kickstart

tunctl

tetex-xdvi

keyutils

openCryptoki

libhbaapi

brltty

dmraid-events-logwatch

libhbalinux

aide

.......
.......
....... //在@packages下面列出的包名过多,正常省略号这里显示的都是包名

编辑了ks.cfg之后,保存退出。
上面提到了是使用nfs方式安装,那么这里放置的是什么?当然是redhat的镜像文件了。

步骤四:配置nfs服务器
根据上面配置
nfs --server 192.168.13.130 --dir=/linuxos/install
那么我们需要手动创建目录/linuxos/install
[root@localhost /]# mkdir /linuxos/install

接下来,将安装光盘挂载在install上
[root@localhost install]# mount /dev/cdrom /linuxos/install

mount: block device /dev/cdrom is write-protected, mounting read-only
根据上面的提示,可以看到挂载已经成功。下面我们就需要配置nfs配置文件,来设置权限
[root@localhost install]# vi /etc/exports

/linuxos/install * (ro) 设置/linuxos/install 所有人具有可读可执行

编辑之后保存退出。
现在我们回忆上面的所有步骤,是不是已经成功?
接下来,就验证奇迹吧!
不过还是需要做一项工作,那么就是重新启动各项服务:
[root@localhost install]# service dhcpd restart

[root@localhost install]# service vsftpd restart
[root@localhost install]# service nfs restart
[root@localhost install]# service xientd restart

OK,已经配置结束,接下来我们就开始见证奇迹吧!
将客户机开机启动,配置为从网络启动
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息