关于尚观
最新课程体系
企业服务
零起点咨询
开放课程
报名咨询
免费资源申请
Oracle服务
学员专区&薪资
认证课程
  • 尚观首页
  • 尚观简介
  • 师资力量
  • 尚观文化
  • 尚观动态
  • 加入尚观
  • 联系我们
  • 珍贵瞬间
  • 院校合作
  • Linux系统与集群
  • 数据库集群架构师
  • 嵌入式内核驱动开发
  • 服务器开发架构师
  • Android开发架构师
  • RHCE/LPI认证体系
  • Oracle OCP认证
  • 企业高级技术培训
  • 批量人才供应及研发团队建设
  • 软件外包及研发项目合作
  • 人力外包及人力供应
  • 猎头服务
  • 开启职业生涯
  • 如何入门
  • Unix/Linux职业方向
  • 嵌入式职业方向
  • 集群(Cluster)Oracle(DBA)方向
  • 新手专栏
  • Android开发方向
  • Unix/Linux新手专栏
  • Unix/Linux管理
  • 嵌入式及POSIX开发
  • Linux开源文化及市场
  • 最近网络课堂
  • P2P教学视频
  • 精彩Linux培训视频
  • 零起点数据库集群(长期)
  • 嵌入式驱动(长期)
  • Linux金牌三证(RHCE级)
  • Linux架构师(RHCA级)
  • 嵌入式/驱动加速课程
  • Linux免费网络安全公开课
  • 免费Linux资料申请
  • 免费Linux安全&DDOS防御课程
  • 免费嵌入式Linux开发课程
  • 免费Linux网络安全机制
  • 尚观服务
  • 软件产品
  • 技术方案
  • 尚观支持
  • 学员毕业薪资(不断更新中)
  • 加入尚观猎头服务(仅限老学员)
  • OCP认证
  • Intel认证
  • RHCE认证
  • RHCE+OCP
  • RHCE+LPI
  • OCM认证
  • RHCA认证


    您现在的位置:尚观Linux培训 - 嵌入式Linux培训专家尚观Linux培训 » 嵌入式及POSIX开发 » PXE网络安装实战

 
 
咨询热线
  • 免费咨询电话:
    400-700-0056
    800-810-0056

    教学就业监督电话:
    400-810-3016



  • 在线咨询
免费资源
  • [北京]Linux安全-4月24日
  • [沈阳]Linux嵌入式-4月24日
  • [上海]DDos攻防-4月24日
  • [上海]Linux嵌入式-4月24日
  • [深圳]DDos攻防-4月24日
  • [深圳]Linux嵌入式-4月24日
  • [北京]DDos攻防-4月24日
  • 就业课程
  • 免费课程
  • 五万年薪就业保证课程

  • ULP-S 尚观王者IT集群课程 v8.2版
  • UEA嵌入式内核驱动开发者 V8.2版
  • UGA-Android开发架构师 V3.2版
  • ULA-linux云存储集群架构师V8.2版
  • UOA-Oracle集群架构师课程V8.2版
  • 八万年薪就业保证课程

  • OCM10g-Oracle顶级数据库大师级
  • UEM-嵌入式开发大师
  • 纯免费!技术达人讲解Android系统通信互动程序开发! 5月24日
  • 纯免费! Shrek主讲Linux网络攻击及安全! 5月17日
  • 纯免费! 大牛讲解如何在开发板上构建Linux系统 5月10日
  • 纯免费! 尚观OCM大师主讲Oracle实时备份课程 4月26日
  • 纯免费! Shrek主讲Linux网络攻击及安全课程 4月11日
  • 纯免费!Foway为您解析OCM考试经验 3月2日
  • 纯免费!shrek主讲 linux网络攻击及安全课程 2月8日
  • 纯免费!连续3天,Android开发入门实战免费公开课 12月27日
  • 纯免费!“云”指南“嵌入式”指北大型讲座! 12月24日
Linux培训●最新开班
  • [北京]UGA课程5月班热招!
  • [北京]UEA课程5月班热报!
  • [北京]ULP-S课程5月班热招
  • [上海]UEA课程5月班热招!
  • [上海]ULP-S课程5月班热招
  • [上海]UGA课程5月班热招!
  • [深圳]ULP-S课程5月班热招
  • [深圳]UEA课程5月班热招!
 
