免费注册 查看新帖 |

Chinaunix

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

[集群与高可用] 如何架构高性价比的分布式计算机集群(1) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-28 08:19 |只看该作者 |倒序浏览
摘要
    本文是详细记录了作者自己架设、调试、使用集群
服务器
的过程,全文内容翔实,有很高的参考阶值。在此我也代表全体Linux爱好者向他们这一无私奉献的精神表示感谢。
  作者:Motorola Global Infrastructure Solutions Engineering Computing Ding Wei
    摩托罗拉全球基础架构解决方案工程计算部 丁玮
    北京蓝潮志诚网络有限责任公司(提供硬件支持) 杨波
  
    正如你所看到的一样,你的机器在绝大多数时间是空闲的,如果你在
Windows
下用任务管理器或其他的Linux平台的工具(例如top,xload)观察CPU,你会看到CPU的使用率常见在1~2%。事实上,如果你有更多的计算机,这种浪费会加剧,在一个有300台计算机的部门里,CPU的空闲率是惊人的。然而这些部门还是需要强大的
服务器
用来编译或模拟计算,这样的情况还会加剧,不止需要一台,因为随着用户的增加,即使是8个CPU的
服务器
,满负荷时也不能把任务交给另外的空闲
服务器
,因为用户很少会改变习惯去登陆另外一台
服务器
。如果能利用现有的计算资源,把空闲的CPU利用起来,或者能让
服务器
智能的迁移负荷,就是你看下去的理由。
  
    集群的基本单位是单独的计算机,称为节点(node)。其可增长的特性,称为延展性(Scale),也就是向集群中加入计算机。集群没有严格的定义,可以说就是许多利用高速联接的,具有高速运算能力的,具有单一用户界面的计算机组合。这并不是集群的定义,而是表面现象的描述。集群中的节点需要硬件尽可能的一致,不一致的硬件集群称为异构集群,虽然这并不能改变集群的特性,但是异构导致集群会花费额外的时间来处理由于异构带来的延迟,另一方面这也是集群的优势,任何其他的多CPU系统都是严格要求CPU是一致的,集群就有足够的自由度增减节点,不受类型的限制。
  
    本文选择MOSIX作为集群的方案,并使用无盘节点。架构集群并没有想象中那样复杂,参考下面的步骤可以一步步的架构集群,整个的方案并不是很昂贵,而且便于扩展。使用RedHat是因为在中国这是最有权威的版本,不论是初学者还是专业工作者,都可以在RedHat Linux中定制自己的版本。使用终端
服务器
LTSP是因为结构简单,便于快速扩展。使用的硬件是可以改进的,比如使用双CPU的主板和至强处理器,这样单一机柜中处理器就密集到48块CPU,本例中可以使用24块CPU。除了CPU以外,还可以使用千兆网卡或光纤网卡,
交换
机可以使用光纤
交换
机,内存总数可以达到48GB。但是随着硬件的升级,整体价格就会过高,而性能的提升并不是按比例的,因此本例的配置是性价比较好的组合。MOSIX是利用给内核源代码加补丁的办法,增加内核的功能来达到内核级的集群支持,通过编译后的内核启动的系统间类似SMP多处理器的系统,从外面的角度看只有一台有很多处理器的庞大机器,但是内部是用很多机器架构成的。而MOSIX集群的特点是对用户透明,原有的应用程序不需要修改代码即可以在集群中分布计算。
  
    有几种情况是不需要使用集群系统的,使用类似网格计算的脚本就可以完成计算,比如三维动画的渲染,这类计算可以使用不同的节点,不需要对称的硬件,不需要一致的操作系统(需要应用具有支持不同操作系统的版本),只需要按照处理器来分割渲染的任务段,在每个节点上运行相应的任务段,然后合成所有节点的计算结果。因为计算数据是离散的(结果的连续是视觉的连续),因此用类似网格计算的脚本也可以完成。这类计算不需要使用集群也可以完成。
  
    下面本文将告诉你如何准备硬件和软机环境。首先是规划你的计算环境。
  
  硬件环境:
  
    49U标准机柜,安装1U的
交换
机,24台2U机架式机箱。
    1U的24口100MB
交换
机(不是集线器)
    Intel P4 2GHz CPU,1GB DDR,Intel 845D主板,软驱,NVIDIA显卡(能启动X
Windows
就可以),2U机架式机箱,3C905B 10/100MB自适应网卡,网关需要配置光驱,80GB硬盘和双网卡。
    5类线,按照693A压3米网线24根。
    显示器,键盘,鼠标仅在安装时使用。
  
    软件环境和必要的安装包(除特殊说明外,高版本不一定适用):
  
    Redhat 7.2 CD1 和CD2安装光盘 www.redhat.com
    dhcp-3.0.1rc9-1.i386.rpm是支持启动内核调用的DHCP版本www.redhat.com
    dhcpcd-1.3.22pl1-7.i386.rpm是DHCPD守护进程www.redhat.com
    mknbi-1.2-6.noarch.rpm是制作客户端启动内核的必要软件包www.redhat.com
    MOSIX-1.6.0.tar.gz是原始的MOSIX文件,最新的版本是1.7.0 www.mosix.com
    MOSKRN-1.6.0.tar.gz是原始MOSIX内核文件,最新的版本是1.7.0 www.moxis.com
    openmosix-kernel-2.4.18-openmosix2.i386.rpm是MOSIX分支版本的通用内核,最新的版本是2.4.19 www.openmosix.org
    openmosix-kernel-2.4.18-openmosix2.i686.rpm是MOSIX分支版本的新处理器内核,最新的版本是2.4.19 www.openmosix.org
    openmosix-kernel-smp-2.4.18-openmosix2.i686.rpm是MOSIX分支版本的多处理器内核,最新的版本是2.4.19 www.openmosix.org
    openmosix-kernel-2.4.18-openmosix2.src.rpm是MOSIX分支版本的源代码www.openmosix.org
    openmosix-tools-0.2.2-1.i386.rpm是MOSIX分支版本的客户端工具www.openmosix.org
    ltsp_core-3.0-11.i386.rpm是LTSP的核心文件www.ltsp.org
    ltsp_kernel-3.0-3.i386.rpm是LTSP的内核www.ltsp.org
    ltsp_floppyd-3.0.0-2.i386.rpm是LTSP的软盘工具www.ltsp.org
    ltsp_initrd_kit-3.0.1-i386.tgz是LTSP的启动制作工具www.ltsp.org
    
