PXE网络安装OS过程.docx

上传人:b****8 文档编号:10121274 上传时间:2023-05-23 格式:DOCX 页数:17 大小:33.43KB
下载 相关 举报
PXE网络安装OS过程.docx_第1页
第1页 / 共17页
PXE网络安装OS过程.docx_第2页
第2页 / 共17页
PXE网络安装OS过程.docx_第3页
第3页 / 共17页
PXE网络安装OS过程.docx_第4页
第4页 / 共17页
PXE网络安装OS过程.docx_第5页
第5页 / 共17页
PXE网络安装OS过程.docx_第6页
第6页 / 共17页
PXE网络安装OS过程.docx_第7页
第7页 / 共17页
PXE网络安装OS过程.docx_第8页
第8页 / 共17页
PXE网络安装OS过程.docx_第9页
第9页 / 共17页
PXE网络安装OS过程.docx_第10页
第10页 / 共17页
PXE网络安装OS过程.docx_第11页
第11页 / 共17页
PXE网络安装OS过程.docx_第12页
第12页 / 共17页
PXE网络安装OS过程.docx_第13页
第13页 / 共17页
PXE网络安装OS过程.docx_第14页
第14页 / 共17页
PXE网络安装OS过程.docx_第15页
第15页 / 共17页
PXE网络安装OS过程.docx_第16页
第16页 / 共17页
PXE网络安装OS过程.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

PXE网络安装OS过程.docx

《PXE网络安装OS过程.docx》由会员分享,可在线阅读,更多相关《PXE网络安装OS过程.docx(17页珍藏版)》请在冰点文库上搜索。

PXE网络安装OS过程.docx

PXE网络安装OS过程

使用服务器PXE功能从网络安装操作系统

                                使用服务器PXE功能从网络安装操作系统

   目的是方便集群服务器安装,减少人力及物力开销,压缩安装系统时间,目前多数服务器都支持PXE方式从服务器网卡进行引导,通过安装服务

器的DHCP功能分配ip地址,由tftp软件创建引导服务器安装的引导菜单,再调用nfs/ftp/http方式进行安装操作系统.

   此文档是使用http方式进行安装服务器系统.编写此文档时安装服务器使用CenOS5.2x64位操作系统.配置好了yum源.其它操作系统类

似.安装步聚都是一样的.

PXEserver从网络安装操作系统需要以下几个步聚

1)安装DHCP服务

2)安装tftp服务

3)安装NFS/FTP/HTTP服务器(从中选其一)

1安装dhcp服务

 [root@server1~]#yuminstalldhcp

 Dhcpd配置文件是/etc/dhcpd.conf文件,可以用/usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample这个基本样例配置文件创建/etc/dhcp

 .conf,根据你自己的需要修改你的子网和配置你的dhcp服务在你的网络上.此文档使用172.20.30.x子网,此文档中的配置文件内容如下:

  #*****************************************

  #/etc/dhcpd.confconfigurefilecontents

  #*****************************************

   ddnsupdatestyleinterim;

  notauthoritative;

 

  optiondomainname"";

  optiondomainnameservers208.67.222.222,208.67.220.220;

  optionsubnetmask255.255.255.0;

  subnet172.20.30.0netmask255.255.255.0{

      authoritative;

      range172.20.30.10172.20.30.90;

      optionrouters172.20.30.254;

      allowunknownclients;

      allowbooting

      allowbootp

      nextserver172.20.30.100;

      filename"pxelinux.0";

   }

2安装tftp服务

 tftp服务是一个通过udp协议来传输数据的小型ftp,使用xinetd服务来调用tftp服务.监听tcp/udp的69端口.由xinetd来启动tftp服务.

 编辑/etc/xinetd.d/tftp配置文件,设置选项中的disable为no即可,我的服务器上的tftp配置如下

 #*****************************************

 #tftpconfigurefile

 #*****************************************

 servicetftp

  {

         socket_type=dgram

         protocol=udp

         wait=yes

         user=root

         server=/usr/sbin/in.tftpd

         server_args=s/tftpboot

         disable=no

         per_source=11

         cps=1002

         flags=IPv4

   }

