设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
小说专版  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专   题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> Linux专题 >> 企业应用 >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
用Linux/OSS的商机来实现…
如何判断企业是否适合使…
RedHat Linux 2.6内核如…
如何配置Linux系统安全管…
Linux如何能在激烈的竞争…
如何用iptables限制BT、…
如何用iptables实现NAT
如何设定执行 Java 的 L…
关注服务如何成为Linux软…
如何提高Linux系统安全性…
  如何用Linux搭建中学计算机实验室 (1)           
如何用Linux搭建中学计算机实验室 (1)
 

nbsp;   在我国,无论是中学还是大学,绝大部分计算机实验室使用的操作系统都是微软的Windows。这导致了一系列的问题。首先,有些实验室使用的软件没有购买相应的软件许可。其次,随着微软不断升级自己的操作系统,实验室也不得不升级系统,甚至更换硬件。对于预算本来就有限的学校实验室来说,这是一个非常沉重的负担。此外,社会上的用人单位经常抱怨,相当一部分在学校里接受过计算机教育的学生除了点击鼠标,进行一些简单的操作以外,对计算机几乎一无所知。

    如何解决上述问题,加拿大Sisler中学的做法也许可以为我们提供一些有益的经验。Sisler中学采用了Linux终端服务器(Linux Terminal Server)来搭建计算机实验室,进行相关教学。

    Sisler是加拿大Manitoba省最大的中学,该校约有1600名学生,120名教职员工。学校为学生提供了很多不同层次的计算机课程,其中包括计算机程序设计、办公技巧及一些职高科目,比如个人计算机故障检测、网络和高级操作系统知识等。2002年,由于收到来自CAAST(加拿大反软件盗版联盟)的信件,学校不得不花费了5万美元,用于保证学校所使用的软件都具有必须的许可。

    此后,学校决定重新设计计算机实验室。新实验室将不再使用微软的Windows系统,教授的所有内容也都使用开放源码软件来完成。刚开始,实验室使用了一个CPU为Athlon 1GHz、内存为1.5GB的机器作为终端服务器,24台IBM 300PL(CPU为奔腾200MHz)作为工作站,使用的软件是Linux Terminal Server Project 2.1,缺省的桌面管理器是Icewin。该实验室搭建完成后,工作一直非常正常,没有出现过什么问题。

    使用了上述实验室一年之后,学校决定对Linux终端服务器进行升级,花费约4000美元新建了一台配置为两个Xeon CPU(2.4GHz)、4GB内存和两个Ultra 320 SCSI硬盘的服务器。

    Sisler学校计算机实验室的负责人是C T Leung,他也是该实验室的创建者和维护人。他自从上世纪90年代中期就在大学和中学从事Linux教学工作。为了实现不同的目的,他架设过很多Linux服务器,包括Web服务器、Java/C++编程、路由器,以及HA(高可用性)集群和Beowulf集群。

    为什么使用Linux终端服务器

    C T Leung认为,虽然在桌面机上使用Windows有很多优点,但作为老师,至少应该让学生知道除了Windows以外,实际中还有其它的可用方案,并且这种方案赋予了用户自由选择的权力。事实上,就开放源码和Linux而言,最重要的一点就是可以自由地访问它们的源代码,自由地加入到社区中去改进它,自由地重新发行,并且由此开发出更好的软件。

    公立中学经常面临的问题是资金不足,并且考虑到使用的是纳税人的钱,学校有责任有效地利用有限的资金。通过Linux终端服务器,使用那些老旧的瘦终端机完全可达到与使用微软Windows一样的教学效果。建设实验室节省下来的钱,学校可以将其用于其它方面的建设。

    与微软的Windows网络不同,Linux终端服务器实际上是一个中央服务器系统,该系统执行所有来自工作站用户的进程。

    所有工作站或瘦终端都没有硬盘,运行在其上的Linux和X系统都是从服务器上下载的。所有其它的应用程序,比如Netscape和OpenOffice.org则运行在中央服务器之上。安装或升级某一个软件只需在服务器上进行,一旦服务器完成这一过程,网络中所有用户都可以使用到最新的软件版本。比如,当向学生讲授Java编程时,需要安装Java开发工具包(JDK)。一旦在服务器上安装完成,每个人都可以在终端服务器网络中使用该工具进行开发。作为老师,则完全可以通过一个终端对所有学生的活动进行监督。通过运行一个简单的Shell脚本,系统管理员或老师就可以中止某个学生的活动,并使其立即退出登录。整个管理过程无需添加任何额外的硬件。

    对于硬件服务和维护而言,工作站没有硬盘是非常大的优势。这样,在安装好整个Linux终端服务器后,老师不用担心任何一个硬盘会出现问题,而维护学生文件系统的工作也可在服务器上完成。使用一个简单的命令或Shell脚本,老师可以非常轻松地添加或删除文件中任何学生的账号。

    对于那些想要对计算机进行深入学习的学生来说,在Linux/Unix环境中学习显然是一个非常不错的开始,这将为他们进一步的深造打下牢固的基础。

    硬件的选择

    两年前,该学校的Linux终端服务器使用的是一台配置为Athlon 1.2GHz CPU、1.5GB内存和一个IDE 40GB硬盘的服务器。终端使用的则是一些老的奔腾机,主频从133MHz至350MHz不等,内存一般为32MB以上。为了保证网络速度,使用了三个100Mb的24端口交换机。这个系统在有15台终端机同时运行时表现还可以,但当连接的终端数超过15台时,性能就会受到影响。由于学校中有些班级的人数达到30名,所以学校决定构建更加强大的服务器来运行Linux终端服务器网络。

    在谈到CPU的选择时,Leung说:“2003年9月,AMD公司的Opteron 24x系列与Intel公司的Xeon价格相当。但由于Opteron是64位CPU,其价格与32位Xeon相当,如果考虑到向64位平台的升级,那么Opteron更具有吸引力。然而,现在使用的Linux发行版中,只有SuSE支持64位,并且大部分其它应用程序,比如OpenOffice.org,仍然运行于32位平台之上。在最后的测试中,发现Xeon在大多数32位测试中表现要比Opteron好,所以学校最终选择了Xeon。由于采用了超线程技术,让人感觉这个双Xeon CPU的系统的确物超所值。”

    下面是新的Linux终端服务器采用的具体配置:
    ◆ Intel SE7501BR2 Dual Xeon主板(集成有Ultra 320 SCSI);
    ◆ 两个Xeon 2.4 GHz CPU;
    ◆ 4GB DDR内存;
    ◆ 两个36GB Seagate Ultra320硬盘。
    上面的设置再加上一个特殊的电源和服务器机箱,共花费4500美元。

    对于Linux终端项目实验室的建设,MCCS(Manitoba Chapter of Computers for Schools)给予了非常大的支持。实验室得到了36台MCCS免费赠送的IBM 300PL瘦终端机作为客户机,以及一台100Mb Intel 510P 24端口交换机。IBM 300PL内建了显卡、声卡和100Mb网卡。虽然这些旧机器无法运行微软的Windows操作系统,但作为实验室里使用的标准工作站,它们却非常完美。机器内建的网卡支持PXE启动,一些比较老的BIOS需要进行升级,但升级程序可以很方便地从IBM的站点上下载,每台机器的CPU都是固定在主板上的奔腾200MHz。

    因为考虑到要为每个工作站分配100MB的内存,所以Leung为服务器安装了4GB的内存(这是32位处理器可以支持的最大内存数)。很显然,如果有人想创建一个工作站数量超过30的LTSP,就不应使用32位的处理器,而应该使用64位的处理器(比如Opteron)。

    虽然SCSI相对来说比较贵(其价格大约是IDE硬盘的两倍),但是它提供的优越性能正是实验室所需要的。在新的服务器上,所有的工作站(目前是26个)都可以流畅地运行KDE、OpenOffice.org、Web浏览器和其它应用程序。

    使用上述硬件架设起来的实验室,其最终的效果是,一台硬件配置为32MB内存、内建2MB S3显卡和声卡、没有硬盘的工作站,其性能相当于运行Windows的一台配置为2GHz CPU、256MB内存的PC机。

    使用的软件

    Linux终端服务器的软件有很多选择。最简单的办法就是从K-12 Linux项目站点http://www.k12ltsp.org/下载,该站点提供相应的ISO映像文件下载。下载完成后,使用md5sum来检查是否存在错误,然后将其刻录到光盘上。

    如果用户已经有了自己的Linux发行版光盘,可以从Linux Terminal Server Project站点http://www.ltsp.org/只下载终端服务器组件。LTSP是一个通用的Linux终端服务器项目。考虑到各种因素,服务器端所使用的操作系统是Red Hat 8.0。

    配置和定制

    几年以前,Linux的安装还是一件比较困难的事情,最主要的困难就是设备驱动程序的安装、硬盘的分区和TCP/IP设置。现在,大部分Linux发行版,包括基于Red Hat的LTSP都非常容易安装。安装过程中,这些发行版都提供了GUI的图形界面,大部分初学者可以采用缺省选项、自动分区来成功安装Linux。

    本例中交换分区的大小是3GB,/boot分区的大小是250MB,共使用了两个硬盘,其中一个作为镜像硬盘,以备在出现紧急情况时可以保证系统正常运行。通过一个简单的脚本,所有用户的数据每天都会被备份到镜像硬盘上。脚本文件的内容如下,保存位置是/etc/cron.daily:

