原文更新:2003年11月20日
内容简介:这个HOWTO会帮助你使用 gentoo 创建 openMosix 集群

1. 介绍


 

关于本 HOWTO 

       这个 HOWTO 会帮助你建立一个 openMosix 集群。它基于 Gentoo Linux d发布。我有意使文档尽可能的友好,迎合 Linux 新手的需要。当一个有经验的用户可以轻松的把 openMosix,无盘节点和网络方面的 HOWTO 扎在一起的时候,我还在这个 HOWTO 上有各种我希望能够缓解的困难。

注释: 如果你计划使用无盘节点来建立你的 openMosix 集群,你要阅读下面内核部分,来学习如何编译 openMosix 支持的内核,然后阅读我们的 无盘 HOWTO,再回来这里,继续进行实际的内核安装。

关于 openMosix 

       openMosix 是一个Linux内核补丁,允许多个主机充当单系统镜像(SSI)。这使得多个主机看起来像是一个多处理器的大主机。写作本文档的时候,我正在用最新的 openMosix 内核补丁,版本 2.4.20,openMosix 用户工具版本 0.2.4-r4。在 http://openmosix.sourceforge.net 有非常广泛的关于 openMosix 的信息。当我尝试集群不同版本修补过的内核源码时曾有过困难,并且发现补丁并不向后兼容。 当执行a.out或ELF格式二进制,或者重量级进程 fork时, OpenMosix 明确的迁移重量级进程。 它不能迁移多线程的进程,或是使用共享内存的重量级进程。

       要得到更多关于openMosix的信息访问他们的 主页.

关于集群 

       我们的集群由共享运算资源的独立计算机(节点)组成,以增进全部节点的运算能力。并不需要所有节点的构架相同,不过那将会使组建集群的任务更加容易。

开始之前 

       你应当已经在你的主节点上安装了 Gentoo,并且上面有足够的空间存放要host从节点的文件系统。 另外,你应当有 openMosix 内核源码,已经由 Gentoo 方便的补丁过的。

       要得到源码,简单的使用 emerge,键入:

代码 1.1: 获得补丁过的内核源码

# emerge openmosix-sources

2. 配置内核


 

关于内核 

       内核是处在你的硬件和你在机器上加载的所有其他软件之间的软件,本质上说内核是操作系统的基本。当你的计算机启动,BIOS 执行在硬盘引导空间找到的指令。这些指令一般就是加载你内核的引导程序。当你的内核被加载后,所有的进程都将由内核处理(管理)。

       要得到更多内核与内核配置的信息,可以查看这个很有帮助的 HOWTO, http://www.tldp.org/HOWTO/Kernel-HOWTO.html.

配置内核 

       内核可以如你所想的大和定制,但是有一些内核选项不能选。

重要: 像下边这样,把 /usr/src/linux 链接到 openmosix-sources 目录是极其重要的。

代码 2.1: 链接 /usr/src/linux 到 openmosix

# cd /usr/src
# rm linux
# ln -s linux-2.4.22-openmosix linux

       然后进入你的内核配置过程:

代码 2.2: 编辑内核配置

# cd /usr/src/linux
# make menuconfig

       你会见到一个灰头土脸的 GUI,提供一个比手工修改 /usr/src/linux/.config 文件更安全的选择。如果你的内核已经工作良好,你可能要退出 GUI,保存当前的配置文件。键入:

代码 2.3: 备份主节点内核配置

# cp .config .config_working

       在 GUI 中,最顶上的菜单项应当是 openMosix ---。如果不是的话,你需要 emerge 带有 openMosix 补丁的内核源码。 (code listing 1.1)。进入下面的子菜单,确保下列项目选为内建而不是模块。

代码 2.4: Menuconfig options

openMosix --->
    [*] openMosix process migration support
    [ ] Support clusters with a complex network topology
    [*] Stricter security on openMosix ports
    (1) Level of process-identity disclosure (0-3)
    [*] openMosix File-System
    [ ] Poll/Select exceptions on pipes
    [ ] Disable OOM Killer
    [ ] Load Limit

Code maturity level options  --->
    [*] Prompt for development and/or incomplete code/drivers

Networking options --->
    <*> Packet socket
    [ ]   Packet socket: mmapped IO
    < > Netlink device emulation
    [ ] Network packet filtering (replaces ipchains)
    [ ] Socket Filtering
    <*> Unix domain sockets
    [*] TCP/IP networking
    [*]   IP: multicasting

File systems --->
    [*] /proc file system support
    [*] /dev file system support (EXPERIMENTAL)
    [*]   Automatically mount at boot 

注释: 这些内核配置只是应当附加在你的系统特定配置上,而不是完全取代那些选项。

       当你重新配置主节点内核之后,重新编译:

代码 2.5: 重编译内核和模块

# make dep
# make clean bzImage modules modules_install(确保 /boot 在复制前已经加载)
# cp arch/i386/boot/bzImage /boot/bzImage-openmosix

       要为你的新内核增加项目到你的 lilo.conf 或者 grub.conf (取决于你使用哪种启动引导器)并使新内核成为缺省。现在新的 bzImage 已经复制到你的 /boot 目录,你需要做的就是重新启动。

缺少选项 

       如果你的内核配置缺少某些选项,确定你选中了下面的:

3. openMosix 节点的配置


 

安装 openMosix 用户工具 

       为了使集群能够迁移进程,需要安装一些用户方程序。另外,需要启动 openMosix 服务来使一个节点加入集群,并且应用 openMosix 所有能力。要得到这些程序和文件,使用 emerge:

代码 3.1: 安装 openMosix 用户方实用工具

# emerge openmosix-user

配置 openMosix 节点 

       编辑或创建 /etc/openmosix.map 已经不需要了。新版本的用户方实用程序有自动搜索守护进程,可以自动的探测你网络中的所有节点。

       在所有节点上创建 /mfs 目录并且如果你要使用 openMosix 文件系统的话加载它(强烈建议),允许你访问你的所有节点。

代码 3.2: mkdir /mfs

# mkdir /mfs

代码 3.3: /etc/fstab 中的示例项

none                    /mfs            mfs             noauto,dfsa=1          0 0

注释: 不需要所有的节点都运行来使 openMosix 功能正常。

启动 openMosix 

       启动 openMosix 真的很简单。下面的命令会启动你内核中 openMosix 的功能,并启动自动搜索守护进程,保持跟踪所有可用节点。

代码 3.4: 启动 openMosix

# /etc/init.d/openmosix start

4. openMosix 用户方实用工具


 

命令行实用工具 

       openMosix-user 在你的系统上安装了几个有用的工具。介绍几个:

       openmosix 压力测试可以测试如果你集群中的所有都运转的话,在负载下它会怎样表现。这个软件包叫做 openmosixtest:

代码 4.1: Emerge openmosixtest

# emerge openmosixtest

       ebuild 会告诉你如何运行测试。

图形化实用工具 

       要得到你的集群的图形化概观,查看被迁移的进程,你可以使用 openmosixview.

代码 4.2: Emerge openmosixview

# emerge openmosixview

       要运行这个奇妙的应用只需键入 openmosixview:

代码 4.3: 开始 openmosixview

# openmosixview

5. 资源


 

openMosix 

openMosix add-ons (ebuilds 可用) 


本文档内容按照Creative Commons - Attribution / Share Alike协议发布。