免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1146 | 回复: 0
打印 上一主题 下一主题

安装Linux无盘工作站 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-10-08 09:54 |只看该作者 |倒序浏览
当年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.80server 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/procprocdefaults0 0
  其余

行全部删除,然后增加一行
  server:/tftpboot/192.168.0.1/nfs defaults1 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)
2、动态主机配置协议
服务器
dpchd
  检查一下
文件
/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,找到下面


  # 40x10eth0802.31
  将该行开头

'#'去掉,再找到
  40x0 *802.31
  在该行开头加上'#'
  制作启动映象
  进入Win95,将Win95(早期

版本,可以用服务器安装方式安装)安装
光盘

admin\nettools\netsetup\rplimage.exe 复制到硬盘,将启动软盘插入软驱,然后在纯MS
Dos
方式下执行 rplimage a: 就会得到启动映象 net$dos.sys,再将启动映象 net$dos.sys 复制到启动盘上(如果启动盘空间不够,可以先删除启动盘上

一些
文件
以留出空间)。
  启动
Linux
服务器,以 root 用户登录,将启动软盘插入软驱,执行下面

命令 mount -t vfat /dev/fd0 /mnt/floppycp /mnt/floppy/net\$dos.sys /var/mars_nwe\sys\login 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-cl
IE
nt,将它们复制到 /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:32764XX XXXX
  这说明交换区设置成功了。
  通过以上步骤,一个完整

Linux 无盘工作站网络就作好了,Linux 无盘工作站

用法很灵活,既可以象使用普通有盘工作站一样使用,还可以把无盘工作站当成别


Unix
主机

终端,特别是可以作为 X 终端,运行远程 Unix 主机上

X 应用。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/46348/showart_396531.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP