Chinaunix首页 | 论坛 | 博客
  • 博客访问: 394592
  • 博文数量: 82
  • 博客积分: 2085
  • 博客等级: 大尉
  • 技术积分: 808
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-10 10:28
文章分类

全部博文(82)

文章存档

2014年(1)

2013年(4)

2012年(2)

2011年(3)

2010年(10)

2009年(36)

2008年(26)

我的朋友

分类: LINUX

2008-11-06 19:46:59

在进行高密度计算的系统中,对计算机的计算能力要求非常高,当然可以采用高性能的计算机来进行处理。但是基于成本考虑,使用高性能计算机需要花费大量的资金;而且,大多数情况下,单个的高性能计算机依然不能满足我们的需求。基于成本和性能方面的原因,我们可以使用MOSIX在Linux系统上,使用普通的PC机创建一个高性能和廉价的集群系统,用来进行高密度的运算处理。

本文将以两个节点为例,说明MOSIX集群的配置方法和使用与管理方法。

  1. 准备工作

    两台内核版本为 2.4 的Linux系统(称为两个节点),并且已经连接到局域网中。建议局域网带宽为100M以上。两个节点的ip地址分别为192.168.100.7和192.168.100.8。

    • 下载MOSIX内核补丁源代码:

      可以到下载最新的内核补丁原代码,本文写作时的最新版本是:MOSIX 1.13.2 kernel patch for Linux 2.4.31(MOSKRN-1.13.2.tar.bz2),下载地址: 。因此,Linux内核也要使用2.4.31的内核。

    • 下载Linux内核原代码:

      下载地址:

    • 下载MOSIX用户工具源代码:

      下载与内核补丁相对应的配置工具包:

  2. 开始安装

    • 给内核打补丁

      mv linux-2.4.31.tar.bz2 /usr/src
      mv MOSKRN-1.13.2.tar.bz2 /usr/src
      mv MOSIX-1.13.2.tar.bz2 /usr/src

      cd /usr/src
      tar -jxvf MOSKRN-1.13.2.tar.bz2
      tar -jxvf linux-2.4.31.tar.bz2

      ln -s linux-2.4.31 linux
      cd linux
      patch -p0 < ../MOSKRN-1.13.2/patches.2.4.31

    • 配置内核:

      make menuconfig

      首先配置您的内核以保证硬件能够正常工作,并加入您所需要的其它功能。完成后,继续转至新的“MOSIX”配置节,它应该是列出的第一个配置目录。接下来配置MOSIX支持的功能:

      [*] MOSIX process migration support
      这个选项正确启用了 MOSIX。它是必需的。

      [ ] Support clusters with a complex network topology
      如果群集上的节点不在一个简单的 LAN 上,或者如果节点中正在使用的网卡的性能特征差别很大,则启用这个选项。如果您在群集中始终使用相似或相同性能的 NIC,并且所有机器都处于相等“距离”(从网络角度看),则应该禁用这个选项以改进性能。

      [ ] MOSIX Kernel Debugger
      MOSIX调试的支持,正式系统上建议不要此项功能。

      [*] Stricter security on MOSIX ports
      对MOSIX通讯端口的安全约束,必须选择。

      (1) Level of process-identity disclosure (0-3)

      [ ] Create the kernel with a "-mosix" extension

      [*] Poll/Select exceptions on pipes

      配置内核的其它选项和功能。

    • 编译和安装内核

      make bzImage

      make modules

      make modules_install

      cp arch/i386/boot/bzImage /boot/

      cp System.map /boot/System.map-2.4.31

      rm -rf /boot/System.map

      ln -s /boot/System.map-2.4.31 /boot/System.map

      启用新内核

  3. 安装配置工具和帮助页面

    • 安装帮助页面

      cd /usr/share/man

      tar -xvf /usr/src/MOSIX-1.13.2/manuals.tar

    • 安装用户工具

      cd /usr/src/MOSIX-1.13.2

      mkdir tools

      cd tools

      tar -xvf ../user.tar

      make

      make install

  4. 配置MOSIX

    • 定义各个节点

      首先,需要创建名为“/etc/mosix.map”的文件,它将描述新群集中的所有节点。当编辑完这个文件时,应该将它逐字复制到每个节点。在整个群集中,所有 /etc/mosix.map 文件都应该相同。

      mosix.map 文件的格式很简单。每一行应该包含一个节点号、节点的 IP 地址或主机名以及一个“span”(通常为 1)。例如,在本案例中使用两台主机做一个2节点群集,这个 mosix.map 文件定义如下:
      1 192.168.100.7 1
      2 192.168.100.8 1

    • 系统启动

      将下面的命令放入/etc/rc.local文件的末尾,使系统启动时自动启动mosix服务:
      /sbin/setpe -W -f /etc/mosix.map
      touch /var/lock/subsys/mosix

      在节点2上同样方法安装Mosix,/etc/mosix.map的内容与节点1完全相同,在节点2上也启动mosix服务。

    • 测试MOSIX

      由于您刚重新引导了所有机器,此时节点上可能没有太多事情发生。因此,让我们执行一些 MOSIX 测试以便查看进程迁移的活动。要完成该操作,我们将在本地系统上创建几个 CPU 密集型的进程,然后观察 MOSIX 将这些进程迁移到运行效率最高的节点。当保持“mon”程序运行时,至少打开两个新的 shell,然后在每个 shell 中运行下列命令:

      awk 'BEGIN {for(i=0;i<10000;i++)for(j=0;j<10000;j++);}'

阅读(1457) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~