#!/bin/sh
# to backup /home user data to the 2nd SCSI drive
date
echo Daily backup /home and /etc to 2nd SCSI ...
case `date +%a` in
	Mon)
		echo "No backup on Monday..."
		;;
	Tue)
		cp -a -v /home /backup
		cp -a -v /etc  /backup
		echo "Monday backup completed successfully..."
		;;
	Wed)
		cp -a -v /home /backup
		cp -a -v /etc  /backup
		echo "Tuesday backup completed successfully..."
		;;
	Thu)
		cp -a -v /home /backup
		cp -a -v /etc  /backup
		echo "Wednesday backup completed..."
		;;
	Fri)
		cp -a -v /home /backup
		cp -a -v /etc  /backup
		echo "Thursday backup completed..."
		;;
	Sat)
		cp -a -v /home /backup
		cp -a -v /etc  /backup
		echo "Friday backup completed..."
        ;;
	Sun)
		echo "No backup on Sunday..."
		;;
esac
date

    在dhcpd.conf文件的设置中,实验室使用的IP是192.168.1.253,那是因为192.168.1.254依然还在被老系统所使用。192.168.1.1到192.168.1.20被保留用于其它Linux服务器(如Web服务器、路由器和打印机),因此,动态IP地址的范围为192.168.1.21至192.168.1.252。

    启动选项

    工作站的启动选项由服务器上/etc/X11/xdm目录下的文件来控制。比如更改启动画面,将其改为学校自己的画面(替代K12 LTSP缺省的JPEG图像文件),并且在X系统启动时将欢迎信息换成学校的信息,都可以通过更改/etc/X11/xdm/kdmrc文件来实现。下面是更改后的内容:

# The image to show when LogoArea=Logo. Default is kdelogo.png
LogoPixmap=/opt/ltsp/templates/k12linux/sisler.jpg

#GreetString=K Desktop Environment (%n)
GreetString=Welcome to Sisler Linux/Xeon Terminal Server - Rm 91

    当然更改后还应该将自己的JPEG文件放在服务器上。

    此外,在/etc/X11/xdm/TakeConsole文件中包含了一些用户从工作站退出登录后的清理工作。为了做到这一点,将执行一个脚本/usr/bin/suicide,该脚本将会中止退出登录用户的进程。

[root@xeon2 xdm]# cat TakeConsole 
#!/bin/sh
# Reassign ownership of the console to root, this should disallow
# assignment of console output to any random user's xterm
# $XConsortium: TakeConsole,v 1.2 93/09/28 14:30:29 gildea Exp $
chmod 622 /dev/console
chown root /dev/console
#/usr/X11R6/bin/sessreg -d -w "/var/log/wtmp" -u "/var/run/utmp" \
# -x "/etc/X11/xdm/Xservers" -l $DISPLAY -h "" $USER
exec /usr/bin/suicide
$xmessage -timeout 10 -default okay -center "$0: sessreg failed."
exit 1

[root@xeon2 xdm]# cat /usr/bin/suicide
#!/bin/sh
# Suicide!
if [ $(whoami) != "root" ]
then
	me=$(whoami)
	for i in $(pgrep -u $me)
	do
		kill -9 $i
	done
else
	clear &&  echo no suicide for root!!!
fi

    选择手工备份

    事实上,使用Ultra 320 SCSI端口完全可以连接多达15个硬盘。但是,由于SCSI的价格比较昂贵,实验室的预算只能够购买两个硬盘。在实验室的设计中,第二个硬盘的用途是进行备份。

    在进行备份的过程中,实验室并没有选择RAID1,而是选择了手工备份,这主要是基于性能的考虑。如果使用RAID1,那么每次对硬盘的写操作都会触发镜像硬盘的写操作,而花费更多的时间。因为系统是用于教学目的,系统的用户都是学生,虽然学生的数据也比较重要,但其重要程度毕竟不同于商业数据。所以,与RAID1中每写一次硬盘都要触发另外一次写操作的方法不同,实验室采用的方法是通过一个简单的脚本,将其放在/etc/cron.daily中,通过该脚本将所有用户的数据在上午1点备份到第二个硬盘中。

    额外添加的两个Linux服务器

    为了不使Linux终端服务器负载过重而出现故障,实验室设置了另外两个Linux服务器:一个运行Apache,另一个运行路由器和Squid。在MCCS的支持下,实验室以每个75美元的价格得到了两个非常旧的服务器,其中一个是配置有两个Pentium Pro CPU的戴尔服务器,另外一个是IBM的Netfinity服务器。得到这两个服务器后,实验室为路由服务器装上了512MB内存,通过几个iptables命令,把所有的Web访问都重新路由到Squid服务器上,而无需对学生的工作站进行任何更改。脚本内容如下:

[root@router root]# cat /sbin/transquid.sh
#!/bin/sh
# for basic NAT function + transparent proxy using squid
# add this line to block all ip packets to/from chaos
/sbin/route add -host chaos.wsd1.org reject
IPTABLES="/sbin/iptables"       # iptables binary
INTIF="eth0"                    # internal interface
EXTIF="eth1"                    # external interface
# initialization of chains and rules
$IPTABLES -F
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD
$IPTABLES -F -t nat
$IPTABLES -X    # delete any chains existing
# setting default rules for each flow (in this case, accept everything)
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
# adding masquerading function in

[1] [2] 下一页

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2007-1-2 20:31:12
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:itqoo    责任编辑:itqoo 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持