linux
_kernel-2.4.18.tar.gz是需要编译的内核源码www.kernel.org
  
  网络配置环境:
  
    网关对外网卡配置10.193.15.169,子网掩码255.255.255.0给内部网使用,用于登录和提交进程。 网关对内网卡配置192.168.0.254,子网掩码255.255.255.0,网关为10.193.15.169给集群用于DHCP
服务器
,NFS
服务器
,LTSP
服务器

  
    网关对内网卡配置DHCP,分配地址从192.168.0.100到192.168.0.253,子网掩码255.255.255.0,都是C类。
  
    当以上条件都具备时,可以开始架构MOSIX集群。
  
    1.安装所有硬件,并能确保可以从光盘启动网关
服务器
系统,节点可以使用软盘启动,检查BIOS的启动设置,并确认可以正确启动。将所有节点和
交换
机安装到机柜上,用网线连接
交换
机和各节点,网关需要额外的网线连接到局域网,因为可以称集群计算环境为计算场(Computing Farm),因此对应局域网称集群系统的网络为计算网络。连接好电源后,使用两套显示器和键盘鼠标,分别连接一台节点机和网关
服务器

  
    2.安装RedHat 7.2版本在具有两块网卡的网关
服务器
上,分区使用自动分区(比较简单,本文不讨论Linux其他问题),选择定制安装,但不要安装所有的软件包,除缺省的选择外,需要额外选择软件开发和内核开发两组软件包,安装时没有选择的软件包,可以在系统正常启动后参考“如何编译内核”中的软件包来安装。安装到网络配置时,按照网络环境配置IP地址,需要配置DNS的需要修改对外网卡的设置,使用小写mosix为主机名。安装完后需要验证网关
服务器
可以正常启动,按照个人喜好来设定系统,推荐使用文本模式,图形模式资源消耗较大。另外需要连接到RedHat网站升级有缺陷的软件包,减少系统漏洞,注意别把内核也升级了,并不是因为本文的操作,而是内核升级后,系统很可能启动失败,本文将自己编译内核。升级完成后重启,再次确认系统没有任何错误。
  
    3.安装MOSIX包(openmosix的安装是另外的分支)需要很多步骤,注意操作步骤的准确性:
  
    A,将所有
下载
的软件包上载到
服务器
的/usr/src/tmp目录下,确认
下载
的软件包是完整的,确认md5的校验结果一致:
  
    su -
    cd /usr/src/
    makdir tmp
    md5 package_file_name
  
    B,将RedHat 7.2 CD2放入到光驱。参考以下操作确认编译内核需要的软件包已经存在:
  
   mount /dev/cdrom /mnt/cdrom
    cd /mnt/redhat/RPM
    rpm -Uvh kernel-headers*
    rpm -Uvh kernel-source*
    rpm -Uvh kernel-doc*
    rpm -Uvh dev86*
    rpm -Uvh make-*
    rpm -Uvh glibc-devel*
    rpm -Uvh cpp*
    rpm -Uvh ncurses-devel*
    rpm -Uvh binutils*
    rpm -Uvh gcc-2*
    rpm -Uvh tftp*
    cd /usr/src
    umount /mnt/cdrom
  
    C,安装需要的软件包,展开所有的tar.gz软件包:
  
    tar xvfz MOSIX-1.6.0.tar.gz
    tar xvfz MOSKRN-1.6.0.tar.gz
    tar xvfz
linux
-2.4.18.tar.gz
  
    D,如果展开文件没有错误,将各个软件展开目录移到正确的位置:
  
    mv MOSIX-1.6.0 /usr/src/
    mv MOSKRN-1.6.0 /usr/src/
    mv
linux
/usr/src/
linux
-2.4.18
    
    E,为了避免以往MOSIX脚本的错误,需要确认以下步骤:
  
    chmod goa+x /usr/src/MOSIX-1.6.0/inst/add_kernel_to_grub
    mkdir /usr/local/man
  
    F,下面才是真正有趣和让人着迷的步骤,首先要创建编译内核配置文件的目录,这是个好习惯,因为每次的编译配置不一定相同,后面排错也会提到相关的问题:
  
    cd /usr/src
    mkdir config.backup


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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP