芜湖大司马说神魔恋:通过PXE远程安装多台Linux系统

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 02:31:11

 

实验目的:同时安装多台服务器,如果一台一台装的话会吐血的,出于节省时间的考虑,选用PXE的方式。

  实验环境:

  服务器CentOS5.1

  VM虚拟机N台(如果是给实机装的话那实机的网卡一定要有PXE功能)

  软件要求:tftp-server,dhcp等

  实验说明:

  PXE(Pre-boot ExecutionEnvironment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client 和server两端,PXEclient在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后, PXEclient将放置在远端的操作系统通过网络下载到本地运行。

  由DHCP server来给PXE client 分配一个IP地址,DHCP Server是用来给DHCPClient动态分配IP地址的协议,不过由于这里是给PXE Client分配IP地址,所以在配置DHCPServer时,需要增加相应的PXE特有配置。

  PXE Client使用TFTP Client,通过TFTP协议到 TFTP Server上下载所需的文件。

  实验步骤;

  我的机器里并没有这两个包,先安装一下,如果没有其它相应的包的话也先安装一下

  # yum -y install dhcp

  # yum -y install tftp-server

 

  一,配置nfs服务器

  1,将准备好要进行安装的内容复制到硬盘上,下面新建一个目录进行存放。

  # mkdir /var/isofiles

  由于我的FTP里面有系统的ISO,所以直接将ISO内的文件复制到上面的目录。

  将ISO文件直接挂载到/mnt/中,用如下方法

  # mount /var/ftp/linuxtools/CentOS-5.2-i386-bin-DVD.iso /mnt/ -t iso9660 -o loop

  将ISO文件中的内容全复制到下刚才建立的目录下。

  # cp -r * /var/isofiles/

  2,打开NFS服务

  # vi /etc/exports

  添上下面的这行

  /var/isofiles   *(ro,sync)

  可以用如下命令来查看NFS的目录

  # showmount -e changzi.centos

  Export list for changzi.centos:

  /var/isofiles *

  将NFS服务打开

  # service portmap start

  启动 portmap:                                             [确定]

  # service nfs start

  启动 NFS 服务:                                            [确定]

  关掉 NFS 配额:                                            [确定]

  启动 NFS 守护进程:                                        [确定]

  启动 NFS mountd:                                          [确定]

 

  二,配置DHCP服务器和TFTP服务

  1,DHCP

  从文档中复制一个模板,在模板中直接修改即可

  # cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample dhcpd.conf

  # vim /etc/dhcpd.conf

  ddns-update-style interim;

  ignore client-updates;

  filename "pxelinux.0";

  subnet 192.168.1.0 netmask 255.255.255.0 {

  # --- default gateway

  option routers                  192.168.1.1;

  option subnet-mask              255.255.255.0;

  option time-offset              -18000; # Eastern Standard Time

  range dynamic-bootp 192.168.1.60 192.168.1.62;

  default-lease-time 21600;

  max-lease-time 43200;

  # we want the nameserver to appear at a fixed address

  host ns {

  next-server 192.168.1.63;

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

  fixed-address 207.175.42.254;

  }

  }

我把其中注示掉了的一些东西删除了,没有贴上,占地方。

  # /etc/init.d/dhcpd start

  启动 dhcpd:                                               [确定]

  2,TFTP

  # vim /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

  {

  disable = no

  socket_type             = dgram

  protocol                = udp

  wait                    = yes

  user                    = root

  server                  = /usr/sbin/in.tftpd

  server_args             = -u nobody -s /tftpboot

  disable                 = no

  per_source              = 11

  cps                     = 100 2

  flags                   = IPv4

  }

  # /sbin/chkconfig --level 345 xinetd on

  # /sbin/chkconfig --level 345 tftp on

  该命令配置 tftp 和 xinetd 服务被立即启用,还把配置它们在运行级别3、4和5的引导期间启动。

  或者

  # service xinetd restart

 

  三,配置支持PXE

  在根目录建立如下文件夹

  # mkdir /tftpboot

  将pxelinux.0文件考到刚建立好的文件夹中

  # cp /usr/lib/syslinux/pxelinux.0 /tftpboot

  此处要求已经安装了selinux,如果没有安装的话可以在下面这个网址下载syslinux-3.63.tar.gz

  http://www.kernel.org/pub/linux/utils/boot/syslinux/

  解压后将其中的pxelinux.0复制到/tftpboot中

  # pwd

  /tftpboot

  # mkdir /tftpboot/pxelinux.cfg

  将安装盘isolinux目录下的isolinux.cfg文件复制为/tftpboot/pxelinux.cfg/default

  # cp /var/isofiles/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

  将安装盘isolinux目录下的两个文件vmlinuz和initrd.img复制到/tftpboot中

  # cp /var/isofiles/isolinux/vmlinuz ./

  # cp /var/isofiles/isolinux/initrd.img ./

  将安装盘isolinux目录下的所有.msg文件复制到/tftpboot中

  # cp /var/isofiles/isolinux/*.msg ./

 

  四,安装linux

  启动虚拟机,Network boot。

  客户机会自动从DHCP服务器中获得IP。然后进行安装,不管是选择图形化安装还是文本安装在最初的几项配置都是文本下的。

  在安装方式时选择NFS image。

  接下来按提示进行一步一步的安装即可。

 

  五,其它

  遇到如下问题的话自行解决。

  DHCP启动不成功,可以参考/var/log/message中的提示,找出问题出现在哪里,DHCP的配置文件要以分号结尾。

  防火墙如果没有配置相应服务的规则的话就关掉。

  其实这么安装对于少量的服务器来说是比较方便的,但是对于大量的机器安装系统仍然不适用。还有其它的方法可以进行先择,比如Kickstart,再或者是SystemImager克隆系统等。

  所谓的远程安装也只是在局域网中或是网速较快的场合可以,如果网速快的话可以实现从URL进行安装,而不用此种方法,此种方法更适合本地无光驱,软驱的情况下安装。

 

  六,参考

  google中找了好多相应的资料。本实验中所有的内容都可以在google中找到类似的参考.