zoukankan      html  css  js  c++  java
  • etherboot无盘启动

    2001.10.30 吴峰光
    
    本站提供对无盘启动的支持。本文就此作一简单介绍。
    
    一、概述
    
    无盘启动,更确切的说是网络启动,可算是最为轻松和简便的启动方式了。
    目前还很少有人了解它,因为目前的软硬件条件尚未完全成熟。
    但是可以预见,不远的未来(最近几年吧),将会是无盘启动的时代。
    
    无盘启动可以由netboot,etherboot及pxe实现。
    现在一般选用的是etherboot,而pxe方式是未来的方向,只是在目前条件尚未成熟。
    
    二、现有的服务
    
    198提供了DHCP,TFTP,NFS等服务,用以支持无盘客户端。
    
    本站提供如下类型的网络启动模块:
       -->> 启动进入Linux
            无须在本机上安装Linux系统,您就可以启动进入一个全功能的linux系统(debian/woody).
            您可用root登陆系统,无需输入密码。
            感觉就像是自己装的Linux,没有任何功能上的限制,除了你不能更改/。
            特别适合如下用途:
            □linux初学者学习使用
            □供有经验的linux用户作为应急系统:比如在一个裸机上装操作系统,本地系统损坏时进行紧急修复.
       -->> 加载Windows98启动盘
       -->> 加载多种Linux版本的安装程序
    
    三、客户端
       要享受网络启动,首先要求您拥有一块PCI网卡,并在卡上插有一块EPROM无盘启动芯片。
       能满足后一条件的恐怕很少,不过没关系,现在有一种非常简便的EPROM替代方式。
       那就是准备一张无有用数据的软盘,往其中写入一段小小的网络启动驱动代码(通常是16K/32K)
       然后就可以用它启动电脑,进入网络启动界面啦!
       具体操作:
       	从file://202.38.73.198/diskless/etherboot/下载:
    	-->> rawrite.exe
    	-->> 子目录lzdsk下与您的网卡配套的驱动代码映像文件
    	运行rawrite.exe,输入映象文件名,即可制作无盘启动引导软盘,进行“无盘”启动了。
    
    当您使用etherboot启动盘成功启动后
    第一步:DHCP服务器会给出你的网络配置,并给出一个菜单,在其中列出了所有可用的服务。
    第二步:选中其中一项之后,即进入第二步,从TFTP服务器下载相应的映象文件。
    第三步:控制权交给此映象文件,启动进入linux/freebsd/dos等操作系统。
    
    四、服务端设置
       自动化系系网:
           由202.38.73.198(本站)提供DHCP、TFTP及NFS-ROOT支持。
       校内其它子网:
           有兴趣提供这一服务的同学,有如下三种选择,可简可繁。
               1、简单的提供DHCP
               2、提供DHCP及TFTP
               3、提供完整配套的DHCP、TFTP以及NFS-ROOT
    	前两种方案比较简单,对服务器也没有什么负担,它们起到了前期引导启动的作用,
    	而后期的NFS-ROOT负载全部转由198服务期提供。
    	第三种方案实际上就是要新建一整套无盘系统,那就非常的繁了。
    
    1. DHCP解决方案
    这适用于简单的为实验室内部网络提供网络启动支持.
    操作:
    您需要运行dhcpd,并在/etc/dhcpd.conf中合适的地方加入如下的语句:
    	next-server			202.38.73.198;
    	filename			"/tftpboot/nc.nbi";
    	option tftp-server-name 	"202.38.73.198";
    	option root-path    		"202.38.73.198:/croot,flags=hard,nolock,intr,v3";
    
    其中第二行的文件名按您的需要而定。在73.198上的/tftpboot/目录下有一些现成可用的映像文件,供您选择使用:
    nc.nbi                全功能的Linux
    bare.nbi              受限的Linux,不能存取本地硬盘、软盘及光盘,不能动态加载内核模块
    win98.nbi             win98启动盘
    suse.nbi              SuSE 7.3 安装启动
    redhat.nbi            Redhat 7.2 安装启动
    mandrake.nbi          Mandrake 8.1 安装启动
    
    2. DHCP+TFTP解决方案
    相对于1,其好处是可以提供一个菜单,让客户端自由选择想加载启动的映像文件.
    操作:
    a) 开启tftp服务,并从本站/diskless/tftpboot/目录下载所有文件至本地/tftpboot目录.
    b) 开启dhcp服务,并在/etc/dhcpd.conf中合适的地方加入如下语句:
    (注意:请勿直接copy&paste,内含特殊字符!)
    	option option-128	e4:45:74:68:0:0;
    	option option-129	"ramdisk_size=102400";
    	option option-160	"timeout=15:default=192";
    	option option-184	"['/tftpboot/motd'#";
    	option option-192   "[33mNetwork Computer[37m - a full functional GNU/Linux system:::/tftpboot/nc.nbi:";
    	option option-193   "[33mBare WorkStation[37m - a bare diskless GNU/Linux system:::/tftpboot/bare.nbi:";
    	option option-194   "[33mRedhat   7.2 Installation Disk[37m:::/tftpboot/redhat.nbi:";
    	option option-195   "[33mMandrake 8.1 Installation Disk[37m:::/tftpboot/Mandrake.nbi:";
    	option option-196   "[33mSuSE     7.3 Installation Disk[37m:::/tftpboot/suse.nbi:";
    	option option-197   "[34mWin98 boot[37m - Windows 98 bootdisk:::/tftpboot/win98.nbi:";
    
    3. DHCP+TFTP+NFS解决方案
    进一步增加NFS支持,主要是用来构建自己的无盘linux系统.
    适合于快速建立集群系统,用于并行运算.
    无盘系统的构建方法多种多样,需要拥有较好的Linux基础。
    这里我仅简单的介绍一下自己的方案。
    
    我的原则是:创建和维护简单而方便,扩展性和伸缩性好,通用性和适用范围广。
    
    简单步骤如下(假设您已具有Linux无盘启动的初步知识):
    1、在一台普通的机子上安装一个debian/woody系统,进行初步的系统配置。
    2、将此系统完整的拷贝到服务器的目录/croot下。
    3、在服务器上配置运行nfsd。将/croot通过NFS共享:
    	#/etc/exports
    	/croot		*(ro,no_root_squash)
    4、在服务器上配置运行dhcpd,tftpd。
    5、缺省的/etc,/var等目录,客户端需要拥有写入权,因此需要在客户端内存建立虚拟的文件系统。
       把/croot下的etc/,var/,root/等目录精简并打包,放在/croot/nfsboot/目录下。
       系统启动时下面的脚本会建立若干tmpfs文件系统,并把这些压缩包解开还原到其中去。
    6、在/croot/etc/init.d/下新建nfsboot.sh脚本文件,并建立链接
       ln -s /croot/etc/init.d/nfsboot.sh /croot/etc/rcS.d/S03nfsboot.sh
       使之能在系统启动的初期自动执行。
    7、编译客户端内核,分别使用etherboot及mknbi制作启动软盘及映像文件。
    
    参考资料:
    在198上你能找到全部的配置参考资料.比如:
    ftp://202.38.73.198/diskless/ 			etherboot及mknbi源代码
    ftp://202.38.73.198/diskless/dhcpd.conf.sample	dhcpd配置文件模板
    ftp://202.38.73.198/diskless/etherboot/		已编译好的各种etherboot启动文件
    ftp://202.38.73.198/diskless/tftpboot/		已打包好的由mknbi制作的网络启动映象文件
    (NFS) 202.38.73.198:/croot			NFS-ROOT,整个系统都给你了噢。
    (NFS) 202.38.73.198:/croot/etc/init.d/nfsboot.sh 网络启动初始化脚本,呵呵,本系统运行的关键之处。
    (NFS) 202.38.73.198:/croot/etc/nfsboot/		已打包的精简版本/etc,/var等目录
    
    若有什么问题,请与我联系:
    wfg@mail.ustc.edu.cn
    fengguang_wu@bbs
  • 相关阅读:
    dajngo 访问静态资源 图片
    springboot Shiro
    Jmeter集合点(线程组和同步定时器)
    Jmeter中的线程租的参数讲解
    人工智能必备数学知识学习笔记9:初等矩阵和矩阵的可逆性
    人工智能必备数学知识学习笔记8:线性系统
    在 web 中 后台 推送消息 页面 的消息提醒 注意
    web页面实现文件下载的几种方式
    ant desgin pro 的表格组件中的 使用 之自动刷新
    ant desgin 项目中 弹框modlel 模态框中展示 form 表单 将 form 表单 的提交按钮 关联到 模态框的 确定按钮上 在hook的写法中 在 class 的组件中 要加上 this
  • 原文地址:https://www.cnblogs.com/heidsoft/p/3430396.html
Copyright © 2011-2022 走看看