当前位置:  技术问答>linux和unix

linux可以建无盘工作站吗,

    来源: 互联网  发布时间:2015-02-06

    本文导语:  我的问题是建无盘工作站,可以用linux做为服务器,下面的工作站装win98吗,哪个地方有资料, | 当年Novell下的无盘DOS工作站很是流行,后来又流行过Win95无盘工作站,只是由于问题多多,后来...

我的问题是建无盘工作站,可以用linux做为服务器,下面的工作站装win98吗,哪个地方有资料,

|
当年Novell下的无盘DOS工作站很是流行,后来又流行过Win95无盘工作站,只是由于问题多多,后来微软自己停止了对无盘Windows的支持。随着Linux的日益流行,使用Linux的人越来越多,其实Linux 对远程引导的支持非常好,Linnx内核自身又支持网络文件系统,因此非常适合做无盘工作站,本文将以一个实例向大家详细介绍无盘Linux工作站的安装办法。

  这个网络是一个小的局域网,有1台服务器和4台 Linux 无盘工作站,彼此之间用双绞线通过HUB连接,服务器的IP地址定为192.168.0.80 ,名字是server ,5台无盘工作站的地址由服务器动态分配,地址范围从 192.168.0.1 到 192.168.0.4 ,名字分别是c1,c2,  c3,c4,服务器和无盘工作站使用的都是NE2000 兼容网卡,无盘工作站使用的网卡上都安  装了BOOTROM 启动芯片,服务器操作系统安装的是 RedHat Linux 6.0 ,安装时选用定制安装,并安装了全部软件。 

  Linux的远程引导有两种方式,一是利用Bootp协议,有一个专门的项目EtherBoot 提供支持(http://www.slug.org.au/etherboot/),这种方式引导 Linux 的速度是最快的,但这种方式有一个最大的问题,就是在市场上找不到支持这种远程引导协议的 BOOTROM 启动  芯片(除非自己刻录),因为市场上几乎所有的 BOOTROM 启动芯片都是遵循NOVELL远程引导  协议的,于是有人提出另外一种方式,就是服务器端用 NetWare 服务器,客户端就可以用现  有的BOOTROM 启动芯片了,说到这里大家一定胡涂了,作Linux无盘工作站岂不是还一台  NetWare 服务器?不是的,因为神通广大的 Linux 可以模拟 NetWare 服务器,就象Samba  可以把 Linux 模拟成 NT 一样,mars_nwe 可以把 Linux 模拟成 NetWare,不仅能提供  NetWare 文件和打印服务,还能提供远程引导支持(知道Linux的厉害了吧),本文讲述的  Linux 无盘工作站就是用这种方式作远程引导的。 

准备启动盘 

  由于在 Linux 下没有制作符合 NetWare 远程引导协议启动映象的工具,所以只能用早期的Win95提供的工具(遗憾)。找一台装有 Win95 的机器启动后按 F8 进入纯DOS方式,格式化一张启动盘 format a: /s ,然后将RedHat Linux安装光盘上 dosutils 目录下的  loadlin.exe复制到启动盘,在启动盘上作一个 autoexec.bat 文件,代码只有一行  loadlin.exe bzImage root=/dev/nfsroot从 Windows 95 安装光盘的 Win95 目录下的cab文件中解出 rplboot.sys 文件放在启动  盘上,命令如下: 

  extract.exe /a /l a: win95-27.cab rplboot.sys 

  一张用来做启动映象的启动盘就作好了,保存好启动盘,以后作启动映象时会用到它。  

编译内核 

  用于无盘工作站的Linux内核与用于从本地硬盘引导的Linux内核是不同的,无盘工作站的内核必须支持NFS作为根文件系统,即远程根文件系统,所以必须编译无盘工作站专用的内核。笔者使用的内核代码版本是2.2.16,将内核源代码解压到/usr/src下,  cd /usr/src/linux 进入内核子目录,执行命令make menuconfig 进行内核编译配置,下列项目必须按要求设置: 

Processor type and features  该项目下面的选项必须根据无盘工作站的CPU类型设置,而不是根据服务器的CPU类型设置 
Loadable module support   该项目下面的所有选项都禁止,即不支持模块功能 
Plug and Play support   设置为有效 
Block devices     该项目下面的 
          Loopback device support 
          Network block device support 
        都设置为有效 
Networking option    该项目下面的 
        kernel level autoconfiguration 
        DHCP support (NEW) 
       都设置为有效 
Network device support   该项目下面的选项必须根据无盘工作站使用的网卡进        行设置,本例中使用的是NE2000兼容网卡,选项 
        Ethernet (10 or 100Mbit) 
        Other ISA cards 
        NE2000/NE1000 support (NEW) 
       都设置为有效 
Filesystems      该项目下面的Network File Systems子项目下面的 
        NFS filesystem support 
        Root file system on NFS (NEW) 
        都设置为有效 

以上设置完成后,退出内核编译设置程序,会出现一个对话框:Do you wish to save your new kernel configuration? 

  然后执行 make dep && make bzImage 进行内核编译,这个过程得花一点时间,特别是如果计算机的速度不快的话,花的时间会更长一些。编译内核如果没有错误,会得到内核映象文件/usr/src/linux/arch/i386/boot/bzImage ,将启动软盘插入计算机,执行下面的命令  mount -t vfat /dev/fd0 /mnt/floopy  cp /usr/src/linux/arch/i386/boot/bzImage /mnt/floppy  umount /dev/fd0 

  好了,启动盘上的文件都准备齐全了,等会儿用它到Win95环境下制作启动映象。



|
应该可以,我没有试过,以前在网上看的资料!

|
服务器设置

  服务器端需要运行nfsd、dhcpd、mars_new等几个服务进程,这些软件在ReHat Linux  发行套件里都有,如果在安装 Linux 的时候选择全部安装,这些软件都会随着安装操作  系统而装好了,下面对这些软件进行设置,注意,下面的操作要以 root 身份进行。 

1、 NFS 守护进程nfsd 

首先要建立几个供无盘工作站使用的目录,并通过nfsd 导出,命令如下: 

mkdir /tftpboot 

然后编辑文件 /etc/hosts ,加入下面的内容 

192.168.0.80 server   server.domain
192.168.0.1  c1    c1.domain 
192.168.0.2  c2    c2.domain 
192.168.0.3  c3    c3.domain 
192.168.0.4  c4    c4.domain 

第一台工作站的工作目录设置方法如下: 

mkdir /tftpboot/192.168.0.1 
cd /tftpboot/192.168.0.1 
c000p -a /bin . 
cp -a /dev . 
mknod dev/nd0 b 43 0 
chmod 600 dev/nd0 
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
cd etc 


|
编辑文件 sysconfig/network-scripts/ifcfg-eth0 

保留其中的 

DEVICE=eth0 
ONBOOT=yes 

其余的行全部删除,然后增加一行 

BOOTPROTO=dhcp 

编辑文件 rc.d/rc.sysinit ,在文件最后加上两行 

mount -t nfs server:/usr /usr
/usr/X11R6/bin/xfs 

编辑文件 fstab 

保留其中的 

none /proc proc defaults  0 0 

其余的行全部删除,然后增加一行 

server:/tftpboot/192.168.0.1 / nfs defaults  1 1 

其它工作站的工作目录设置方法就简单多了 

cd /tftpboot 
cp -a 192.168.0.1 192.168.0.2 
cp -a 192.168.0.1 192.168.0.3 
cp -a 192.168.0.1 192.168.0.4 

编辑文件 /etc/exports ,加入以下内容 

/usr (ro,no_root_squash) 
/tftpboot/192.168.0.1  (rw,no_root_squash) 
/tftpboot/192.168.0.2  (rw,no_root_squash) 
/tftpboot/192.168.0.3  (rw,no_root_squash) 
/tftpboot/192.168.0.4  (rw,no_root_squash) 


|
检查一下文件/etc/dhcpd.leases是否存在,若不存在就用命令touch /etc/dhcpd.leases  创建一个,然后编辑文件 /etc/dhcpd.conf ,加入以下内容 

subnet 192.168.0.0 netmask 255.255.255.0 { 
range 192.168.0.1 192.168.0.4;


3、NetWare 模拟器 marsw_nwe 

编辑文件 /etc/nwserv.conf,找到下面的行 

# 4  0x10 eth0 802.3 1 

将该行开头的'#'去掉,再找到 

4  0x0  *  802.3 1 

在该行开头加上'#' 
制作启动映象 

  进入Win95,将Win95(早期的版本,可以用服务器安装方式安装)安装光盘的adminnettoolsnetsetuprplimage.exe 复制到硬盘,将启动软盘插入软驱,然后在纯MSDOS方式下执行 rplimage a: 就会得到启动映象 net$dos.sys,再将启动映象  net$dos.sys 复制到启动盘上(如果启动盘空间不够,可以先删除启动盘上的一些文件以留出空间)。 

  启动 Linux 服务器,以 root 用户登录,将启动软盘插入软驱,执行下面的命令  mount -t vfat /dev/fd0 /mnt/floppy cp /mnt/floppy/net$dos.sys /var/mars_nwesyslogin  umount /dev/fd0 然后执行 setup ,移动光棒至 System services 选项回车,出现 Services 设置画面,将dhcpd,nfs,mars-nwe 都设为有效,退出 setup 程序,执行以下的命令以启动上述服务进程: 

/etc/rc.d/rc3.d/*mars-nwe restart 
/etc/rc.d/rc3.d/*dhcpd restart
/etc/rc.d/rc3.d/*nfs restart 

  下一次再启动服务器时,上述服务进程会自动执行。

  至此,所有的设置工作全部完成了,联好网络随便打开一台无盘工作站,稍等一下,出现远程引导的信息,接着会启动 Win95,接下来很快就会装载 Linux ,在一大堆  Linux 的启动信息之后如果看到 Linux 的登录提示,就说明远程启动成功了。

  Linux 无盘工作站虽然运转起来了,但还有一个问题,就是交换的问题,因为Linux  是一个支持虚拟存储的操作系统,当机器内存不够时,Linux 就会把内存中暂时不用的数  据换出到交换设备上,等需要时再换回来,刚才我们没有设置交换区,在无盘工作站上用  free 命令就会发现交换区为零,如果无盘工作站内存较大,运行一些不大的程序,没有交换区还是可以的,但若运行大型程序就会出问题,下面介绍在服务器上设置交换区即远  程交换的方法。
 

 对于2.1.101版以前的内核,要实现远程交换可有点费事,得从网络上下载有关的补丁来修改内核代码,然后再编译内核映象。从2.1.101版后的内核支持网络块设备,这样,实现远程交换就容易了。首先编译内核时要使 Network block device support 选项有效(刚才编译内核时就是这么作的),再从http://atrey.karlin.mff.cuni.cz/~pavel/nbd/nbd.html  下载实用程序 nbd.14.tar.gz ,执行下面的命令 

  tar zxvf nbd.14.tar.gz 
  cd nbd 
  ./configure 
  make 

  编译完后会得到文件 nbd-server 和 nbd-client,将它们复制到 /usr/sbin 下面: 

  cp nbd-server nbd-client /usr/sbin 
  然后编辑文件 /etc/rc.d/rc.sysinit,在文件最后加上一行 
  /usr/sbin/nbd-server 7999 /tftpboot/%s/swap > /dev/null & 
  执行刚才的命令激活nbd服务: 
  /usr/sbin/nbd-server 7999 /tftpboot/%s/swap > /dev/null & 

  下一次服务器启动时,上述命令会自动执行。 

  再在服务器上每个工作站目录(/tftpboot/192.168.0.1,/tftpboot/192.168.0.2等等)下为各个无盘工作站建立交换文件,命令如下(本例中交换区大小为32M):

  dd if=/dev/zero of=swap count=32768 bs=1024 
  mkswap swap 

  在每个工作站目录下文件 /etc/rc.d/rc.sysinit 的最后加上两行 

  /usr/sbin/nbd-client server 7999 /dev/nd0 
  swapon /dev/nd0 

就这么简单,再打开无盘工作站试一试启动成功后登录系统,执行命令 free 就会看到在显示信息的最后有这样一行: 

  Swap:  32764  XX  XXXX 
这说明交换区设置成功了。 

  通过以上步骤,一个完整的 Linux 无盘工作站网络就作好了,Linux 无盘工作站的用法很灵活,既可以象使用普通有盘工作站一样使用,还可以把无盘工作站当成别的 Unix 主机的终端,特别是可以作为 X 终端,运行远程 Unix 主机上的 X 应用。

|
gz!

    
 
 

您可能感兴趣的文章:

  • Linux pxe无盘是否一定要安装dhcpd
  • 怎么用LINUX搭建无盘系统
  • linux怎样搭建 无盘工作站 ??
  • 请问如何制作linux下的无盘启动文件?
  • linux 无盘工作站远程启动问题
  • 急救:无盘Linux做到了“booting the kernel...”之后不动了
  • linux工作站登入linux服务器能象win98登入nt那样吗
  • 新问题,linux工作站登录linuxserver
  • red hat linux工作站如何设定屏幕刷新率?
  • 请问用jb7编写的程序是否可以超平台,即在win下写的程序是否可以在linux下运行? iis7站长之家
  • 大家说在sun blade 100工作站上安装Linux的工作站版的操作系统可以么?有什么缺点呢?
  • red hat linux工作站如何显示windows分区的汉字?
  • 如何实现DOS工作站连接到LINUX服务器
  • linux字符界面交易平台工作站锁定
  • 工作站Redhat Linux7.2如何通过NT4.0 proxy代理服务器上网,我不能通过其验证!请高手指点思路和方法!
  • red had linux9.0工作站如何设定才能通过Windows ISA Server上Internet?
  • 从WINDOWS工作站如何访问LINUX工作站上的文件,也就是他们之间如何共享拷贝文件?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • 用linux(服)windows(客)传输文件,windows端可以,linux端不可以,怎么回事???
  • 求redhat linux 9.0下可以使用的oracle 10g或9i,还有redhat linux 9.0下可以使用的eclipse下载地址
  • WINDOWS下可以使用flashget来下载软件,那在linux下用什么工具软件来下载程序呢?哪里有linux平台下的下载工具可以下载?谢谢!
  • linux可不可以和windows共享??可以的话,该怎么做?
  • 可以从硬盘上安装redhat吗?linux可以用ghost备份吗?
  • 为什么我在linux7.1中有些命令有时可以用有时不可以用?
  • 我发现在Redhat Linux中有个选项可以连上MSN,不知怎么才可以连上,谢谢
  • linux如何创建一个共享内存 可以mount 可以创建目录之类 跟硬盘分区一样
  • 弱弱地问,请问从哪里可以下载到新版本常用的linux,可以直接制作成光盘进行安装吗?
  • 在linux下可以使用dao方式连接数据库吗?可以连接musql吗?回答就给分!急
  • linux可以限定访问的IP,可以限定访问的物理地址吗 ?
  • 请问直接把linux光盘里面的内容放到硬盘上面可不可以安装?如果可以的话要用哪一个执行文件安装?
  • Linux中最多同时可以开多少个进程,一个进程可以开多少个线程?
  • 关于大一的计算机系新手学习用虚拟机学习linux大家可以给点意见啊,以前完全没有接触过,可以指点下不
  • 一个想不明白的问题,为什么在windows中可以ping 通域名,但在linux却不可以 ??
  • 请问用jb7编写的程序是否可以超平台,即在win下写的程序是否可以在linux下运行?
  • linux下可不可以运行window下开发的程序啊,有没有什么方法可以办到啊?是用VB开发的!
  • 请问Linux下单个进程带有的线程数目的最大值在哪里可以查到呢,可以修改么?谢谢
  • linux下文件可以看到但不可以使用
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在没有linux的盘,只有DOS启动盘)
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3