Fedora搭建服务器,DHCP+TFTP+FTP+PXE启动安装CentOS

本帖最后由 yhzm1314 于 2010-12-2 15:40 编辑

因为本人水平有限,菜鸟一个, 以下只是我简单安装的过程。由于服务器配置选项太多,很多理论,原理的东西我也不懂,所以文中有什么错误,欢迎指正。相关资料都是网上搜集整理而来。


声明:
本文版权没有,欢迎翻版!!


1,介绍
PXE是在没有软驱、硬盘、CD-ROM的情况下引导计算机的一种方式,也就是BIOS将使用PXE协议从网络引导。

2,准备工作
已安装Fedora或CentOS的主机一台   (我以装有Fedora 14 i686的主机为例)
CentOS-5.5-i386-bin-DVD.iso  (准备系统DVD镜像,我以这个为例)
准备安装系统的客户机            (要支持从网卡启动)
把网线接好,连上局域网            

    那么接下来的工作就是在装好Fedora14的主机中安装配置需要用到的服务器。

3,配置dhcpd
DHCP Server
先用以下命令查看有没有安装dhcp
rpm -q dhcp

如果没有,用以下命令安装:
yum install dhcp

再把默认的配置文件复制到/etc/dhcp/ 目录下并改名:
cp /usr/share/doc/dhcp*/dhcpd.conf.sample  /etc/dhcp/dhcpd.conf

##注意一下,如果你用的是别的版本,可能配置文件是/etc/dhcpd.conf   ####


注意事项:
文中###号和后面文字是我自添加备注,不要写入配置文件哦。


修改配置文件
在配置文件最后一行添加下面这一段,请按实际情况修改

subnet 192.168.0.0 netmask 255.255.255.0 {           
   range 192.168.0.90  192.168.0.96;                          
   option routers 192.168.0.254;                  
   option subnet-mask 255.255.255.0;        
   option domain-name   "domain.org";     
   option domain-name-servers    202.96.128.86,202.96.128.166;      
  next-server 192.168.0.22;                        
  filename "pxelinux.0";         
}                                 