3创建网络安装源

 我们能用三种方法用pxe网络引导时安装操作系统,三种方法分别是nfs,ftp或者http,我是用的http,从http安装操作系统,

 3.1安装http服务

      [root@server1~]#yuminstallhttp

 3.2编辑http配置文件

     编辑/etc/http/conf/httpd.conf

     增加发行版本的iso源文件目录别名

      在之间加入:

     Alias/iso"/www/iso/www/"

      然后在之后加入对iso源文件目录权限设置:

        

              OptionsIndexesFollowSymLinks

              AllowOverrideNone

              Orderallow,deny

              Allowfromall

         

 3.3及创建安装源目录

    mkdirp/www/iso/www/centos/5.2/x64

    mkdirp/www/iso/www/centos/5.2/i386

 3.4创建安装源

     如果你有一个从互联网上下载下来的dvd或cd文件,你可以将dvd或cd文件的isomount到安装源目录上

     我下载的是centos5.2的dvd64及32们版本,使用以下命令mount到安装源目录上:

   mountoloop/home/opensoft/iso/centos/5.2/x64/centos.iso/www/iso/www/centos/5.2/x64

    mountoloop/home/opensoft/iso/centos/5.2/i386/centos.iso/www/iso/www/centos/5.2/i386

4启动dhcp,tftp和http服务

 [root@guorui~]#/etc/init.d/dhcpdrestart

 [root@guorui~]#/etc/init.d/xinetdrestart

 [root@guorui~]#/etc/init.d/httpdrestart

 配置以上三个服务在重启后自动运行,运行以下命令

 [root@guorui~]#chkconfiglevel345dhcpdon

 [root@guorui~]#chkconfiglevel345httpdon

 [root@guorui~]#chkconfig–level345xinetdon

 tftpd服务是用xinetd来启动,所以只设置xinetd服务开机启动即可