PXE网络安装实战
  • PXE网络安装实战
    在实际工作中,我们经常会遇到这样的情况:想要安装Linux但是计算机不带光驱或软驱,或者是笔记本配置的非标准的软驱和光驱,如1394接口,USB接口等,在Linux安装时所引导的Linux内核一般都不会带这些接口的驱动,所以也无法通过本地安装Linux,此外,在一些场合,如机房,IT实验室,工厂生产线,有大量的计算机需要同时安装Linux,如果通过光驱的方式一个个安装,不仅效率低,也不利于维护。这是时候你就需要PXE的强大功能了。本文将就PXE的基本原理和工作方式进行简要介绍,重点通过实际操作来演示如何通过网络安装RedHat和FreeBSD这两个系统以及引申出来的其它功能
    基本原理
    PXE是什么
    PXE(Pre-boot Execution Environment)是由Intel设计,可以使计算机通过网络启动的协议。协议分为client和server两端,PXE client在网卡的ROM中,当计算机启动时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。
    PXE是怎样工作的.

    我们可以看到,无论安装什幺类型的操作系统,PXE的安装过程大致可以描述为以下几个步骤:
    1. 客户机从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP
    2. DHCP服务器返回分给客户机IP以及bootstrap文件的放置位置(该文件一般是放在一台TFTP服务器上)
    3. 客户机向本网络中的TFTP服务器索取bootstrap文件
    4. 客户机取得bootstrap文件后之执行该文件
    5. 根据bootstrap的执行结果,通过TFTP服务器加载内核和文件系统
    6. 进入安装画面, 此时可以通过选择FTP,HTTP,NFS方式之一进行安装
    从这里我们不难得到实现PXE网络安装必需的4个要素
    1. 客户机的网卡必须为PXE网卡
    2. 网络中必须要有DHCP和TFTP服务器,当然这两个服务器可以是同一台物理主机
    3. 所安装的操作系统必须支持网络安装,即必须提供自己的bootstrap
    4. 必须要有FTP,HTTP,NFS至少一个服务器,当然也可以和DHCP和TFTP服务器同为一台物理主机
    实际演练
    了解了PXE的原理以及工作过程后,下面我们来实际操作,通过实现PXE网络安装必需的4个要素,来演示一遍安装的全过程.本例使用RedHat9作为服务器的操作系统.
    PXE网卡
    现在市面上的的网卡,不论是板载或是PCI网卡基本上都支持PXE,所以第一个要素不成问题.
    DHCP和TFTP服务器
    为了简便起见,我们将DHCP和TFTP服务运行在同一台物理主机上.
    配置DHCP服务器
    DHCP服务的配置文件是/etc/dhcpd.conf,但是RedHat9 默认安装没有生成该文件,我们可以将/usr/share/doc/dhcp-3.0pl2/dhcpd.conf.sample拷贝到/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;

           option nis-domain               "domain.org";
           option domain-name              "domain.org";
           option domain-name-servers      192.168.1.1;

           option time-offset              -18000; # Eastern Standard Time
    #       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.128 192.168.0.254;
           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 00:E0:81:61:16:60;
    fixed-address 192.168.0.105;
    filename “/tftpboot/pxelinux.0”;
    #      filename "/tftpboot/pxeboot";
    option root-path "192.168.0.1:/FreeBSD";
           }
    }
    红色部分是修改过的部分,我一一解说其作用
    next-server marvin.redhat.com
    这是指明TFTP服务器的IP或者是主机名,如果你的TFTP和DHCP是同一台物理主机,那就可以注释掉该行,本例中便注释掉了该行
    hardware ethernet 00:E0:81:61:16:60
    fixed-address 192.168.0.105

    如果你希望对某一台客户机指定一个固定的IP,那幺你就需要将该客户机的MAC地址与你希望它得到的IP写在这里,本例我们将一台MAC地址为00:E0:81:61:16:60的主机指定了一个固定IP: 192.168.0.105

    filename

    这一个选项很重要,它的作用是指明bootstrap所在的位置,一般是指向一个TFTP服务器的某个目录下

    option root-path

    该选项在用来定义根文件系统的路径,一般是一个NFS方式。本例主要是针对安装FreeBSD而设置
    配置TFTP服务器
    TFTP服务的配置文件是/etc/xinetd.d/tftp,RedHat9 默认安装已经生成了该文件

    service tftp
    {
    disable = no
    socket_type = dgram
    protocol = udp
    wait = yes
    user = root
    server = /usr/sbin/in.tftpd
    server_args = -s /tftpboot
    per_source = 11
    cps = 100 2
    flags = IPv4
    }
    这个文件基本上不用改动,但是需要注意的的是server_args= -s /tftpboot这一行,它的含义是将/tftpboot作为root目录,这样在dhcpd.conf中的filename一行就应该写bootstrap的相对路径: filename “/pxelinux.0”,这是出于安全方面考虑的.如果你去掉了-s这个参数,那幺就要在filename一行指出bootstrap的绝对路径: filename “/tftpboot/pxelinux.0”.为了和本例的dhcpd.conf相一致,我们去掉-s变为
    service tftp
    {
    disable = no
    socket_type = dgram
    protocol = udp
    wait = yes
    user = root
    server = /usr/sbin/in.tftpd
    server_args = /tftpboot
    per_source = 11
    cps = 100 2
    flags = IPv4
    }
    Bootstrap
    对于支持网络安装的操作系统,Bootstrap基本上都可以从安装源文件上找到,对于本例来说,RedHat的bootstrap就是/usr/lib/syslinux/pxelinux.0,FreeBSD的bootstrap就是/boot/pxeboot,我们把它们都拷贝到/tftpboot下.
    NFS服务器
    要实现FreeBSD的安装还缺少一个NFS服务器,即dhcpd.conf所提到的root-path选项,我们不妨也将它和DHCP,TFTP运行在同一个物理主机上,它的配置文件很简单,就是/etc/exports:
    /FreeBSD   *(rw)
    到这里,四个要素已经全部实现,我们开始着手进行最后的配置.
    配置RedHat
    把RedHat第一张安装光盘上images/pxeboot目录下的initr.img和vmlinux也考到/tftpboot/目录下。在/tftpboot创建pxelinux.cfg目录,用于放syslinux的配制文件。Sysconfig的配制文件有现成的可用,在RedHat第一张安装光盘isolinux/下有一个isolinux.cfg文件,把它拷贝到/tftpboot/pxelinux.cfg/目录下并改名为default.下面为修改后的default文件:
    default linux
    prompt 1
    timeout 30
    label linux
    kernel vmlinuz
    append initrd=initrd.img
    这个Default 文件很容易看懂,就是告诉启动后使用那个内核引导
    配置FreeBSD
    以FreeBSD5.2为例,将5.2-RELEASE-i386-disc1.iso挂接在/FreeBSD下:
    mount –o loop 5.2-RELEASE-i386-disc1.iso /FreeBSD
    开始安装
    服务器方面
    首先通过setup命令设置服务器自身的IP为192.168.0.1,然后依此启动DHCP,TFTP,NFS服务器:
    # cd /etc/rc.d/init.d
    # ./dhcpd restart
    (如果安装RedHat,先要将dhcpd.conf中的filename "/tftpboot/pxeboot" 注释掉(加字符#),再把filename "/tftpboot/pxelinux.0" 去掉注释(去掉字符#),安装FreeBSD则刚好相反)
    #./xinetd restart
    #./nfs restart
    关闭防火墙
    #./iptables stop
    客户机方面
    客户机只需设置BIOS从网络启动即可,开机后可以看到它将按预计引导进入安装画面,此时和用光驱从本地安装的画面是一样的.接下来就可以根据安装手册完成安装,这里就不再叙述
    引申
    PXE除了用于网络安装以外,也可以直接从网络引导内核到内存中执行,实现无盘系统.我们结合上面的配置举两个实际的例子来说明.
    例一:
    如果你管理的机房或者实验室的linux系统有了故障,需要进入到rescue模式去修复.若是一台一台去从光驱或软盘引导进入就太麻烦了,我们可以采用PXE来一劳永逸.具体做法是:在/var/www/html下建立RedHat/base目录,并且拷贝第一张安装盘上的/RedHat/base/netstag2.img到/var/www/html/RedHat/base目录里.这样客户机网络引导进入安装画面时候,只需输入linux rescue,然后在选择rescue img位置时选择http,输入服务器的ip,路径一栏输入/,回车后就可以顺利进入安全模式。
    例二:
    大部分主板测试部门都会采用memtest86这个软件去测试内存,一般地做法是将程序写到软盘里,从软盘启动执行,这样一来,即要占用大量的软驱而且大大缩短了软盘的寿命,成本会增加.我们可以采用PXE方式直接从网络引导这个程序到内存执行,速度又快又可以避免设备的消耗.具体做法是修改default的内容为
    default linux
    prompt 1
    timeout 600
    label linux
    kernel vmlinuz
    append initrd=initrd.img
    label mem
    kernel mem86.bin
    append root=/dev/ram0 rw
    mem86.bin是memtest86的主程序,将它放置到/tftpboot下,客户机从PXE引导进入安装画面时只需输入mem,就可以直接通过tftp将mem86.bin解压到ramdisk并自动运行.

    小结
    PXE使得我们本来繁琐的重复性工作得到了简化,大大节省了人力物力以及时间,这对于力求降低成本的工厂有着重大的意义,对于个人而言,无疑也加深了对网络安装的更深一步认识.
    作者 雷凯




    精彩Linux视频、嵌入式视频、Android视频、Oracle视频,免费先学!
    查看:尚观Linux培训学员最新就业薪资待遇统计报告!
    查看:UGA-4G Android开发架构师大纲
    查看:UDA-Linux服务器开发架构师大纲
    查看:UEA-嵌入式内核驱动开发者大纲
    查看:UOA-Oracle数据库集群架构大纲
    查看:ULA-Linux系统与集群架构师大纲

    填表获取 Linux、嵌入式、Oracle 技术资料

  • 姓    名:
  • 固    话:
  • 手    机:
  • E-Mail :
  • 所在地:
  •         

北京(总部)

电子地图
电话:(010)62113016/17 68949060
地址:北京海淀区中关村南大街 甲10号 银海大厦南区410-418

上海(Shanghai)

电子地图
电话:(021)64859996 64859889
地址:上海徐汇区钦江路333号漕河泾开发区38号楼申能科技3楼

深圳(Shenzhen)

电子地图
电话:(0755)82995128 82995168
地址:深圳福田区 彩田路 中深花园B2005室

沈阳(Shenyang)

电子地图
电话:(024)31500816 31500817
地址:沈阳和平区三好街54号物产科贸大厦2号楼201室

大连(Dalian)

电子地图
电话:(0411)84336822 84326822
地址:大连沙河口区西安路86号行政大厦(罗斯福广场对面)17楼1705室

成都(Chengdu)

电子地图
电话:(028)66677820 66677828
地址:成都青羊区上西顺城街252号顺吉大厦8楼B4

广州(Guangdong)

电子地图
电话:(020) 88900632 81368992
地址:广州市越秀区人民北路612号中广大厦9层(国际银行中心旁)

南京(Nanjing)

电子地图
电话:(025)83176720 83176710
地址:南京新街口广场中山东路9号天时科技园12层G、H单元

武汉(Wuhan)

电子地图
电话:(027)87596339
地址:武汉市洪山区鲁磨路118号国光大厦A座1201室1203室




2005-2009高新技术企业

LPI授权培训考试中心

CSDN战略伙伴

51Job战略伙伴

Oracle WDP授权培训与考试中心

Intel软件服务培训供应商

Redhat授权培训与考试中心

高新技术企业证书
 

友情链接(联系QQ:304853420):   LPI  RedHat  CSDN  ChinaUnix  ITPub  Eygle.Com  Linux培训  嵌入式培训  Linux联盟  Unix爱好者  51CTO开发 尚观知识库 天极导航  PHP中国  网易教育  天津赶集网  工具软件下载  连锁加盟  天极网南京站  个人简历模板  北京赶集网  畅享网  网页制作  Linux  ZOL服务器  广告联盟  颈椎病的症状  21CN教育  亿芯网  强直性脊柱炎  数码比价网  投资创业  DJ网站  嵌入式技术网  OCM培训  股票入门  大功率LED网   搜电网  杭州写字楼网  时尚论坛  医药营销联盟  Linux技术中心  泉州人才网  大学后  天天健康  RHCE培训  SVN中文技术网  网罗天下  Oracle培训  北京法律咨询  嵌入式资讯网  Fedora中文爱好者  沸点100网   教培英才网  中国二手车城  Linux公社  Oracle教程  深圳本地宝  狂人网  0090网址大全  数码比价网  中国程序员人才网  IT英才网

  • PR
COPYRIGHT © 2000-2009 北京尚观科技有限公司 - 北京市海淀区尚观培训学校 - Linux培训及嵌入式培训专家 ALL RIGHTS RESERVED

咨询热线:400-700-0056    800-810-0056
在线咨询:QQ:814996026    院校洽谈合作专线:13911737012(张老师)
京ICP备09018548号 | Linux就业信息 | 免责声明 | 隐私声明 |