=====================================================
subnet 192.168.0.0 netmask 255.255.255.0 {           
###DHCP服务器本身内网的IP段和子网掩码,网卡静态IP地址那个网段

   range 192.168.0.90  192.168.0.96;                          
###分配给客户端IP 的范围

   option routers 192.168.0.254;                  
###分配给客户端的路由网关

   option subnet-mask 255.255.255.0;        
###分配给客户端的子网掩码

   option domain-name   "domain.org";     
####为客户端指明DNS名字,可以随便填

   option domain-name-servers    202.96.128.86,202.96.128.166;      
###为客户端指明DNS服务器IP地址,多个DNS地址请用逗号隔开

  next-server 192.168.0.22;            
###TFTP Server 的IP地址,网络安装时用到

  filename "pxelinux.0";         
###PXE 启动文件,网络安装时用到,这个文件是syslinux套件提供的

####不要忘记每一行后面的分号(;)和最后的那个括号哦!!!!

==============================================



关闭局域网中其它的DHCP服务器,以免造成IP冲突。

启动DHCP服务器
service dhcpd start      或   /etc/rc.d/init.d/dhcpd start

chkconfig dhcpd on          ####设为开机自行启动DHCP

  4,配置TFTP
TFTP Server
用以下命令查看系统是否已安装TFTP
#rpm -q tftp tftp-server

如果没有安装,用以下命令安装
yum install tftp tftp-server

修改配置文件
vi /etc/xinetd.d/tftp

server_args             = -s /var/lib/tftpboot                          ####这个是TFTP默认的目录
把它修改为
erver_args             = -s /tftpboot

建立/tftpboot这个目录
mkdir -v /tftpboot

启动TFTP
service xinetd  start
chkconfig tftp on                         ####设为开机启动


5,PXE Boot loader (PXE引导加载程序)
pxelinux.0是syslinux套件提供的,用以下命令查看系统是否已安装和存放的目录,如果没有请安装
rpm -ql syslinux | grep pxelinux.0

发现pxelinux.0存放在
/usr/share/syslinux/pxelinux.0

把pxelinux.0复制到/tftpboot
cp  -v  /usr/share/syslinux/pxelinux.0    /tftpboot




6,提取需要的文件。
把CentOS-5.5-i386-bin-DVD.iso/images/pxeboot   目录中的initrd.img   vmlinuz 也复制到/tftpboot  目录下

建立PXE开机设置文件的存放目录
mkdir  -pv   /tftpboot/pxelinux.cfg

把CentOS-5.5-i386-bin-DVD.iso/isolinux/isolinux.cfg  这个文件复制到 /tftpboot/pxelinux.cfg  目录下,并重命名为default
内容如下,每个lable是一个启动选项,输入lable后面的单词,然后回车来启动相应的选项。可根据实际情况自行修改。
如果在规定的时间内没输入,会以自动启动default那一项。



===================================================

default linux                               ###默认启动项,也就是label linux那一段
prompt 1                                       ###开启提示信息
timeout 600           ###默认的时间内没输入要选择哪一项,会自动启动上面默认那一项
display boot.msg   ###启动选项信息,boot.msg 这个文件里有一些说明信息。
F1 boot.msg           ###按相应的按键可以查看说明信息,前提是文件夹里有这些文件。
F2 options.msg      ###其实这些文件就在CentOS-5.5-i386-bin-DVD.iso/isolinux/   中
F3 general.msg     
F4 param.msg                              
F5 rescue.msg                                 
label linux             ####这个是第一个启动选项,图形介面安装
  kernel vmlinuz
  append initrd=initrd.img
label text                                 ###这个是文字介面安装模式
  kernel vmlinuz
  append initrd=initrd.img text
label ks                                             ###这个要使用kickstart来安装
  kernel vmlinuz
  append ks initrd=initrd.img
label local                                         ###从本地硬盘启动
  localboot 1
label memtest86                               ###内存测试选项
  kernel memtest
  append -
=================================================

注意事项:
文中###号和后面文字是备注,不要写入配置文件哦。

=================================================



把系统CentOS-5.5-i386-bin-DVD.iso/isolinux/boot.msg  这个文件复制到 /tftpboot 目录下。
文件内容如下,只是开机信息而已,可以根椐实际情况修改。
这是对 /tftpboot/pxelinux.cfg/default 的设置选项的一些说明。

================================================

NSTALLATION MENU
Choose installation type:
0 Local Boot (default)
1 RHEL5.1 Base System
2 RHEL5.1 Workstation

===============================================
到这里可以把要装系统的那台客户机开起来,进入BIOS,把网卡启动那一项打开,
然后设置第一启动项为网卡,看能不能获取IP和启动安装程序,如果能就离成功不远了。

7,安装FTP Server   (当然也可以用NFS或HTTP来代替)
用以下命令查看系统是否已安装FTP Server
rpm -q vsftpd

如果没有,用以下命令安装。
yum install vsftpd

启动FTP
service vsftpd start         或    /etc/rc.d/init.d/vsftpd start

因为刚安装好的vsftpd启动后就可以匿名登陆,所以配置过程不介绍。
启动以后才会出现配置文件,配置文件在: /etc/rc.d/init.d/vsftpd
启动后测试一下能不能登陆,用浏览器或FTP软件中登陆看看。
如果不能,请修改配置文件。

#####注意,修改配置文件保存后,在重起相应服务,才能生效。#########

8,把ISO直接挂载到FTP目录中去
mount  -o loop   ISO  /var/ftp/pub

除了上面的方法,还可以把要安装的系统ISO挂载,然后复制镜像里所有的文件到FTP的默认目录 /var/ftp/pub/  
比如:把ISO挂载到/mnt/dvd
mkdir  -pv   /mnt/dvd
mount -o loop  ISO   /mnt/dvd
cp -r   /mnt/dvd/*   /var/ftp/pub



9,为了保证所有服务器全部启动,输入命令重起一下所有的服务器
service  dhcpd  restart
service  xinetd  restart
service  vsftpd  restart

10,启动安装
打开客户机,设置第一启动项为网卡,启动安装。

进入启动介面,直接回车,启动默认项。
选择语言,键盘布局,安装介质
安装介质选择FTP
然后设置网卡,直接选自动获取就行了(DHCP字样)
然后输入FTP 服务器的IP
192.168.0.22                      ###输入你主机FTP的IP
/pub
然后选择OK
如果不能匿名登陆的,选项下面的那一行,输入FTP的账号密码

启动成功后就和光盘安装没区别了,这里就不介绍了。


因为不是同一个版本,所以不能使用RedHat的kickstart来实现全自动安装。
不过这个方式可以PXE启动安装CentOS DVD, Fedora DVD  openSUSE DVD.

作者: yhzm1314   发布时间: 2010-12-02

强文学习学习

作者: Junyi   发布时间: 2010-12-02

Fedora搭建服务器,DHCP+TFTP+FTP+PXE启动安装CentOS

作者: 591394169   发布时间: 2010-12-06

Mark

作者: techippo   发布时间: 2011-01-22