`
被触发
  • 浏览: 37079 次
文章分类
社区版块
存档分类
最新评论

Linux无盘工作站 网络环境构建

 
阅读更多
1 无盘工作站及其原理

1.1 无盘工作站

无盘工作站是没有硬盘的计算机终端。
它本身不含有硬存储设备,机器引导时需要借助网络上的服务器来传输操作系统启动文件到本地内存,才可以完成启动。因此,无盘工作站必须具有CPU、主板、内存、网卡和远程启动设备。远程启动设备主要以芯片的形式固化或接插在网卡上,在系统启动时负责连接服务器,获取IP地址,指导服务器上的操作系统启动文件到本地内存的传输。目前,远程启动芯片主要有RPL和PXE两种,后者为前者的升级版,目前正在被广泛使用。
1.2 PXE芯片启动原理

PXE芯片在远程启动时,首先要进行一个DHCP会话过程来获取一个IP地址和相关信息,以便进行后续的文件传送;IP地址获取成功后,PXE芯片触发TFTP会话过程,根据DHCP过程获取的相关信息向服务器请求启动文件,服务器接到请求后,根据本地策略,发送相应的启动文件,工作站接收到启动文件后,开始本地启动过程。
以上是PXE芯片无盘工作站启动过程的简单描述,DHCP协议的相关内容可参考RFC2131标准化文档,TFTP协议的相关内容可参考RFC1350标准化文档。
对于Linux操作系统来说,PXE所需要下载的启动文件是配置文件和内核文件。其中,配置文件在DHCP应答报文中包含,通过TFTP会话过程获取;内核文件的名称和位置在配置文件中给出,同样需要通过TFTP会话过程获取;内核文件获取成功后,系统开始进行本地启动,当启动过程进行到需要装载文件系统时,PXE会根据配置文件,向服务器请求连接根文件系统(该文件系统为NFS网络根文件系统)所对应的服务器目录,若成功,则启动结束。下页图1-1给出了这一过程的交互模型。
Linux无盘工作站的详细启动流程如下:
Step 1 工作站加电,PXE芯片进行自检;
Step 2 准备启动,PXE芯片发送DHCP请求;
Step 3 服务器收到工作站送出的请求,发送DHCP应答,内容包括客户端的IP地址,预设网关,DNS服务器及开机映象文件(配置文件和内核)位置;
Step 4 工作站上的PXE芯片根据配置文件位置,开始TFTP会话请求下载该文件;
Step 5 加载映象文件,开始本地启动,挂载NFS网络根文件系统;
Step 6 出现Login行,启动成功。

图1-1  PXE芯片启动过程中的网络交互
1.3 配置过程概述

根据上面的叙述不难得知,配置无盘工作网络环境的核心工作在于无盘网络文件服务器的配置,而文件服务器的配置又是由DHCP、TFTP等几个部分组成的。因此不难得知,配置Linux无盘工作站的网络环境,依次需要完成以下工作:
(1)选择并安装无盘网络文件服务器上的Linux操作系统;
(2)配置该操作系统的基本网络环境;
(3)配置DHCP服务器;
(4)配置TFTP服务器;
(5)为工作站创建工作目录、配置文件和内核文件;
(6)为工作站构建合理的、标准化的Linux文件系统;
(7)启动工作站,进行必要的调试。
2  详细配置说明

2.1 操作系统的选择和安装

首先,要为服务器选择一个适用于无盘工作站网络环境的操作系统。这个操作系统应该具有网络功能强大,处理速度优化,稳定性高等特点。在选择操作系统时,切忌选择具有服务器版本的PC机系统,而是要选择专门为服务器和大机器应用而开发的网络操作系统。经过考虑,本次配置决定选择Red Hat Enterprise Linux Advanced Server 4(RHAS4)操作系统,该系统是Red Hat公司专门为企业服务器所设计的操作系统,其内核版本高低适中,稳定性好,网络功能十分强大,贴近标准Linux,易于操作和管理。
2.2 基本网络环境配置

构建最基本的网络环境是任何网络服务器都必须做好的事情。这一部分的内容包括配置IP地址、子网掩码、主机名称和DNS服务器等内容,如果使用拨号或虚拟拨号网络,还应该配置相应的Modem和PPP协议支持。这部分操作在RHAS4中十分简单,只需在桌面环境下的最顶部依次选择“应用程序”—“系统设置”—“网络”,即可按照提示完成,如果未安装桌面环境,则使用ifconfig命令配置即可。
2.3 配置DHCP服务

DHCP服务需要对/etc/dhcpd.conf文件进行配置,将这个文件用vi或gedit打开就可以进行配置了。在命令行中输入vi /etc/dhcpd.conf或者gedit /etc/dhcpd.conf,将以下内容按括号中的说明修改后粘贴进去,保存退出即可。(开头有#的行为注释行,不必粘贴)
#---------------------------------------------------------------------------------------------------------------
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#
#(DHCP-DNS互动)
ddns-update-style interim;
#(忽略客户端更新)
ignore client-updates;
#(允许bootp协议启动)
allow bootp;
allow booting;
#(子网作用域)
subnet 192.168.1.0 netmask 255.255.255.0 {
# ---default gateway (默认网关信息,前三个选项依次为路由器IP,子网掩码,DNS)
       option routers 192.168.1.1;
       option subnet-mask 255.255.255.0;
       option domain-name-servers 192.168.1.1;
       option time-offset -18000;
#(地址池范围)
range dynamic-bootp 192.168.1.2 192.168.1.253;
#(IP地址租期,单位为秒,粗体部分根据需要自行设置;-1为永远不过期,不推荐)
default-lease-time 14400;
max-lease-time 86400;
}
#(以配置一台工作站c1的DHCP分配策略为例)
#(几行的含义依次为:工作站名称,服务器名称,工作站MAC地址,要分配给工作
# 站的IP地址,启动配置文件的位置,NFS根文件系统的路径)
#(启动配置文件的位置和NFS根文件系统的路径与后续步骤的配置密切相关,粗体部# 分会根据后续配置内容的变化而变化)
host c1{
server-name "server";
hardware ethernet 00:30:18:63:55:02;
fixed-address 192.168.1.3;
filename "/tftpboot/pxelinux.0";
option root-path "/tftpboot/192.168.1.3"
}
#(若还有其他机器,则按这种方法继续进行配置 host c2…)
#---------------------------------------------------------------------------------------------------------------



2.4 配置TFTP服务

TFTP服务需要在/etc/xinetd.d中进行注册性配置,将这个文件用vi或gedit打开就可以进行配置了。在命令行中输入vi /etc/xinetd.conf或者gedit /etc/xinetd.conf,将以下内容追加到文件末尾,保存退出即可。
includedir /etc/xinetd.d
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
}
2.5 工作系统内核编译

无盘工作站需要根据它自身的特殊性来量身定做特殊的内核,因此首先要了解无盘工作站有哪些特点。经上述叙述不难得知,无盘工作站必须支持DHCP/BOOTP协议启动,而且必须支持NFS文件系统为其根文件系统,还要支持相关的网络设备。内核的选取也十分重要,版本太低的内核功能很少,安全性差;版本太高的内核又会不稳定。经过考虑,本次配置采用了2.6.23版本的Linux内核,该内核源码包的下载地址为:
http://www.at.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.tar.gz。
内核下载完成后,依次在终端中执行如下命令:
cp linux-2.6.23.tar.gz /usr/src
cd /usr/src
tar zxf linux-2.6.23.tar.gz
cd linux-2.6.23
make menuconfig
按照无盘工作站的特点,设定内核编译选项,包括CPU类型、禁止模块功能、DHCP/BOOTP启动协议和NFS文件系统支持,以下是配置方法:
(1)Processor type and features项目下面的选项必须根据无盘工作站的CPU类型设置,而不是根据服务器的CPU类型设置;
(2)Loadable module support 该项目下面的所有选项都禁止,即不支持模块功能(无盘所需的设备,如网卡,都必须编译进内核,不能编译成模块);
(3)Networking ---> Networking options,将带*项选中:
  
  •      IP: kernel level auto configuration
  •   
  •      IP: DHCP support
  •   
  •      IP: BOOTP support
  •    [ ]     IP: RARP support    <--- not needed
    (4)File System ---> Network File Systems,将带*项选中:
      
  •     NFS file system support
  •   
  •     Provide NFSv3 client support
  •   
  •     Root file system on NFS
  • (5)Block Devices,将带*项选中:
  •     Loopback device support
  •     Network block device support
  • 再进行其它选项的检查,把Bluetooth等不需要的冗余项去掉,保存退出即可。
    依次执行如下命令:
    make dep
    make bzImage
    最后生成的bzImage即为编译好的新内核文件,根据最后的提示信息,可以从生成该文件的路径中将其拷贝出来。
    2.6 配置工作目录和启动文件

    根据2.1节配置文件的后半部分不难得知,每一台工作站都需要配置特定的DHCP选项,其中的黑体部分就是该工作站在服务器上工作的目录,这个目录的名称可能会随着需求的不同或配置者的喜好不同而不同。在本文档中,为了保护本次配置的完整性,我们将按照DHCP配置文件中指定的主机名称(c1)、主机IP地址(192.168.16.3)和工作总目录/tftpboot/**来进行配置。首先,我们建立/tftpboot总目录,然后依次执行如下命令:
    mkdir /tftpboot(建立/tftpboot总目录,所有机器的工作目录均存于其中)
    cp bzImage /tftpboot(将先前编译好的bzImage文件拷贝到/tftpboot下)
    chmod 777 /tftpboot/bzImage(设定文件属性为可读可写可执行,该步骤可选)
    cd /tftpboot
    mkdir 192.168.1.3(建立c1主机的工作目录,这里以其IP地址命名,可根据需要修改)
    到这里,我们已经完成了c1主机工作目录的创建,并且已经把为无盘工作站编译好的新内核放置在总目录中了,接下来就是为c1主机创建配置文件和启动文件的时候了。
    在本次配置中,使用pxelinux.0作为机器的启动文件,正如DHCP配置文件中所写的一样,工作站先通过TFTP得到这个文件,然后根据这个文件的指示去查找配置文件,再根据配置文件的指示,通过TFTP得到内核文件。pxelinux.0文件包含在软件包syslinux中,该软件包下载地址为http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.53.tar.gz。
    下载完成后就可以解开压缩获取pxelinux.0文件了,依次执行如下命令:
    tar zxf syslinux-3.53.tar.gz
    cp ./syslinux-3.53/pxelinux.0 /tftpboot
    该命令获取pxelinux.0文件并将其复制到总目录/tftpboot下,正好对应DHCP配置文件中的filename "/tftpboot/pxelinux.0"行,不难理解,DHCP服务的回应报文将会带回/tftpboot/pxelinux.0这个文件名,使得后续的TFTP过程可以使用该文件名发出正确TFTP文件传送请求。
    上面曾经提到,pxelinux.0将指示工作站去获得配置文件,进行进一步的启动,因此,我们必须明白pxelinux.0寻找配置文件的策略,以便安放配置文件。这个策略十分简单,它的动作就是指示工作站去下载pxelinux.0文件所在目录下的pxelinux.cfg子目录下的以工作站得到的IP地址的十六进制数表示同名的文件。就本例而言,该配置文件的所在位置应为/tftpboot/pxelinux.cfg/C0A80103(192.168.1.3的十六进制数值表示)。根据这个固有策略,我们就可以继续进行配置了。
    mkdir /tftpboot/pxelinux.cfg
    cd /tftpboot/pxelinux.cfg
    vi C0A80103或gedit C0A80103
    将以下内容按括号中的说明修改后粘贴进去,保存退出即可。(开头有#的行为注释行,不必粘贴)
    #---------------------------------------------------------------------------------------------------------------
    default linux
    label linux
    #(下面的bzImage即为编译生成的新内核名称,可根据需要修改)
    kernel bzImage
    #(下面的192.168.1.3即为c1主机的工作目录,可根据需要修改)
    append ip=dhcp root=/dev/nfsroot rw enforcing=0 nfsroot=./192.168.1.3 vga=normal
    #---------------------------------------------------------------------------------------------------------------
    使用PXELINUX(pxelinux.0)时,对于某些系统来说,有时需要使用TSIZE参数的tftp服务器软件,该软件的下载地址是
    http://www.kernel.org/pub/software/network/tftp/tftp-hpa-0.48.tar.gz,安装方法就是典型的MAKE三步曲法,这里不再详细说明。
    2.7 配置工作站文件系统

    Linux无盘工作站需要有一套相对严整的Linux文件系统,该系统需要存储到该无盘工作站的工作目录下,在本例中即/tftpboot/192.168.1.3目录下。基本的Linux文件系统需要包含bin、usr、home等基本目录,这些目录可以在现有的Linux下复制,也可以取其他文件系统作为模板来生成,这个构造出来的文件系统决定了工作站上使用的Linux的具体版本。
    如果用复制本机的办法生成文件系统,则工作站上的Linux版本与服务器上的会完全一样,这种方法的可操作性非常好,但因为服务器上的文件系统过于庞大,往往使得工作站在用户登录时出现几次短暂的黑屏,影响使用者的心情和整体效果。用复制本机的办法生成文件系统的操作可通过依次执行如下命令来完成:
    cd /tftpboot/192.168.1.3
    cp –a /bin
    cp –a /dev
    mknod dev/nfsroot b 255 0
    chmod 600 dev/nfsroot
    cp –a /etc
    cp –a /home
    cp –a /lib
    rm –rf lib/modules
    cp –a /root
    cp –a /sbin
    cp –a /var
    mkdir proc
    mkdir usr
    mkdir tmp
    chmod 777 tmp
    touch fastboot
    chattr +i fastboot
    如果以其他Linux系统为模板来构造无盘工作站的文件系统,需要在其他机器上安装尽量小的Linux,对其进行文件系统的全拷贝。这种方法配置的工作站上的Linux版本和类型取决于模板Linux系统。这个操作要求配置者对模板Linux系统的特性有比较深入的了解,可操作性不强,但因为构造出的Linux文件系统往往比较小,可以使系统启动相对较快。具体配置过程在此从略,可参照上述过程进行。
    以复制本机文件系统的方法为例,在本例中,工作站上的操作系统是RHAS4,与服务器上的相同,由于该系统不是传统机器上的ext2/3文件系统,所以还需要进行其内部的etc/fstab文件系统表的配置,依次执行如下命令(基于主机c1的例子说明):
    cd /tftpboot/192.168.1.3
    vi etc/fstab 或 gedit etc/fstab
    删除所有不带有“none proc”的行,#注释行可以保留,并在文件最末尾追加一行:
    server:/tftpboot/192.168.1.3    /    nfs    default 1 1
    存盘退出即可。
    上述配置完成后,还需要对特定主机的工作目录进行一些功能上的配置方可使得其正常工作。这些配置属于NFS文件系统访问上的相关配置,可依次执行如下命令来实现:
    cd /tftpboot/192.168.1.3
    vi etc/exports或gedit etc/exports
    使用以下内容覆盖原内容,并保存退出(基于主机c1的例子说明,#表注释)。
    # etc/exports: the access control list for filesystems which may be exported
    # to NFS clients. See exports(5).
    #(设置主机对服务器目录的NFS访问控制,*表示任何主机均可,该行只需书写一次)
    /tftpboot/192.168.1.3      c1(rw,sync,no_root_squash)
    /tftpboot                 *(ro,sync,no_root_squash)
    2.8 其他配置

    服务器上的主机名称配置:仍以c1为例,IP地址为192.168.1.3。在桌面环境下的最顶部依次选择“应用程序”—“系统设置”—“网络”,选择“主机”选项卡,使用“新建”按钮,在弹出的对话框中输入IP地址192.168.1.3,主机名c1.domain,别名c1,保存即可。如果没有安装图形界面,可编辑/etc/hosts,在文件末尾增加相应的条目即可,条目的书写格式可参照该文件中其它行的格式。
    分享到:
    评论

    相关推荐

      论文《无盘工作站\Linux无盘工作站在实验教学中的使用》

      #### 四、构建Linux无盘工作站实验教学系统 构建一个基于Linux的无盘工作站实验教学系统通常涉及以下几个步骤: 1. **搭建服务器**:选择合适的服务器硬件,并安装Linux操作系统。服务器需要有足够的存储空间来...

      论文《基于Linux内核技术的无盘工作站网络系统》

      构建一个由服务器和Linux无盘工作站组成的小型局域网,彼此之间通过双绞线和HUB进行连接。首先需要设置服务器的IP地址和域名,同时确定无盘工作站的地址范围和域名。所有设备都需要安装网卡,并且无盘工作站的网卡...

      基于Linux内核技术的无盘工作站网络系统

      Linux无盘工作站网络系统能够使局域网中的管理工作集中在服务器端,从而简化了Linux操作系统环境的维护工作。 #### 2. Linux无盘工作站网络系统规划与原理 ##### 2.1 网络系统规划 为了构建一个由服务器和Linux无...

      Linux无盘工作站仿真X终端.pdf

      【Linux无盘工作站仿真X终端】技术是一种在Linux操作系统环境下构建的工作站系统,它通过网络连接,使得工作站无需本地硬盘即可运行。这种技术主要用于减少硬件维护成本,提高系统的稳定性及可管理性。以下是对该...

      wind2000无盘工作站的配置

      以及Citrix公司的MetaFrame软件,它们在以Windows 2000为服务器的网络中,实现了对16位/32位Windows有盘/无盘终端、Windows 95/98/NT/2000 Professional以及Linux等操作系统的支持,为无盘工作站技术的持续发展和...

      windowsnt无盘工作站教程

      1. **网络基础知识**:理解TCP/IP协议栈,包括IP地址、子网掩码、网关和DNS设置,以及如何配置网络连接,是构建无盘工作站的基础。 2. **Windows NT架构**:深入理解Windows NT操作系统的工作原理,包括NTFS文件...

      无盘工作站组建学习手册

      无盘工作站组建学习手册主要涉及的是在网络环境中,如何构建一种无需本地硬盘的工作站系统,这种技术常见于网吧等场所,可以有效地节省硬件成本,简化管理,并提高系统的安全性。以下是关于无盘工作站的详细知识点:...

      Linux无盘网络.pdf

      文章以Slackware Linux 3.6为例,详细介绍了如何设置和配置Linux无盘工作站。Slackware Linux是一款历史悠久的Linux发行版,以其稳定性和灵活性著称,适合用于构建服务器环境。 首先,进行无盘网络的准备工作,需要...

      Linux无盘工作站的做法

      Linux无盘工作站是一种节省硬件资源、便于管理的计算环境,其中客户端计算机没有本地硬盘,操作系统和应用程序都通过网络从服务器获取。这种技术依赖于远程启动技术,利用BootP、DHCP和TFTP协议来实现。在Linux环境...

      详解无盘网络的组建!

      无盘网络是一种特殊的局域网络架构,其中的计算机(称为无盘工作站)没有本地硬盘存储系统软件和应用软件,而是通过网络从中央服务器获取所需的操作系统和应用程序。这种设计的主要优势在于能够减少维护成本并简化...

      -linux无盘站-详细安装步骤[汇编].pdf

      在IT领域,构建Linux无盘站是一种节省成本、便于管理和维护的网络架构,尤其适用于教育、企业等环境。本文将详细解析Linux无盘站的安装步骤,帮助读者了解整个过程。 一、服务器操作系统安装 1. 首先,需要使用最新...

      MZD无盘Linux客户端配置

      在Linux环境下配置MZD无盘客户端是一项涉及多个步骤的技术活动,涵盖...配置成功后,Linux客户端将能够通过iSCSI协议访问网络存储,实现无盘启动和运行,这对于需要创建无盘工作站或服务器的企业环境而言是非常有用的。

      pxe无盘网络组建全攻略

      2. 无盘工作站:无盘工作站没有本地硬盘,所有系统运行所需的软件、操作系统都存储在服务器上,通过网络传输到客户端执行。这降低了硬件维护成本,便于集中管理。 3. 网络架构:PXE网络通常包括DHCP服务器、TFTP...

      锐起企业无盘RDV5.0 4803

      锐起企业无盘RDV5.0 4803是一款专为企业级环境设计的无盘网络技术解决方案,主要用于构建高效、稳定、易管理的无盘工作站系统。在这个版本中,锐起公司针对企业的实际需求,优化了系统性能,提升了用户体验,并增强...

      构建miniLinux

      实际上,miniLinux作为一个基础平台,不仅适合嵌入式设备和特殊工作站,还可以通过进一步的优化,转变为一个更为通用的即插即用系统,甚至可以实现无盘运行。无论如何,构建miniLinux的过程都是一次深入理解Linux...

      Linux与分布式环境设备监控系统的构建.pdf

      分布式环境设备监控系统的架构通常包括现场监控服务器、监控工作站和报警工作站。现场监控服务器既是监控主机,负责数据采集和控制,也是服务器,响应监控工作站和报警工作站的服务请求,提供实时或历史数据。这种...

      DRBL在构建Linux教学实验平台中的应用.pdf

      DRBL(Diskless Remote Boot in Linux)是一种基于Linux的无盘工作站解决方案,可以实现计算机实验室的集中管理和远程启动。使用DRBL构建Linux实验平台可以简化实验平台的管理模式,提高实验平台的管理和运行水平。...

      3COM无盘制作工具PXE60

      3COM公司是早期在无盘技术领域颇有建树的一家企业,其推出的PXE(Preboot Execution Environment)60是一款用于构建无盘网络环境的工具,特别适用于企业级网络环境的管理和维护。 PXE是一种基于Internet Protocol ...

      基于Linux的网络计算机服务器的设计与实现 (1).pdf

      类NC基于x终端或无盘工作站,支持Windows终端;真NC利用Java技术,符合NC-1规范,对资源需求较低。 实现Linux上的网络计算机服务器,首先需要满足技术要求。Linux作为广泛应用的操作系统,支持各种嵌入式设备、桌面...

    Global site tag (gtag.js) - Google Analytics