5配置tftp网络启动文件

 5.1创建/tftpboot/images上当用于当PXE启动安装程序时要找的启动文件目录

     mkdirp/tftpboot/images

 5.2拷贝/usr/lib/syslinux/pxelinux.0文件到/tftpboot/目录下

    [root@guoruitftpboot]#cp/usr/lib/syslinux/pxelinux.0/tftpboot

 5.3建立/tftpboot/images目录树并且拷贝vmlinuz和initrd.img文件从你的安装源目录(/images/pxeboot/vmlinuz和

     /images/pxeboot/initrd.img

   [root@guoruitftpboot]#mkdirpimages/centos/5.2/i386

   [root@guoruitftpboot]#mkdirpimages/centos/5.2/x64

   [root@guoruitftpboot]#cp/www/iso/www/centos/5.2/i386/images/pxeboot/vmlinuz

                              images/centos/5.2/i386/

   [root@guoruitftpboot]#cp/www/iso/www/centos/5.2/i386/images/pxeboot/initrd.imgimages/centos/5.2/

                              i386/

   [root@guoruitftpboot]#cp/www/iso/www/centos/5.2/x64/images/pxeboot/vmlinuzimages/centos/5.2/x64/

   [root@guoruitftpboot]#cp/www/iso/www/centos/5.2/x64/images/pxeboot/initrd.img

                              images/centos/5.2/x64/

6创建PXE引导菜单

 用以下步聚创建PXE引导菜单

 6.1拷贝menu.c32文件从/usr/lib/syslinux/menu.c32到/tftpboot

    [root@guorui~]#cp/usr/lib/syslinux/menu.c32/tftpboot

 6.2建立/tftpboot/f目录

    [root@guorui~]#mkdirp/tftpboot/f

 6.3建立/tftpboot/f/default配置文件,以下是我的default配置文件

         defaultmenu.c32

         prompt0

         timeout300

         MENUTITLEPXEMenu

         LABELCentoS5.2i386

         MENULABELCentOS5.2i386

         KERNELimages/centos/5.2/i386/vmlinuz

         appendvga=normalinitrd=images/centos/5.2/i386/initrd.imgramdisk_size=32768\

         method=ftp:

//172.20.30.100/iso/centos/5.2/i386/

        

         LABELCentoS5.2x64

         MENULABELCentOS5.2x64

         KERNELimages/centos/5.2/x64/vmlinuz

         appendvga=normalinitrd=images/centos/5.2/x64/initrd.imgramdisk_size=32768\           

         method=ftp:

//172.20.30.100/iso/centos/5.2/x64/

 6.4tftp服务的文件树结构看起来应该像这个样子

      [root@guorui~]#tree/tftpboot/

     /tftpboot/

     |images

     |  |centos

     |      |5.2

     |      |  `i386

     |      |      |initrd.img

     |      |      `vmlinuz

     |      `5.2

     |          `x64

     |              |initrd.img

     |              `vmlinuz

     |menu.c32

     |pxelinux.0

     `pxelinux.cfg

     `default

     8directories,7files

7到此为止就可以使用这台服务器来通过pxe方式安装操作系统了.

注意:

有的服务器的网卡不支持新的操作系统,如华硕RS100-X5/P12服务器,网卡型号MarvellYukon88E8056,些网卡就不支持CentOS5.2

   操作系统.需要到下载驱动模块.

1.引言

一般情况下,我们都是利用软驱或光驱引导Linux后,再通过本地的光驱安装Linux。

但是,这种安装方法在以下的几种情况下就不能适用:

1.无软驱和光驱:

很多公司为了节省成本,计算机一般都不带光驱或软驱,这样就无法通过本地安装Linux;

2.非标准的软驱和光驱:

虽然笔记本都会配置光驱,但是并不一定都是标准的IDE设备,有些是通过USB接口,有些是通过1394接口(例如Samsung的Q10)。

在Linux安装时所引导的Linux内核一般都不会带这些接口的驱动,所以也无法通过本地安装Linux;

3.另外,在一些场合,如机房中,有大量的计算机需要同时安装Linux,如果通过光驱的方式一个个安装,不仅效率低,也不利于维护。

笔者在工作过程中,就遇到过第二种情况。

一台Samsung的Q10笔记本需要安装RedhatLinux8.0,但是通过光驱引导后发现,安装程序无法访问光盘。

针对这个问题,笔者经过查阅资料和摸索,找到了在Q10上安装Linux的方法。

在下面的讨论中,如不做特别声明,都将以Q10为例,介绍如何通过PXEBootrom来远程安装Linux。

回页首

2.基本原理

1)什么是PXE

PXE(Pre-bootExecutionEnvironment)是由Intel设计的协议,它可以使计算机通过网络启动。

协议分为client和server两端,PXEclient在网卡的ROM中,当计算机引导时,BIOS把PXEclient调入内存执行,并显示出命令菜单,经用户选择后,PXEclient将放置在远端的操作系统通过网络下载到本地运行。

PXE协议的成功运行需要解决以下两个问题:

1.既然是通过网络传输,那么计算机在启动时,它的IP地址由谁来配置;

2.通过什么协议下载Linux内核和根文件系统

对于第一个问题,可以通过DHCPServer解决,由DHCPserver来给PXEclient分配一个IP地址,DHCPServer是用来给DHCPClient动态分配IP地址的协议,不过由于这里是给PXEClient分配IP地址,所以在配置DHCPServer时,需要增加相应的PXE特有配置。

至于第二个问题,在PXEclient所在的ROM中,已经存在了TFTPClient。

PXEClient使用TFTPClient,通过TFTP协议到TFTPServer上下载所需的文件。

这样,PXE协议运行的条件就具备了,下面我们就来看看PXE协议的工作过程。

2)工作过程

在上图中,PXEclient是需要安装Linux的计算机,TFTPServer和DHCPServer运行在另外一台LinuxServer上。

Bootstrap文件、配置文件、Linux内核以及Linux根文件系统都放置在LinuxServer上TFTP服务器的根目录下。

PXEclient在工作过程中,需要三个二进制文件:

bootstrap、Linux内核和Linux根文件系统。

Bootstrap文件是可执行程序,它向用户提供简单的控制界面,并根据用户的选择,下载合适的Linux内核以及Linux根文件系统。

回页首

3.步骤

有了前面的背景知识,接下来就可以正式操作了,下面按照顺序给出了操作步骤:

1)配置DHCPServer

选用ISCdhcp-3.0,DHCPServer的配置文件是/etc/dhcpd.conf,配置文件的内容如下:

optionspacePXE;

optionPXE.mtftp-ipcode1=ip-address;

optionPXE.mtftp-cportcode2=unsignedinteger16;

optionPXE.mtftp-sportcode3=unsignedinteger16;

optionPXE.mtftp-tmoutcode4=unsignedinteger8;

optionPXE.mtftp-delaycode5=unsignedinteger8;

optionPXE.discovery-controlcode6=unsignedinteger8;

optionPXE.discovery-mcast-addrcode7=ip-address;

class"pxeclients"{

matchifsubstring(optionvendor-class-identifier,0,9)="PXEClient";

optionvendor-class-identifier"PXEClient";

vendor-option-spacePXE;

#Atleastoneofthevendor-specificPXEoptionsmustbesetin

#orderfortheclientbootROMstorealizethatweareaPXE-compliant

#server.WesettheMCASTIPaddressto0.0.0.0totellthebootROM

#thatwecan'tprovidemulticastTFTP(address0.0.0.0meansno

#address).

optionPXE.mtftp-ip0.0.0.0;

#ThisisthenameofthefilethebootROMsshoulddownload.

filename"pxelinux.0";

#Thisisthenameoftheservertheyshouldgetitfrom.

next-server192.168.0.1;

}

ddns-update-styleinterim;

ignoreclient-updates;

default-lease-time1200;

max-lease-time9200;

optionsubnet-mask255.255.255.0;

optionbroadcast-address192.168.0.255;

optionrouters192.168.0.254;

optiondomain-name-servers192.168.0.1,192.168.0.2;

optiondomain-name"mydomain.org";

subnet192.168.0.0netmask255.255.255.0{

range192.168.0.10192.168.0.100;

}

hostq10{

hardwareethernet00:

00:

F0:

6B:

38:

5B;

fixed-address192.168.0.22;

}

dhcpd.conf配置文件中几个关键部分说明如下:

hostq10{…}定义了笔记本Q10网卡的MAC地址与IP地址的对应关系,表明DHCPServer为Q10分配一个固定的IP:

192.168.0.22;filename""指定bootstrap的文件名;netx-server指定TFTPServer的地址。

其它的配置请读者参考DHCPServer的手册。

2)配置TFTPserver

选用tftp-hpa,TFTPServer的配置文件是/etc/xinetd.d/tftp,配置文件的内容如下:

servicetftp

{

socket_type=dgram

protocol=udp

wait=yes

user=root

server=/usr/sbin/in.tftpd

server_args=-unobody-s/tftpboot

disable=no

per_source=11

cps=1002

}

这里制定了/tftpboot为TFTPServer的根目录位置。

3)配置bootstrap

bootstrap文件在dhcpd.conf中被指定为pxelinux.0文件,放置在/tftpboot。

Linux内核以及Linux根文件系统也放置在/tftpboot。

pxelinux.0在执行过程中,要读配置文件,所有的配置文件都放在/tftpboot/pxelinux.cfg/目录下。

由于PXElinux具有为不同的PXEClient提供不同的Linux内核以及根文件系统的功能,所以要通过不同的配置文件名来区分出不同的PXEClient的需求。

比如一个PXEClient由DHCPServer分配的IP地址为192.168.0.22,那么相对应的配置文件名为/tftpboot/pxelinux.cfg/C0A80016(注:

C0A80016为IP地址192.168.0.22的十六进制表示)。

如果找不到,就按照顺序C0A80016->C0A8001->C0A800->C0A80->C0A8->C0A->C0->C->default查找配置文件。

/tftpboot/pxelinux.cft/C0A80001配置文件的具体内容如下:

DEFAULTin

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2