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

直接进入正题,此次安装服务器数目过多,时间要求紧,同时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,已经配置结束,接下来我们就开始见证奇迹吧!
将客户机开机启动,配置为从网络启动

 

你可能感兴趣的:(linux,安装,记录,十全十美)